如果我没记错的话,在法语中,使用 LaTeX 排版的破折号---
通常被视为不间断空格。“开头”破折号后面必须有一个不间断空格,而“结尾”破折号前面必须有一个不间断空格。
[french]{babel}
不适用此规则,所以我最终制作了自己的宏:
\newcommand{\ocadr}{\mbox{---~}}
\newcommand{\fcadr}{\mbox{~---}}
有没有更好的方法来确保这些不间断的空间?
编辑:
这是一个证明使用 的合理性的最小例子\mbox
:
\documentclass{minimal}
\begin{document}
\parbox{9cm}{\textsc{
Dieu se sert des epreuves pour nous montrer nos c\oe{}urs,
afin de pouvoir nous purifier et nous faire ensuite entrer
dans le pays de la benediction ---~physiquement et spirituellement.
}}
\end{document}
生成结果:
而\mbox
使用---~
,我得到:
注意:
我保留了,\textsc
因为我知道在给定大小的情况下会产生这种效果\parbox
。
答案1
我看到需要 ,\mbox
因为连字符会插入\discretionary
。但是,如果我是你,我会将空格保留在框外。因此
\newcommand*{\ocadr}{\mbox{---}~}
\newcommand*{\fcadr}{\unskip~---}
使用原语\unskip
来避免任何额外的空间(在任何情况下,打开宏都应该跳过空格)以及\mbox
防止打开材料后的中断似乎是最好的。