我想显示 A 和 L 的连字,其中 A 后面跟着 L 的底部“竖线”,以形成连字。本质上,它将像下面这样,但没有 L 的竖线。
(如果这可能的话……!)
\documentclass[a4paper]{article}
\begin{document}
\Huge A\kern-0.3em L
\end{document}
答案1
您可以\clipbox
使用trimclip
包(它是调整框)来切断字母 L 的词干。其语法是
\clipbox{<l> <b> <r> <t>}{<stuff>}
<l>
并且从 的左侧、<b>
底部、<r>
右侧和<t>
顶部进行剪切<stuff>
。剪切掉的部分不是被覆盖,而是被隐藏起来。
不过,这并不是一个完美的解决方案,因为如果 L 的上部比下部宽,那么 L 和下一个字符之间的字距调整将不正确,如下图所示。如果您想避免这种情况,您可能必须提前查看下一个字符或其他内容(或者也许 Lua 可以做到这一点?)。
\documentclass{article}
\usepackage{trimclip}
\DeclareRobustCommand*\AL{A\kern-.035em\clipbox{.26em 0em 0em .25em}{L}}
\begin{document}
\begin{tabular}{ll}
Good: & A\AL A
\\
Comparison: & AA\kern-.295em LA
\\
Bad: & W\AL W
\\
Comparison: & WA\kern-.295em LW
\end{tabular}
\end{document}
由于技术原因,我使用\DeclareRobustCommand
而不是\newcommand
这里)。如果没有它,您将无法在章节标题或索引条目等中使用此命令。
附加物
不占用空格的版本
我更喜欢定义\AL/
而不是\AL
。你可以使用
\protected\def\AL/{A\kern-.035em\clipbox{.26em 0em 0em .25em}{L}}
优点是后面的空格\AL/
不会被吃掉,就像后面的空格一样\AL
,所以你可以写类似的东西,Minim\AL/ \AL/uminium
而不必\
在单词之间插入显式的,也不必在\AL/
和之间添加空格uminium
。如果你忘记了结尾的,你会得到一个错误/
。我不知道是谁想出了这个主意,但可以找到它,例如这里和这里。
我使用\protected
它的原因与\DeclareRobustCommand
上面相同。
字距调整基本正确的版本
正因为我们可以,所以这里有一个版本,它会提前查看下一个字符并删除适当数量的空格。它只在后面的标记\AL/
是实际字母时才有效(而不是例如扩展为一个或产生重音的宏)。
\documentclass{article}
\usepackage{trimclip}
\protected\def\AL/{A\kern-.035em\Lfoot}
\makeatletter %% <- make @ usable in command names
\def\Lfoot{\begingroup\futurelet\Lfoot@nextchar\Lfoot@}
\def\Lfoot@{% %% ^^ \futurelet peeks at next token
\clipbox{.26em 0em 0em .25em}{L}% %% <- clipped L
\ifcat\noexpand\Lfoot@nextchar A% %% <- test if next char is a letter
\sbox0{L\Lfoot@nextchar}% %% <- correct L+next char
\sbox2{{L}{\Lfoot@nextchar}}% %% <- wrong L+next char
\kern\dimexpr\wd0-\wd2 %% <- remove excess width
\fi
\endgroup %% <- limits scope of assignments
}
\makeatletter % <- revert @
\begin{document}
\begin{tabular}{ll}
Good: & A\AL/A \\
Comparison: & AA\kern-.295em LA \\
Also good: & W\AL/W \\
Comparison: & WA\kern-.295em LW\\
Still bad: & W\AL/\^{W}
\end{tabular}
\end{document}
答案2
\documentclass[a4paper]{article}
\usepackage{xcolor}
\newsavebox\LBox
\newsavebox\ABox
\def\AL{\sbox\LBox{L}\sbox\ABox{A}%
\leavevmode\kern\wd\ABox\rlap{L}\rlap{\kern0.05em%
\textcolor{white}{\rule[0.1ex]{0.5\wd\LBox}{1.7ex}}}%
\kern-\wd\ABox\kern0.35em\usebox\ABox\kern\wd\LBox}
\begin{document}
\AL foo
\end{document}