Выравнивание столбцов на последней странице для латексного класса IEEEtran?
В документации для класса IEEEtran LaTeX упоминается, что два столбца на последней странице необходимо отрегулировать вручную, чтобы сбалансировать (иметь одинаковую длину).
я вижу это \newpage
позволит мне разбить первый столбец, чтобы остальная часть содержимого была во втором столбце. Это допускает выравнивание на уровне абзацев и выглядит хорошо, но у меня возникают проблемы с выравниванием на уровне строк, то есть разбив столбец по строкам, а не по абзацам.
Когда я вставляю \newpage
в середине абзаца (а не между абзацами) LaTeX эффективно разделяет абзац на две части. Вторая часть переходит в верхнюю часть второго столбца (по желанию), а первая часть остается в первом столбце. С этим я столкнулся с двумя проблемами, и я решил только одну из них.
Первая проблема заключается в том, что частичный абзац в верхней части второго столбца трактуется LaTeX как новый абзац, поэтому он имеет отступ. Я исправил это, добавив \noindent
после \newpage
так что это не с отступом.
Вторая проблема заключается в том, что для частичного абзаца в первом столбце абзац является обоснованным (как и ожидалось), но последняя строка является неровной (без обоснования). Есть ли способ заставить оправдание этой последней строки? В LaTeX есть окружение и команды для отключения выравнивания, но я не могу найти ничего, чтобы полностью оправдать абзац, включая последнюю строку.
4 ответа
Две возможности:
Завершение строки с
\linebreak
заставит линию быть оправданной, независимо от того, насколько она пуста.Чтобы сделать то, что вы пытаетесь сделать, вы можете заменить
\newpage \noindent
с\linebreak \newpage \noindent
, Обратите внимание, что это создаст пустую строку перед концом страницы, что может быть или не быть проблемой. В некоторых случаях это может создать пустую страницу между вашими страницами.Другой вариант будет
\pagebreak
, Он говорит LaTeX начать новую страницу, когда вы доберетесь до конца текущей строки. У вас нет контроля над точным словом, где происходит разрыв страницы.
Как насчет сделать последнюю страницу (столбец) короче, используя
\enlargethispage{-50mm}
а может заставить LaTeX делиться после соответствующей строки? Конечно, количество сокращений должно быть угадано методом проб и ошибок, и угадано после изменения текста. (Просто идея, может быть невозможно реализовать в вашем случае.)
(Публикация для гуглеров, приземляющихся здесь)
Самое быстрое решение это
\usepackage{pbalance}
(Документация пакета на https://ctan.org/pkg/pbalance?lang=de)
В случае, если это не сработает, можно попробовать специальную команду
\IEEEtriggeratref{10}
, который добавляет разрыв столбца перед ссылкой . Заменять
10
по фактическому номеру ссылки. См . документацию IEEEtran , раздел «XIV. Выравнивание столбца последней страницы» для более подробной информации).
Вы можете настроить следующие длины, чтобы LaTeX заполнял последнюю строку абзаца. Поместите это в свою преамбулу:
\newcommand{\filllastline}[1]{
\setlength\leftskip{0pt}
\setlength\rightskip{0pt}
\setlength\parfillskip{0pt}
#1}
Затем в вашем документе сделайте это:
\filllastline{The text for your partial para in 1st col goes here...}
(Для будущих вопросов о LaTeX вы должны написать на https://tex.stackexchange.com/)