我正在寻找一个我很确定以前使用过但我记不起来的命令(我确实搜索过它):
我想创建一定长度的(水平)空间,例如使用 创建\phantom{text}
,其中包含一些其他(较短)文本。它应该只是填充替换文本所到达的空白处,即它不需要拉伸来填充整个空间。
我希望我已经充分解释了这一点,因为如果不知道答案的话,提供 MWE 是很困难的......
答案1
您可以将短文本放在零宽度的框中,然后按如下方式放置幻像
\makebox[0pt][l]{short}\phantom{my long text}
\documentclass{article}
\begin{document}
XX\makebox[0pt][l]{short}\phantom{my long text}XX
XXmy long textXX
\end{document}
答案2
有了这些calc
包,你就可以简单地说
\makebox[\widthof{my long text}][l]{short}
个人命令似乎是合适的:
\documentclass{article}
\usepackage{calc}
\newcommand{\textover}[3][l]{%
% #1 is the alignment, default l
% #2 is the text to be printed
% #3 is the text for setting the width
\makebox[\widthof{#3}][#1]{#2}%
}
\begin{document}
XXmy long textXX
XX\textover{short}{my long text}XX
XX\textover[c]{short}{my long text}XX
XX\textover[r]{short}{my long text}XX
XX\textover[s]{s h o r t}{my long text}XX
\end{document}
答案3
如果只是一种用途,我不会费心去定义:
XXmy long textXX
XX\rlap{short}\phantom{my long text}XX
当然,它使用“普通”命令,而不是乳胶。如果您真的愿意,它可以很容易地变成宏,尽管只是针对“简单”的情况。