如何在每一页(第一页除外)后自动插入 pdf(或图片)?

如何在每一页(第一页除外)后自动插入 pdf(或图片)?

读了多年 TeX.SX 之后,我注册了并提出了我的第一个问题 :-))。

我是一名教师,我想留下几乎每页文档后面都有空白页,供我的学生做笔记。我读过相关问题,例如:每页后自动添加空白页或者每页后插入一张图片,但我有两个特殊需求:

  1. 我想要的“空白”页并不是真正的空白,因为我想要中间有一条垂直线(我是横向格式);
  2. 我不希望文档第一页之后有这样的“空白”页,因为它只有标题和目录。

到目前为止,我习惯于编译时不使用那些页面,然后使用 pdf 实用程序(例如 pdfsam)插入我的“空白”页面,但每次都要花几分钟时间,这让之后纠正一些问题变得很麻烦。我希望能够在编译过程中自动插入页面,但到目前为止我还没能做到这一点——我对 atbegshi 包有点困惑,我想我不太理解其中的一些命令,我​​有权做什么或没有权利做什么。

经过几个小时的努力(和阅读 TeX.SX……),下面是我能够做到的——但我所有水平和垂直居中的尝试都失败了……我想这并不难,但我不知道怎么做。(此外,我无法按照建议使用 xsavebox如何让 tikz 图片出现在文档的每一页上— 当我尝试编译该示例时出现错误...)

如果有人有建议......那就太好了!

本杰明

p.-s.:我使用 paracol 包,我不知道它是否会干扰 atbegshi。

%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode

\documentclass[12pt,a4paper,oneside,landscape,xetex]{book}

\usepackage{fontspec,xunicode,xltxtra}
\usepackage{paracol}
\usepackage{titletoc}
\usepackage{geometry}

\geometry{a4paper,landscape,%
        vmarginratio=1:2, hmarginratio=1:1, %
        body={630pt,450pt},%
        foot=4\baselineskip,%
        %nofoot,
        headheight=22pt%
    }
\setlength\columnsep {70 pt}

\usepackage{atbegshi}
\usepackage{tikz}
\usepackage{kantlipsum}

\begin{document}

\chapter{Logique, ensemble, raisonnements}

\bigskip

\startcontents
\printcontents{}{1}{}
\thispagestyle{empty}

\newpage

\AtBeginShipout{%
  \begingroup
    \let\protect\noexpand
    \AtBeginShipoutOriginalShipout
    \box\AtBeginShipoutBox
    \AtBeginShipoutOriginalShipout
    \hbox{
      \begin{tikzpicture}
  \node [line, fill, minimum width=1pt, minimum height=19cm] (box) {};
      \end{tikzpicture}
    }
  \endgroup
  \AtBeginShipoutDiscard
}


\section{Logique propositionnelle}

\begin{paracol}{2}

\switchcolumn[0]*[\subsection{propositions}]

\kant[1-3]

\switchcolumn[1]

\kant[4-5]

\end{paracol}

\stopcontents

\end{document}

答案1

这是使用 TeX 基元绘制线条的版本:

主要思想:页面的宽度和高度可用\paperwidth, \paperheight。您必须使用这些来使您的框足够大,然后才能用于\vfil/\hfil居中。此外,发货框从坐标 1in/1in 开始,因此如果您想填满整个页面,您必须抵消这种位移。

%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode

\documentclass[12pt,a4paper,oneside,landscape,xetex]{book}

\usepackage{fontspec,xunicode,xltxtra}
\usepackage{paracol}
\usepackage{titletoc}
\usepackage{geometry}

\geometry{a4paper,landscape,%
        vmarginratio=1:2, hmarginratio=1:1, %
        body={630pt,450pt},%
        foot=4\baselineskip,%
        %nofoot,
        headheight=22pt%
    }
\setlength\columnsep {70 pt}

\usepackage{atbegshi}
\usepackage{tikz}
\usepackage{kantlipsum}

\begin{document}

\chapter{Logique, ensemble, raisonnements}

\bigskip

\startcontents
\printcontents{}{1}{}
\thispagestyle{empty}

\newpage

\AtBeginShipout{%
  \begingroup
    \let\protect\noexpand
    \AtBeginShipoutOriginalShipout\box\AtBeginShipoutBox
    \AtBeginShipoutOriginalShipout\vbox{
      \vskip-1in
      \moveleft1in\hbox to\paperwidth{\hfil\vrule width 1pt height\paperheight\hfil}
    }
  \endgroup
  \AtBeginShipoutDiscard
}


\section{Logique propositionnelle}

\begin{paracol}{2}

\switchcolumn[0]*[\subsection{propositions}]

\kant[1-3]

\switchcolumn[1]

\kant[4-5]

\end{paracol}

\stopcontents

\end{document}

在此处输入图片描述

相关内容