删除预定义字符区域

删除预定义字符区域

嘿,知识守护者,我需要通过堆叠字母和反转版本的 \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}

在此处输入图片描述

答案2

这可处理各种高度和深度的字形。可调整[-1ex]以调整下沉量。

\documentclass[12pt]{scrartcl}
\usepackage{blindtext,stackengine,graphicx}
\newcommand\rb[1]{%
  \setbox0=\hbox{#1}%
  \stackunder[-1ex]{#1}{{\raisebox{\ht0}{\scalebox{-1}{\u{}}}}}%
}
\begin{document}
\blindtext
\rb{u}\rb{L}\rb{g}\rb{t}
\blindtext
\end{document}

在此处输入图片描述

相关内容