采用两列布局,其中一列专用于附加内容

采用两列布局,其中一列专用于附加内容

我正在寻找一种可能略显不寻常的布局,但我在互联网上找不到任何东西。也许是最接近的,但我在寻找更通用的东西。

基本上,我想要的是有一列(较大的)主要用于文本,另一列较小的用于存放图片和注释。我知道,marginnotes但我不确定这是否能满足我的要求。特别是我想要一个较大的列,可以存放大量文本,而不是几个小列(我甚至还没有尝试查看边注如何与分页符交互)

我希望能够使用常规文本中的命令将内容放入另一列,但我还希望能够拥有跨越两列的内容(例如标题或大数字)。

最后,也是不太重要的事情,如果我可以让第二列中的内容靠近正文中的内容,那就太好了(这对于某些内容比其他内容更重要,因此某种“亲和力”设置将是一个加分项)。

任何完整或部分的解决方案或确实相关的方案都会有所帮助。

下面是我想要的图像(即一个主列,侧面有一些内容,例如跨越两列的标题):

所述布局应呈现的图像

答案1

我认为最好的解决方案仍然是使用\marginpar(或者如果您愿意的话,\marginnotemarginnote包中获取。只需将其\marginparwidth放大,然后textwidth相应地缩小。

对于超过全宽的标题,您可以定义一个环境,在更宽的环境中对它们进行排版。

\marginpar下面是一个同时使用和的示例\marginnote。此解决方案假设文档采用单面布局,即边注始终位于右侧。

\documentclass{article}
\usepackage{calc}
\usepackage{lipsum}
\usepackage{graphicx}
\usepackage{marginnote}

\addtolength{\marginparwidth}{3cm}
\addtolength{\textwidth}{-3cm}

\newlength{\fullwidth}
\setlength{\fullwidth}{\textwidth+\marginparwidth+\marginparsep}

% Two different possibilities to define a wide environment.

\newenvironment{widetext}{%
  \par\hsize=\fullwidth \linewidth=\hsize \textwidth=\hsize \columnwidth=\hsize}%
  {\par}

  \newenvironment{wide}
  {\begin{list}{}{\setlength{\leftmargin}{0pt}\setlength{\rightmargin}{-\marginparwidth-\marginparsep}}\item}
  {\end{list}}

\begin{document}
\section{Introduction}
\label{sec:introduction}

Some intro text

\marginnote{\includegraphics[width=\linewidth]{example-image}}
\lipsum[1]
\marginpar{Nam dui ligula, fringilla a, euis- mod sodales, sollicitudin vel, wisi. Morbi auctor lorem non justo. Nam lacus libero, pretium at, lobortis vitae, ultricies et, tel- lus. Donec aliquet, tortor sed ac- cumsan bibendum, erat ligula ali- quet magna, vitae ornare odio me- tus a mi. Morbi ac orci et nisl hendrerit mollis.}
\lipsum[3]
\begin{widetext}
  \bfseries \Large A heading spanning both ``columns'' using the \texttt{widetext} environment. This is some more filler text.
\end{widetext}
\lipsum[4]\marginnote{Some more text in the margin positioned a bit upwards.}[-5\baselineskip]
\newpage
\begin{wide}
  \bfseries \Large Another heading spanning both ``columns''. Now using the \texttt{wide} environment. This is some more text.
\end{wide}
\lipsum
\end{document}

在此处输入图片描述

如果您希望右栏中有可拆分文本,可以使用该parallel包。这里有一个建议,可以让事情变得更容易一些:

\usepackage{parallel}
\newlength{\lefttextwidth}
\setlength{\lefttextwidth}{\textwidth}
\newcommand{\twocols}[2]
{\begin{widetext}
    \begin{Parallel}{\lefttextwidth}{\marginparwidth}%
    \ParallelLText{#1}
    \ParallelRText{#2}
  \end{Parallel}
\end{widetext}}

然后在文档中:

\twocols
    {\lipsum[1]}
    {Some side remark.}
\twocols
    {\textbf{Parallel Left}\lipsum[2]\lipsum[9]}
    {\textbf{Parallel Right}\lipsum[3]}
\twocols
    {\textbf{Parallel Left}\lipsum[4]}
    {\textbf{Parallel Right}\lipsum[5]}

parallel有时混合和边注时右栏部分可能会相互碰撞。在这种情况下插入\twocols{}{}可能会有所帮助。

相关内容