使用以下程式碼:
\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}
第 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
選項 and 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
like\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}