如何将文本分成两列,每列宽度不同?

如何将文本分成两列,每列宽度不同?

我正在制作一份关于我编写的代码的报告。我想将页面分成两列,这样左边是代码,右边是注释、描述性内容非代码) 文本在右侧。

不要希望整个文档都采用这种布局。

我还想有一条垂直线将这两列分开。

对我来说,重要的是我希望代码列比文本列占用更多的空间。例如,代码列宽度应该是文本列宽度的两倍。

我在网上搜索了很长时间,但找不到合适的解决方案。

我尝试了以下方法:

\usepackage{multicol}
\setlength{\columnsep}{1cm}
\setlength{\columnseprule}{1pt}
\def\columnseprulecolor{\color{black}}

\begin{document}

\begin{multicols}{2}
 text..
\end{multicols}

\end{document}

但是它似乎无法找到为每列指定两种不同列宽的方法。让我感到困扰的是,我无法精确地指定哪些文本应该放在哪一列,它只是在到达页面底部时自动将其拆分,这意味着我有时会在右列上看到代码。

有人能帮我解决这个问题吗?我真的非常需要任何解决方案。谢谢!

答案1

minipage如果您不需要分页符(您在问题中没有提到这是一项要求),那么简单的解决方案可能更适合您的情况,否则您可以查看paracolMico 在评论中提到的包。

\documentclass{article}
\usepackage[margin=1.5in,showframe]{geometry}
\usepackage{lipsum}

\begin{document}
\lipsum[1-5]\clearpage

\noindent
\begin{minipage}[t]{0.6\textwidth}
\lipsum*[1-2]
\end{minipage}%
\hfill
\vrule
\hfill
\begin{minipage}[t]{0.3\textwidth}
\lipsum*[1]
\end{minipage}

\clearpage
\lipsum[1-5]

\newpage
\end{document}

这样,您可以在左栏中放置任何您喜欢的内容(在您的情况下为代码),并在右侧放置描述性文本。

相关内容