\columnbreak não funciona

\columnbreak não funciona

Com o seguinte código:

\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}

Eu deveria obter um pedaço de texto de duas colunas, com uma coluna contendo o texto até colonna:e a outra contendo o resto. O problema é que estou muito longe disso:

insira a descrição da imagem aqui

Adicionar \\antes \columnbreakou substituir \columnbreakpor um negativo \penaltysimplesmente também não funciona. Então, o que devo fazer para passar \texttt{\textbackslash columnbreak}para a coluna 2? E por que está \columnbreaksendo totalmente ignorado?

Responder1

Este exemplo mostra que\columnbreak éobedeceu:

\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}

insira a descrição da imagem aqui

Vamos tentar sem a italianopção and fontenc, para que a saída seja semelhante à sua

\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}

insira a descrição da imagem aqui

Quando \columnbreakaparece dentro de um parágrafo, a penalidade correspondente é inserida após a linha onde \columnbreakcaia. Em ambos os casos, ele cai na linha que contém \texttt{\textbackslash columnbreak}. Alterando a entrada para ser

\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.

a penalidade é anexada aos dois pontos, em vez da barra invertida e, de fato, a saída é

insira a descrição da imagem aqui

Se você quiser adicionar uma quebra de coluna exatamente após os dois pontos, você deve fazer

\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}

insira a descrição da imagem aqui

Responder2

\columnbreaklike \vspacee \pagebreaketc se usado no modo horizontal se insere em um \vadjustnó que o separador de parágrafo do TeX irá inserirdepois que a linha atual do texto for dividida em linhas. Somente quando o \vadjustconteúdo do nó for interpretado no modo vertical a penalidade subjacente afetará a quebra da coluna.

Neste caso, o nó (apenas) é colocado na linha com o seu \columnbreaktexto, então tem um efeitodepoisnessa linha, é mais fácil ver com mais texto que id força uma quebra:

insira a descrição da imagem aqui

\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}

informação relacionada