
我正在嘗試排版o͘
特點在 LaTeX 中,透過在字母頂部堆疊凸起的句點o
。我所獲得的結果的間距不一致,如下面的螢幕截圖所示:
請注意,該字元後面的空格o͘
比常規字元後面的空格要大o
。
雖然我可以嘗試手動調整間距,但我想要一個更通用的解決方案,該解決方案也不依賴包含特殊o͘
字元的字體。
這是一個 MWE:
\documentclass{article}
\newlength{\templen}
\newlength{\templentwo}
\newcommand{\oo}{%
\settowidth{\templen}{o}%
\settowidth{\templentwo}{.}%
o\hspace{\dimexpr-\templen/2\relax}%
\raisebox{1ex}{.}%
\hspace{\dimexpr-\templentwo\relax}
}
\begin{document}
o\oo o \oo oo \oo\oo o ooo
\end{document}
更新
在提供的答案的幫助下,我得出了以下解決方案。為了將來參考,我包含了整個代碼,顯示了o͘
帶有其他變音符號的字元的排版。
\documentclass{article}
\usepackage{stackengine}
\usepackage{upquote}
\renewcommand{\.}[1]{\stackinset{c}{}{t}{-0.75ex}{\textquotesingle}{#1}}
\newcommand{\OX}{o\DOTABOVERIGHT{o}{0.6}\leavevmode\phantom{o}}
\DeclareRobustCommand{\DOTABOVERIGHT}[2]{%
\kern-\fontcharwd\font`#1% back up
\makebox[0pt][l]{%
\sbox0{\leavevmode\phantom{#1}}%
\raisebox{\ht0}[0pt][0pt]{\kern#2\wd0 .}%
}%
}
\newcommand{\OO}[1]{\stackinset{r}{}{t}{-1.5pt}{.}{#1}}
\begin{document}
So-i goan u siat pat-mih e hoat-to, eng peh-oe-ji lai in-chheh, ho lin cheng-lang khoa\textsuperscript{n} khah khoai bat.
S\OO{\'{o}}-\'{i} g\'{o}an \={u} siat p\.{a}t-mih \^{e} hoat-t\OO{\={o}}, \={e}ng p\.{e}h-\={o}e-j\={i} l\^{a}i \`{i}n-chheh, h\OO{\={o}} l\'{i}n ch\`{e}ng-l\^{a}ng kh\`{o}a\textsuperscript{n} khah kh\`{o}ai bat.
S\'{\OX}-\'{i} g\'{o}an \={u} siat p\.{a}t-mih \^{e} hoat-t\={\OX}, \={e}ng p\.{e}h-\={o}e-j\={i} l\^{a}i \`{i}n-chheh, h\={\OX} l\'{i}n ch\`{e}ng-l\^{a}ng kh\`{o}a\textsuperscript{n} khah kh\`{o}ai bat.
Thai-khong peng-iu, lin-ho. Lin chiah-pa--be? U-eng, toh lai gun chia che--o!
Th\`{a}i-khong p\^{e}ng-i\'{u}, l\'{i}n-h\'{o}. L\'{i}n chi\.{a}h-p\'{a}--b\={e}? \={U}-\^{e}ng, t\.{o}h l\^{a}i g\'{u}n chia ch\={e}--\OO{\^{o}}!
Th\`{a}i-khong p\^{e}ng-i\'{u}, l\'{i}n-h\'{o}. L\'{i}n chi\.{a}h-p\'{a}--b\={e}? \={U}-\^{e}ng, t\.{o}h l\^{a}i g\'{u}n chia ch\={e}--\^{\OX}!
\end{document}
這是排版文字的圖像:
我個人更喜歡該\OX
版本,其中變音符號正確地出現在o͘
.
答案1
如果要保留字母之間的自動字距調整,則需要列印「o」兩次,將它們疊加,但在中間添加一個凸起的點。
\documentclass{article}
\newcommand{\oo}{o\DOTABOVERIGHT{o}{0.6}o}
\DeclareRobustCommand{\DOTABOVERIGHT}[2]{%
\kern-\fontcharwd\font`#1% back up
\makebox[0pt][l]{%
\sbox0{#1}%
\raisebox{\ht0}[0pt][0pt]{\kern#2\wd0 .}%
}%
}
\begin{document}
o\oo o \oo oo \oo\oo o ooo
ooo ooo ooo ooo
\end{document}
此\DOTABOVERIGHT
指令採用兩個參數:應套用點的字母和偏移量(作為字母寬度的分數)。