有没有办法得到一条看起来像“更长的破折号”的自定义长度的水平线?
答案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
---
10pt
5pt
您也可以\varemdash
在类似的上下文中定义:
\newcommand{\varemdash}[1][10pt]{%
\makebox[#1]{\leaders\hbox{---}\hfill\kern0pt}%
}
如果这是您的默认用法。但是,两个短破折号会产生一个长破折号。
有关领导者的更多信息,请参阅想要用重复的字符串填充行。要让一行填充到文本块的末尾(如\hrulefill
),请考虑使用xhfill
包裹。