嘿,知识守护者,我需要通过堆叠字母和反转版本的 \u{} 来创建特殊符号。问题是像 \u{} 这样的变音符号带有预定义的字符区域(尝试使用 \fbox{\u{}} 来了解我的意思)。当我旋转变音符号时,该区域与行的底部(或顶部)重叠,使其过高,导致连续文本出现间隙。我尝试使用 \adjustbox 剪切此字符区域,但这并非在所有情况下都有效(甚至可能导致变音符号离开该区域)。我如何删除字符区域完全,只留下简单的变音符号?
梅威瑟:
\documentclass[12pt]{scrartcl}
\usepackage{blindtext,fp,stackengine,adjustbox}
\renewcommand\stacktype{L}
\begin{document}
\blindtext
\stackon[-5pt]{u}{\adjustbox{trim=0 10 0 0,scale={1}{-1},fbox}{\u{}}}
\blindtext
\end{document}
附言:是的,我查看了综合 LATEX 符号列表,我无法使用任何建议的字符或其他变音符号。并不是说我没有尝试过……
答案1
如果下面要添加下重音的字母没有降部,这里有一个简单的方法:
\documentclass[12pt]{scrartcl}
\usepackage{graphicx,blindtext}
\newcommand{\rub}[1]{%reversed under breve
\leavevmode
\vphantom{#1y}%
\smash{\ooalign{#1\cr\hidewidth\scalebox{1}[-1]{\raisebox{-1ex}{\u{}}}\hidewidth\cr}}%
}
\begin{document}
{\fboxsep=0pt\fbox{\rub{u}\rub{a}\rub{e}}}
\blindtext
\rub{u}
\blindtext
\end{document}
此版本根据字符是否有下降部,将反向短音符置于上方或下方。
然而,对于倾斜的形状,可能需要进行一些修正。
\documentclass[12pt]{scrartcl}
\usepackage{graphicx}
\makeatletter
\DeclareRobustCommand{\rb}[1]{%reversed breve
\leavevmode\sbox8{#1}%
\ifdim\dp8>\p@
\rb@above
\else
\rb@below
\fi
}
\newcommand\rb@below{%
\vphantom{g\copy8 }%
\smash{\ooalign{\box8\cr\hidewidth\scalebox{1}[-1]{\raisebox{-1ex}{\u{}}}\hidewidth\cr}}%
}
\newcommand\rb@above{%
\vphantom{\u{\copy8}}%
\vbox{\offinterlineskip\ialign{##\cr
\smash{\scalebox{1}[-1]{\raisebox{-1.85ex}{\u{}}}}\cr
\copy8\cr
}}%
}
\begin{document}
{\fboxsep=0pt\fbox{\rb{u}\rb{a}\rb{e}}}
{\fboxsep=0pt\fbox{\rb{g}}}\u{g}
\rb{a}\rb{b}\rb{c}\rb{d}\rb{e}\rb{f}\rb{g}\rb{h}\rb{i}
abcdefghi
\end{document}