info###latexinfo.ru

Как в русском тексте сделать автоматические переносы в английских словах?

В стандартном тексте на русском языке в Latex слова на другом языке не имеют автоматических переносов. Рассмотрим пример такого текста со стандартной преамбулой:

\documentclass[a4paper,12pt]{book}
\usepackage[english, russian]{babel} % подключение english в babel вторым языком все равно не дает автоматические переносы в english
\usepackage[T2A]{fontenc}
...
Обычный текст для примера длины строки в абзаце с~достаточно длинными предложениями, чтобы было несколько строк в абзаце, еще немного текста с длинными словами, можно даже использовать формулы $ x_i = a_i \cdot 3 + 56$, $y_i = 47 + b_i$ и~что-нибудь еще, возможно.

В конце установки поставьте галочку возле пункта 2, нажмите на Configuration. Откроется новая страница.

Результат в PDF выглядит следующим образом:


Рис. 1.

Слово <<Configuration>> вышло за пределы строки и в логе появилось предупреждение: Overfull \hbox (38.96863pt too wide) in paragraph.

Есть несколько способов решения такой проблемы:

  1. Расставить переносы в таких слова вручную с помощью команды \-:

    ...
    В конце установки поставьте галочку возле пункта 2, нажмите на Con\-fi\-gu\-ra\-tion. Откроется новая страница.

    Получается результат с переносом в этом слове:


    Рис. 2.

    Если такие слова редко встречаются в тексте, то этого варианта достаточно.

  2. Если же слова в тексте встречаются постоянно, можно использовать следующий прием: обернуть их в команду \foreignlanguage{english}{слово}. В тексте это будет выглядеть следующим образом:

    ...
    В конце установки поставьте галочку возле пункта 2, нажмите на \foreignlanguage{english}{Configuration}. Откроется новая страница.

    Результат в файле PDF будет выглядеть точно так же, как на рис. 2. Для упрощения использования можно ввести свою команду:

    \newcommand{\engword}[1]{\foreignlanguage{english}{#1}} % добавьте в преамбулу
    ...
    % использование
    В конце установки поставьте галочку возле пункта 2, нажмите на \engword{Configuration}

Таким образом можно избежать переполнений строк, когда в тексте есть слова на иностранном языке, которые автоматически не переносятся.

LaTeX для всех
  • переносы в английских словах
  • переносы в latex в русском тексте иностранных слов
  • решение переносов в английских словах
Находясь на нашем сайте, вы принимаете условия использования файлов cookies. Более подробная информация здесь.