创建“内部”和“外部” parbox

创建“内部”和“外部” parbox

每次出现新页面时,有没有办法自动镜像 parbox?

我有一个\documentclass{book}由两个并排的 组成的\parbox。我希望其中一个\parbox始终保持“外部”,另一个始终保持“内部”。页面应该基本上互相镜像。

在这个例子中,我希望细列始终是内列: 在此处输入图片描述

梅威瑟:

\documentclass{book}

\usepackage{lipsum}

\begin{document}

\noindent
\parbox[t][][t]{.7\linewidth}{\lipsum[1]}\hfill
\parbox[t][][t]{.25\linewidth}{\lipsum[2]}

\noindent
\parbox[t][][t]{.7\linewidth}{\lipsum[8]}\hfill
\parbox[t][][t]{.25\linewidth}{\lipsum[9]}

\end{document}

答案1

这些宏是可选的。它们在这里的唯一作用是,如果空间不足以容纳整个内容,则\parbox强制使用。对齐由 处理。(如果没有 ,则应使用。)\newpage\switchcolumn*\parbox\sloppy

\documentclass{book}
\usepackage{lipsum}
\usepackage{paracol}

\setcolumnwidth{.7\textwidth,.25\textwidth}
\columnsep=.05\textwidth
\twosided[pc]% swap margins and columns

\begin{document}
\begin{paracol}{2}
\noindent\parbox{\columnwidth}{\lipsum[1]}
\switchcolumn
\noindent\parbox{\columnwidth}{\lipsum[2]}
\switchcolumn*
\noindent\parbox{\columnwidth}{\lipsum[8]}
\switchcolumn
\noindent\parbox{\columnwidth}{\lipsum[9]}
\end{paracol}

\end{document}

这是使用 ifoddpage 包的解决方案。它需要运行两次,因为\checkoddpage将页码存储在辅助文件中。\makebox用于在测试之前强制更改页面。

\documentclass{book}
\usepackage{lipsum}
\usepackage{ifoddpage}

\newcommand{\swapboxes}[2]% #1 = wide text, #2 = narrow text
{\noindent\makebox[\textwidth]{\checkoddpage
 \ifoddpageoroneside
   \parbox[t]{.7\textwidth}{#1}\hfill\parbox[t]{.25\textwidth}{#2}%
 \else
   \parbox[t]{.25\textwidth}{#2}\hfill\parbox[t]{.7\textwidth}{#1}%
 \fi}}

\begin{document}

\swapboxes{\lipsum[1]}{\lipsum[2]}

\swapboxes{\lipsum[8]}{\lipsum[9]}

\end{document}

相关内容