我正在尝试创建一个包含两列的页面,其中一页只包含一列,其余页面应该只包含一列。我尝试了这个包multicol
,它解决了我的问题的一部分,即在列之间添加分隔线。为此,我使用
\setlength{\columnseprule}{0.5pt}
\def\columnseprulecolor{\color{orange}}
似乎没有办法用 来更改列宽multicol
。我见过不同的方法,比如使用,minipage
但这会删除我的分隔符。
有什么办法吗?我已经研究了几个小时了,但似乎找不到一种简单易行的方法。
我正在使用latexmk -pdf file.tex
Linux 来创建我的 pdf,不管那个 latex 包叫什么。
\documentclass{article}
\usepackage{multicol}
\setlength{\columnseprule}{0.5pt}
\def\columnseprulecolor{\color{orange}}
\begin{document}
\begin{multicols}{2}
[
\section*{First Section}
Section title, spanning.
]
This is the left column that I want to be 0.3 of \textwidth
\columnbreak
And here is the right column with \textwidth 0.7
\end{multicols}
Something else here. The text should not be multicolumned in this part
\end{document}
答案1
您可以使用该parcolumns
包:
\documentclass{article}
\usepackage{microtype}
\usepackage{parcolumns}
\usepackage{kantlipsum}
\begin{document}
\begin{parcolumns}[colwidths={1=.3\textwidth},rulebetween=true]{2}
\colchunk{% left column
\sloppy
\kant[1]
}
\colchunk{% right column
\kant[2-3]
}
\end{parcolumns}
\end{document}
如果你想要一个彩色规则,你必须修补一个命令
\documentclass{article}
\usepackage{microtype}
\usepackage{parcolumns}
\usepackage{xcolor}
\usepackage{xpatch}
\usepackage{kantlipsum}
\makeatletter
\xpatchcmd{\pc@placeboxes}
{\vrule}{\begingroup\color{orange}\vrule width 1pt\endgroup}
{}{}
\makeatother
\begin{document}
\begin{parcolumns}[colwidths={1=.3\textwidth},rulebetween=true]{2}
\colchunk{% left column
\sloppy
\kant[1]
}
\colchunk{% right column
\kant[2-3]
}
\end{parcolumns}
\end{document}
然而,似乎一个简单的方法minipage
就可以做到:
\documentclass{article}
\usepackage{microtype}
\usepackage{xcolor}
\usepackage{kantlipsum}
\begin{document}
\noindent
\begin{minipage}[t]{\dimexpr.3\textwidth-\tabcolsep-.5pt}
\sloppy
\kant*[1]
\end{minipage}%
\hfill\begingroup\color{orange}\vrule width 1pt\endgroup\hfill
\begin{minipage}[t]{\dimexpr.7\textwidth-\tabcolsep-.5pt}
\kant*[2-3]
\end{minipage}
\end{document}
输出基本相同。