如何为所有页面添加边框,同时使用 Parallel 来处理镜像/双语文本?

如何为所有页面添加边框,同时使用 Parallel 来处理镜像/双语文本?

我正在制作一本 A6 书,其中包含镜像双语文本(左页为英文,右页为法文)。为了实现这一点,我在 A5 横向页面上使用了 Babel 和 Parallel:

\documentclass[11pt]{article}
\usepackage[a5paper, landscape]{geometry}
\usepackage[english,french]{babel}
\usepackage{parallel}
% ...
\begin{document}
\begin{Parallel}[c]{0.45\textwidth}{0.45\textwidth}
% ...
\end{Parallel}
\end{document}

生成 PDF 后,我会将所有页面分成两等份,以获得 A6 页面(用于打印)。

一切都好。

然而,我的目标是所有A6页数:

--------    --------
|      |    |      |
|      |    |      |
|      |    |      |
|      |    |      |
|-1-   |    |   -2-|
--------    --------

或者,如果更简单的话,只在全部 A5页数:

--                --
|                  |



|-1-            -2-|
--                --

对于实际的边框,重复的图像会更好,但双线(或类似的东西)也可以起作用。

我不太熟悉 LaTeX,这是我的第一个项目之一。

任何帮助,将不胜感激。

编辑1

帮助提供完整答案的一个例子:

% original packages
\documentclass[11pt]{article}
\usepackage[a5paper, landscape]{geometry}
\usepackage[english,french]{babel}
\usepackage{parallel}

% code taken from the answer
\countdef\pageno=0
\pagestyle{empty}
\expandafter\def\csname @thehead\endcsname{\twoframes\hss}

\def\twoframes{\vbox to0pt{\offinterlineskip \color{red}
   \kern5mm\hbox{\kern-10mm
   % \rlap{\smash{\includegraphics{something}}}%% try to include graphics here
   \oneframe L\kern2mm
   % \global\advance\pageno by1 %% don't use this if you need the same page number  
   \oneframe R}\vss}}
\def\framed#1#2{\vbox{\hrule height#1
   \hbox{\vrule width#1{\kern1pt\vbox{\kern1pt\hbox{#2}\kern1pt}\kern1pt}\vrule width#1}
   \hrule height#1}}
\def\oneframe#1{\vbox{\framed{1pt}{\framed{.4pt}{\vbox to118mm{}\kern80mm}}
   \kern-8mm
   \moveright10mm\hbox to62mm{\color{black}\hfil-- \the\pageno\ --\if#1L\hfill\fi}
}}

% minimal (parallel) content
\begin{document}

\begin{Parallel}[c]{0.45\textwidth}{0.45\textwidth}
\ParallelLText{Some sample text 1}
\ParallelRText{Some sample text 2}

\end{Parallel}

\end{document}

上述代码在构建时会产生以下三个错误:

! Undefined control sequence.\twoframes ->\vbox to0pt{\offinterlineskip \color{red} \kern 5mm\hbox {\ker... l.32 \end{document}
! Undefined control sequence.\oneframe ...m \moveright 10mm\hbox to62mm{\color{black}\hfil -- \the \page...l.32 \end{document}
! Undefined control sequence.\oneframe ...m \moveright 10mm\hbox to62mm{\color{black}\hfil -- \the \page...l.32 \end{document}

编辑2

对于工作示例,xcolor应加载(\usepackage{xcolor}) - 请参阅回答& 评论以获得完整描述。

答案1

我不知道如何将 PDF A5 页面拆分为 A6 页面,但这并不重要。如果您需要在 A6 页面周围添加页码和边框,那么您可以尝试以下代码。

\countdef\pageno=0
\pagestyle{empty}
\expandafter\def\csname @thehead\endcsname{\twoframes\hss}

\def\twoframes{\vbox to0pt{\kern5mm\hbox{\kern-10mm\oneframe \kern2mm
   \global\advance\pageno by1\oneframe}\vss}}
\def\oneframe{\vbox{\hrule\hbox to83mm{\vrule height118mm \hfil\vrule}\hrule
   \kern-8mm
   \moveright10mm\hbox to62mm{\hfil-- \the\pageno\ --\ifodd\pageno\hfill\fi}}}

这里的所有尺寸都仅通过实验猜测,您可以根据您的要求进行调整。

代码将内部 LaTeX 宏重新定义\@thehead\twoframes,该宏将框架和页码绘制为高度为零的 \vbox。当然,您也可以在 \twoframes 宏中包含图形。

编辑下一个版本会打印双红框,正如 OP 在下面的评论中提到的那样。您需要加载\usepackage{xcolor}(或类似的东西),因为\color{red}这里使用了。这里没有解决角落问题。这留作简单的练习(对于那些知道这里使用的 TeX 原语的人来说),因为问题包括要求:边框或者角落,没有两者。

我无法回答应该把\includegraphics宏放在哪里\twoframes,因为我不知道包含的图形应该放在哪里。我插入了一行注释,建议在哪里执行此操作。

现在两页上的页码相同。这是 OP 在评论中提到的另一个要求。

\countdef\pageno=0
\pagestyle{empty}
\expandafter\def\csname @thehead\endcsname{\twoframes\hss}

\def\twoframes{\vbox to0pt{\offinterlineskip \color{red}
   \kern5mm\hbox{\kern-10mm
   % \rlap{\smash{\includegraphics{something}}}%% try to include graphics here
   \oneframe L\kern2mm
   % \global\advance\pageno by1 %% don't use this if you need the same page number  
   \oneframe R}\vss}}
\def\framed#1#2{\vbox{\hrule height#1
   \hbox{\vrule width#1{\kern1pt\vbox{\kern1pt\hbox{#2}\kern1pt}\kern1pt}\vrule width#1}
   \hrule height#1}}
\def\oneframe#1{\vbox{\framed{1pt}{\framed{.4pt}{\vbox to118mm{}\kern80mm}}
   \kern-8mm
   \moveright10mm\hbox to62mm{\color{black}\hfil-- \the\pageno\ --\if#1L\hfill\fi}
}}

答案2

你可以用背景包来做到这一点

\documentclass[11pt]{article}
\usepackage[a5paper, landscape]{geometry}
\usepackage[english,french]{babel}
\usepackage{parallel}
\usepackage[
placement=top,
angle=0,
color=black,
opacity=1,
scale=1,
anchor= below,
position={8cm,1cm}
]{background}
\usepackage{lipsum}
\pagestyle{empty}
\newcount\mt
\begin{document}
\backgroundsetup{contents={%
\begin{tikzpicture}
\mt=\thepage%
\multiply\mt by 2
\node at (16.5cm,-11.5cm) {\the\mt};
\advance\mt by -1
\node at (.5cm,-11.5cm) {\the\mt};
\draw(0,0) rectangle (8cm,-12cm);
\draw(9cm,0) rectangle (17cm,-12cm);
\end{tikzpicture}}}
\begin{Parallel}[c]{0.45\textwidth}{0.45\textwidth}
\ParallelLText{\lipsum[1-10]}
\ParallelRText{\lipsum[1-10]}
\end{Parallel}
\end{document}

相关内容