Wie erfolgt die Multicol-Aufteilung?

Wie erfolgt die Multicol-Aufteilung?

Zuerst dachte ich, dass es auf die Hälfte der Zeilenanzahl aufgeteilt würde. Dann schrieb ich Code, bei dem die Zeilenanzahl des ersten Teils größer war als die des zweiten Teils, und es wurde genau dort aufgeteilt, wo ich es wollte. Glück gehabt? Ich glaube nicht. Wie funktioniert die multicolAufteilung?

Hier ist der Code, den ich hatte:

 \documentclass{article}
\usepackage{multicol}
\def\tab{\mbox{\quad}}
\begin{document}
\begin{multicols}{2}
\noindent
READER::\\
$P(mutex_3);$\\
$P(r);$\\
$P(mutex_1);$\\
$readcount++;$\\
if(readcount == 1)\\
\tab P(w);\\
$V(mutex_1);$\\
$V(r);$\\
$V(mutex_3);$\\
read the content of object\\
$P(mutex_1);$\\
$readcount--;$\\
if(readcount == 0)\\
\tab V(w);\\
$V(mutex_1);$\\
WRITER::\\
$P(mutex_2);$\\
writecount++;\\
if(writecount == 1)\\
\tab P(r);\\
$V(mutex_2);$\\
P(w);\\
writing object\\
V(w);\\
$P(mutex_2);$\\
writecount--;\\
if(writecount == 0)\\
\tab V(r);\\
$V(mutex_2);$
\end{multicols}
\end{document}

und ich wollte eine Trennung in den READERAbschnitten WRITERund und genau so wurde es gemacht. Warum?

Antwort1

multicolgleicht die Zeilen aus, aber wie immer, wenn \\es am Ende des Absatzes falsch verwendet wird, erstellt TeX eine „komplett weiße“ Zeile und beschwert sich im Protokoll:

Underfull \hbox (badness 10000) in paragraph at lines 6--37

Wenn also multicoldie Spalten ausgeglichen werden, enthält die erste Spalte nureinsZeile mehr als die zweite, die letzte Zeile der zweiten Spalte ist ganz weiß.

Wenn Sie die endgültige löschen, \\bevor die \end{multicols}Warnung im Protokoll geht, aber jetzt sind die Spalten ausgeglichen als

Bildbeschreibung hier eingeben

Hinweis: Kursivschrift sollte nicht für Wörter mit mehreren Buchstaben verwendet werden, da die Schriftart breite Seitenränder hat, die benachbarte Buchstaben wie ein Produkt von Variablen aussehen lassen undnichtein Wort. Also

$readcount--;$\\

sollte sein

$\mathit{readcount}{-}{-};$\\

Obwohl Sie zwischen Mathematik- und Textmodus zu variieren scheinen? Warum ist

 if(readcount == 1)

nicht mathematisch? Warum ist es ähnlich writecount--im Textmodus eingestellt (wo --ist eine Ligatur für einen Halbgeviertstrich), aber readcountim Mathematikmodus mit zwei Minuszeichen?

verwandte Informationen