附加物

附加物

我想显示 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}

在此处输入图片描述

相关内容