自定义长度的水平线,像——

自定义长度的水平线,像——

有没有办法得到一条看起来像“更长的破折号”的自定义长度的水平线?

答案1

我定义了一个\threeemdash用于参考书目的宏。更通用的\xdash版本接受破折号长度作为可选参数。

\documentclass{article}

\newcommand*{\threeemdash}{\rule[0.5ex]{3em}{0.55pt}}

\newcommand*{\xdash}[1][3em]{\rule[0.5ex]{#1}{0.55pt}}

\begin{document}

Some text: \threeemdash

Some text: \xdash

Some text: \xdash[6em]

\end{document}

在此处输入图片描述

答案2

如果您特别想复制短破折号的外观(与典型的水平破折号不同\rule),则可以使用引线。

在此处输入图片描述

\documentclass{article}
\newcommand{\varendash}[1][5pt]{%
  \makebox[#1]{\leaders\hbox{--}\hfill\kern0pt}%
}
\begin{document}
Some text: -- \par
Some text: \varendash \par \medskip

Some text: --- \par
Some text: \varendash[10pt] \par \medskip

Some text: {---}{---}{---}{---}{---} \par
Some text: \varendash[50pt]
\end{document}

上述 MWE 提供了在空格内\varendash[<len>]排版短破折号的方法(默认为)。由于标准短破折号 ( ) 的宽度为,而长破折号 ( ) 的宽度为,因此使用 的倍数效果最佳。--<len>5pt--5pt---10pt5pt

您也可以\varemdash在类似的上下文中定义:

\newcommand{\varemdash}[1][10pt]{%
  \makebox[#1]{\leaders\hbox{---}\hfill\kern0pt}%
}

如果这是您的默认用法。但是,两个短破折号会产生一个长破折号。

有关领导者的更多信息,请参阅想要用重复的字符串填充行。要让一行填充到文本块的末尾(如\hrulefill),请考虑使用xhfill包裹

相关内容