Предотвращение переноса строки между коротким тире и скобкой

Предотвращение переноса строки между коротким тире и скобкой

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

Связанный контент