
Я пытаюсь набрать текст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
Если вы хотите сохранить автоматический кернинг между буквами, вам нужно напечатать «о» дважды, наложив их друг на друга, но добавив в середине выпуклую точку.
\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
принимает два аргумента: букву, к которой должна быть применена точка, и величину смещения (в виде доли от ширины буквы).