我正在尝试在我的 LaTeX 论文上实现两列“学术风格”论文布局。我知道至少有两种常用方法可以做到这一点,要么调整 \documentclass,要么使用更通用的 multicol 包。我使用的是后者。
最初我只是尝试获取一个我发现有效的模板,它如下:
\documentclass{article}
\usepackage{multicol}
\begin{document}
\begin{multicols*}{2}
\addtolength{\linewidth}{2.5in}
A lot of text here ...
\end{multicols*}
\end{document}
我一直在尝试使用各种参数,例如如上例中给予 \addtolength 的 \linewidth,但它似乎对生成的文档没有任何影响。
列宽如何调整?按照我的方法调整是否正确?
答案1
不要尝试直接调整列宽:multicol
设计用于计算列宽。您应该做的是首先设置一个带有“文本块”的概念页面,该文本块表示如果您只有一列,您将获得的文本。这涉及相当多的潜在长度,建议您使用包geometry
来执行此操作:大多数非排版人员发现最直观的做法是设置边距,并geometry
会让您这样做,然后计算其他长度,而不是强迫您直接这样做。
完成此操作后,由 生成的两列(或三列、四列……)环境multicol
将计算所需的宽度,将可用文本块划分为适当数量的列,并\columnsep
在列之间留出空间(由 定义)。如果需要,您可以单独调整。
例如:
\documentclass{article}
\usepackage[margin={1cm,1cm}]{geometry}
\usepackage{multicol}
\usepackage{lipsum}
\begin{document}
\begin{multicols*}{2}
\lipsum
\end{multicols*}
\end{document}
为您提供宽的文本块和宽的列。
但是如果你改变边距,文本块就会变窄:
\usepackage[margin={5cm,5cm}]{geometry}
你得到窄列
为了完整性,如果您调整这些列之间的间距,\setlength{\columnsep}{2cm}
您可以看到结果:
(请注意,这些设置非常丑陋:它们向您展示了想法,并不旨在作为良好排版的指南!)
答案2
对于使用列,我建议使用 usenix-2e.sty,它可以很容易地使用内置变量来修改文本块
变量应该很容易理解
\setlength{\textheight}{9.25in}
\setlength{\columnsep}{0.25in}
\setlength{\textwidth}{6.75in}
%\setlength{\footheight}{0.0in}
\setlength{\topmargin}{-0.25in}
\setlength{\headheight}{0.0in}
\setlength{\headsep}{0.0in}
\setlength{\evensidemargin}{-0.125in}
\setlength{\oddsidemargin}{-0.125in}