当提到仍然健在的人时,我会给出出生年份,后面跟着一个短划线,全部放在括号中,例如 Jim Foo (1977--)。有时这会导致短划线和右括号之间出现换行符。有什么方法可以防止这种情况发生,以便 Jim Foo (1977--) 全部在同一行上?
答案1
正如芭芭拉 (Barbara) 已经展示的那样,你应该把它放在 a 中\mbox
以防止换行。
\mbox
就像内容放在盒子里一样,不易破碎。
如果你想让生活更轻松,你可以创建自己的命令:
\documentclass[12pt]{article}
\newcommand{\alive}[2]{{#1} \mbox{({#2}--)}}
\begin{document}
\alive{Jim Foo}{1977}
\end{document}
答案2
您可以使用\nobreakdash
来自amsmath
。
\documentclass{article}
\usepackage{amsmath}
\textwidth=2.9cm
\begin{document}
\noindent X\dotfill X
Jim Foo (1977\nobreakdash--)
\end{document}
答案3
除了限制整个日期范围之外,还有一些其他可能性,可能更方便,也可能更不方便,这取决于创作要求。
\documentclass{article}
\textwidth=2.9cm
\begin{document}
\noindent X\dotfill X
Jim Foo (1977--)
Jim Foo \mbox{(1977--)}
Jim Foo (1977\mbox{--})
Jim Foo (1977\nobreakdashes--)
\exhyphenpenalty=10000 % global affecting - and --- as well as --
Jim Foo (1977--)
\end{document}