我试图在带有长音符号的 a 上放置一个环,但我无法正确定位环。它显示得太靠左了,而不是在中心。这是我能做的最好的事情:
\documentclass[fontsize=12pt]{scrartcl}
\usepackage{fontspec}
\setmainfont[SmallCapsFont={Latin Modern Roman Caps},SlantedFont={Latin Modern Roman Slanted}]{Latin Modern Roman}
\newcommand{\myring}{\char"030A}
\newcommand{\ringlonga}{%
\leavevmode\vbox{\offinterlineskip
\ialign{##\cr
\hidewidth\char"030A\hidewidth\cr
\noalign{\kern-1ex}
\char"0101\cr}
}%
}
\begin{document}
\ringlonga
\end{document}
我怎样才能将环向右移动?
答案1
你可以这样做
尽管添加的字距是针对这个字符进行调整的,但它在其他情况下可能也能合理地发挥作用。
\documentclass[fontsize=12pt]{scrartcl}
\usepackage{fontspec}
\setmainfont[SmallCapsFont={Latin Modern Roman Caps},SlantedFont={Latin Modern Roman Slanted}]{Latin Modern Roman}
\newcommand{\myring}{\char"030A}
\newcommand{\ringlonga}{%
\leavevmode\vbox{\offinterlineskip
\ialign{##\cr
\hidewidth\kern.45em\null\char"030A\hidewidth\cr
\noalign{\kern-1ex}
\char"0101\cr}
}%
}
\begin{document}
\ringlonga
\end{document}
这里使用非组合环可能更正确,并且由于它不需要调整,因此可能更普遍地起作用:
\documentclass[fontsize=12pt]{scrartcl}
\usepackage{fontspec}
\setmainfont[SmallCapsFont={Latin Modern Roman Caps},SlantedFont={Latin Modern Roman Slanted}]{Latin Modern Roman}
\newcommand{\myring}{\char"02DA}
\newcommand{\ringlonga}{%
\leavevmode\vbox{\offinterlineskip
\ialign{##\cr
\hidewidth\null\char"02DA\hidewidth\cr
\noalign{\kern-1ex}
\char"0101\cr}
}%
}
\begin{document}
\ringlonga
\end{document}
答案2
如果第一次尝试的垂直分离不可接受,则有两种可能性。
\documentclass[fontsize=12pt]{scrartcl}
\usepackage{stackengine}
\usepackage{fontspec}
\setmainfont[SmallCapsFont={Latin Modern Roman Caps},SlantedFont={Latin Modern Roman Slanted}]{Latin Modern Roman}
\def\rla{\stackengine{5.8pt}{\r a}{\rule{5pt}{.4pt}}{O}{c}{F}{F}{L}}
\begin{document}
\rla
\def\rla{\stackengine{1.4pt}{\=a}{\r{}}{O}{c}{F}{F}{L}}
\rla
\end{document}