
Когда речь идет о человеке, который все еще жив, я указываю год рождения, за которым следует короткое тире, все в скобках, как в 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}