我们有一个字符 \k{A},它看起来像两个字母的合并,如“A”和“c”。我需要一个类似于“L”和“c”合并的字符。
但不想使用已经定义的字符,如 \L 或 \c{L}。那么应该怎么做?
答案1
它不是一个“c”,而是一个奥戈内克(在波兰语中意为“小尾巴”)。
当您加载字体的 T1 编码时,它已经以两种形式提供:位于字符的最右侧或居中。
\documentclass{article}
\usepackage[T1]{fontenc}
\begin{document}
\k{L} \k{A} \k{E}
\textogonekcentered{L}
\end{document}
如果添加\usepackage{lmodern}
,效果就没那么好了,因为 ogonek 无论如何都会几乎居中,但另一方面形状更好了。这对于小写字母“l”来说是不可接受的:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\begin{document}
\k{L} \k{l}
\end{document}
您可以同时获得两全其美的效果:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\makeatletter
\@ifpackageloaded{lmodern}{%
\UndeclareTextCommand{\k}{T1}%
\DeclareTextCommand{\k}{T1}[1]%
{\hmode@bgroup\ooalign{\null#1\crcr\hidewidth\char12\kern-.2ex}\egroup}%
\DeclareTextComposite{\k}{T1}{A}{129}%
\DeclareTextComposite{\k}{T1}{E}{134}%
\DeclareTextComposite{\k}{T1}{a}{161}%
\DeclareTextComposite{\k}{T1}{e}{166}%
\DeclareTextCompositeCommand{\k}{T1}{o}{\textogonekcentered{o}}%
\DeclareTextCompositeCommand{\k}{T1}{O}{\textogonekcentered{O}}%
}{}
\makeatother
\begin{document}
\k{E}
\k{L} \k{l}
\end{document}
答案2
答案3
一个版本:
\documentclass{article}
\newcommand\lowc[1]{%
\sbox0{\tiny c}
#1\kern-\wd0\raisebox{-\ht0}{\usebox0}
}
\begin{document}
\lowc{L} and \lowc{A}
\end{document}
只是为了好玩,您可以通过将定义更改为来添加小写字母的可选参数
\newcommand\lowc[2][c]{%
\sbox0{\tiny #1}
#2\kern-\wd0\raisebox{-\ht0}{\usebox0}
}
然后例如
\lowc[s]{L} and \lowc[$\xi$]{L}