一开始我以为它会在行数的一半处进行拆分。然后我写了一些代码,其中第一部分的行数多于第二部分的行数,并且它恰好在我想要的位置进行拆分。我很幸运吗?我不这么认为。如何拆分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
在数学模式下设置有两个减号?