防止破折號和括號之間的換行

防止破折號和括號之間的換行

當提到一個還活著的人時,我會給出出生年份,後面跟著一個破折號,全部放在括號中,就像 Jim Foo (1977--) 中那樣。有時,這會導致破折號和右括號之間發生換行。有什麼辦法可以防止這種情況發生,讓 Jim Foo (1977--) 都在同一條線上嗎?

答案1

正如芭芭拉已經展示的那樣,您應該將其放在 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}

相關內容