我正在制作一本 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}