\columnbreak не работает

\columnbreak не работает

С помощью следующего кода:

\documentclass[a4paper]{report}
\usepackage{multicol}

\begin{document}
\begin{multicols}{2}
\noindent Vediamo un po' di testo a due colonne. Proviamo a cambiar colonna: \columnbreak
\texttt{\textbackslash columnbreak} serve a passare alla colonna successiva, ossia ad inserire un \emph{Column Break}, un'interruzione di colonna, come direbbe Word.
\end{multicols}
\end{document}

Мне нужно получить текст из двух колонок, в одной из которых будет текст до, colonna:а в другой — все остальное. Проблема в том, что я довольно далек от этого:

введите описание изображения здесь

Добавление \\перед \columnbreakили замена \columnbreakна отрицание \penaltyпросто не работает. Так что мне делать, чтобы перейти от \texttt{\textbackslash columnbreak}on к столбцу 2? И почему это \columnbreakполностью игнорируется?

решение1

Этот пример показывает, что\columnbreak являетсяповиновался:

\documentclass[a4paper]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{multicol}

\begin{document}
\begin{multicols}{2}
\noindent Vediamo un po' di testo a due colonne. Proviamo a cambiar colonna: \columnbreak
\texttt{\textbackslash columnbreak} serve a passare alla colonna successiva, ossia a
inserire un \emph{Column Break}, un'interruzione di colonna, come in altri programmi
di scrittura. Chissà che succede ora qui avendo aggiunto testo.
\end{multicols}
\end{document}

введите описание изображения здесь

Давайте попробуем без опции italianи fontenc, чтобы вывод был похож на ваш

\documentclass[a4paper]{report}
\usepackage[utf8]{inputenc}
\usepackage{multicol}

\begin{document}
\begin{multicols}{2}
\noindent Vediamo un po' di testo a due colonne. Proviamo a cambiar colonna: \columnbreak
\texttt{\textbackslash columnbreak} serve a passare alla colonna successiva, ossia a
inserire un \emph{Column Break}, un'interruzione di colonna, come in altri programmi
di scrittura. Chissà che succede ora qui avendo aggiunto testo.
\end{multicols}
\end{document}

введите описание изображения здесь

Когда \columnbreakпоявляется внутри абзаца, соответствующий штраф вставляется после строки, где \columnbreakслучается выпадение. В обоих случаях он попадает в строку, содержащую \texttt{\textbackslash columnbreak}. Изменение ввода на

\noindent Vediamo un po' di testo a due colonne. Proviamo a cambiar colonna:\columnbreak
\ \texttt{\textbackslash columnbreak} serve a passare alla colonna successiva, ossia a
inserire un \emph{Column Break}, un'interruzione di colonna, come in altri programmi
di scrittura. Chissà che succede ora qui avendo aggiunto testo.

штраф прикрепляется к двоеточию, а не к обратной косой черте, и действительно, вывод

введите описание изображения здесь

Однако если вы хотите добавить разрыв столбца сразу после двоеточия, вам следует сделать следующее:

\documentclass[a4paper]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{multicol}

\begin{document}
\begin{multicols}{2}
\noindent Vediamo un po' di testo a due colonne. Proviamo a 
cambiar colonna:\columnbreak\linebreak
\verb|\columnbreak| serve a passare alla colonna successiva, ossia a
inserire un \emph{Column Break}, un'interruzione di colonna, come in altri programmi
di scrittura. Chissà che succede ora qui avendo aggiunto testo.
\end{multicols}
\end{document}

введите описание изображения здесь

решение2

\columnbreakкак \vspaceи \pagebreakт. д., если используется в горизонтальном режиме, вставляет себя в \vadjustузел, который вставит разбиение абзацев TeXпосле того, как текущая строка текста будет разбита на строки. Только после того, как \vadjustсодержимое узла будет интерпретировано в вертикальном режиме, базовый штраф повлияет на разбиение столбцов.

В этом случае узел (просто) помещается в строку с вашим \columnbreakтекстом, поэтому имеет эффектпослеэта строка, с большим количеством текста легче увидеть, что id действительно вызывает разрыв:

введите описание изображения здесь

\documentclass[a4paper]{report}
\usepackage{multicol}

\begin{document}
\begin{multicols}{2}
\noindent Vediamo un po' di testo a due colonne. Proviamo a cambiar colonna: \columnbreak
\texttt{\textbackslash columnbreak} serve a passare alla colonna successiva, ossia ad inserire un \emph{Column Break}, un'interruzione di colonna, come direbbe Word.

zzz

zzz

\end{multicols}
\end{document}

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