我正在寻找制作短破折号的方向变体。“左短破折号”的右侧应有普通单词间距的一半,并且只允许在左侧换行;“右短破折号”的左侧应有普通单词间距的一半,并且只允许在右侧换行。这旨在帮助直观地解析括号中的短语:“在这里 - 就像在他的其他作品中一样 - 作曲家提到了意大利民间舞蹈。”
定义此类命令的最佳方法是什么?让我们给它们命名\ldash
和\rdash
。
答案1
您可以使用
\newcommand{\ldash}{--\nobreak\,\nobreak\ignorespaces}
\newcommand{\rdash}{\unskip\nobreak\,\nobreak--}
\nobreak
插入一个大的\penalty
,不鼓励(而不是避免)在该位置换行或分页。 会在两侧留出一小段空白\,
,而\unskip
和\ignorespaces
会删除单词之间自然插入的空白。