我正在寻找一种可能略显不寻常的布局,但我在互联网上找不到任何东西。也许这是最接近的,但我在寻找更通用的东西。
基本上,我想要的是有一列(较大的)主要用于文本,另一列较小的用于存放图片和注释。我知道,marginnotes
但我不确定这是否能满足我的要求。特别是我想要一个较大的列,可以存放大量文本,而不是几个小列(我甚至还没有尝试查看边注如何与分页符交互)
我希望能够使用常规文本中的命令将内容放入另一列,但我还希望能够拥有跨越两列的内容(例如标题或大数字)。
最后,也是不太重要的事情,如果我可以让第二列中的内容靠近正文中的内容,那就太好了(这对于某些内容比其他内容更重要,因此某种“亲和力”设置将是一个加分项)。
任何完整或部分的解决方案或确实相关的方案都会有所帮助。
下面是我想要的图像(即一个主列,侧面有一些内容,例如跨越两列的标题):
答案1
我认为最好的解决方案仍然是使用\marginpar
(或者如果您愿意的话,\marginnote
从marginnote
包中获取。只需将其\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{}{}
可能会有所帮助。