仅更改一页上的列宽

仅更改一页上的列宽

我正在尝试创建一个包含两列的页面,其中一页只包含一列,其余页面应该只包含一列。我尝试了这个包multicol,它解决了我的问题的一部分,即在列之间添加分隔线。为此,我使用

\setlength{\columnseprule}{0.5pt}
\def\columnseprulecolor{\color{orange}}

似乎没有办法用 来更改列宽multicol。我见过不同的方法,比如使用,minipage但这会删除我的分隔符。

有什么办法吗?我已经研究了几个小时了,但似乎找不到一种简单易行的方法。

我正在使用latexmk -pdf file.texLinux 来创建我的 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}

输出基本相同。

相关内容