Как запретить LaTeX переносить слова, содержащие тире? - PullRequest
5 голосов
/ 04 января 2011

Я бы хотел, чтобы LaTeX глобально запретил перенос слов 'Objective-C'.Мне известна команда \ hyphenation, но я не понимаю, как ее использовать.Если я передам 'Objective-C' этой команде, тире будет рассматриваться как подсказка для дефисации слова там.

Одно решение, которое я нашел, - это упаковывать Objective-C в mbox каждый раз, когда я его использую.Тем не менее, документ, который я пишу, часто содержит это имя, и каждый раз оборачивать его в mbox ужасно (как, например, определение команды и повторное использование ее в исходном коде).

Буду рад любым предложениям!

Best, JP

Ответы [ 3 ]

8 голосов
/ 04 января 2011

Почему определение новой команды некрасиво? Это то, как \ LaTeX \ определяет себя.

\def\ObjectiveC{\mbox{Objective-C}}
2 голосов
/ 04 января 2011

Используйте \nobreakdash. Вот что выдает LyX, когда я вставляю неразрывную черту и преобразую ее в текст.

2 голосов
/ 04 января 2011

Как предложено здесь , вы можете определить команду следующим образом:

 \newcommand\dash{\nobreakdash-\hspace{0pt}}

и использовать ее следующим образом

Consider the $n$\dash dimensional manifold ... 

Также вы можете использовать командуbabel упакуйте и используйте "~ в качестве защищенного дефиса.Я не уверен, что при написании на английском языке рекомендуется использовать babel.

...