Сначала я думал, что он разделится на половину числа строк. Затем я написал код, в котором число строк первой части было больше, чем число строк второй части, и он разделился именно там, где я хотел. Повезло мне? Я так не думаю. Как разделяются multicol
?
Вот код, который у меня был:
\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}
и я хотел, чтобы было разделение на READER
и WRITER
разделы и вот как именно это было сделано. Почему?
решение1
multicol
балансирует строки, но, как всегда бывает, если \\
неправильно использовать его в конце абзаца, TeX создает «полностью белую» строку и жалуется в журнале:
Underfull \hbox (badness 10000) in paragraph at lines 6--37
Итак, когда multicol
балансирует столбцы, первый столбец имеет толькоодинстрока больше второй, последняя строка второго столбца полностью белая.
Если удалить финал \\
перед тем, как \end{multicols}
предупреждение в журнале уйдет, но теперь столбцы сбалансированы как
Примечание, не связанное с этой математикой: курсив никогда не следует использовать для многобуквенных слов; шрифт имеет широкие боковые выступы, чтобы соседние буквы выглядели как произведение переменных инетслово. Так что
$readcount--;$\\
должно быть
$\mathit{readcount}{-}{-};$\\
Хотя вы, кажется, переключаетесь между математическим и текстовым режимами? Почему
if(readcount == 1)
не математика? Аналогично, почему writecount--
установлено в текстовом режиме (где --
лигатура для n-тире), а readcount
в математическом режиме установлено с двумя знаками минус?