读了多年 TeX.SX 之后,我注册了并提出了我的第一个问题 :-))。
我是一名教师,我想留下几乎每页文档后面都有空白页,供我的学生做笔记。我读过相关问题,例如:每页后自动添加空白页或者每页后插入一张图片,但我有两个特殊需求:
- 我想要的“空白”页并不是真正的空白,因为我想要中间有一条垂直线(我是横向格式);
- 我不希望文档第一页之后有这样的“空白”页,因为它只有标题和目录。
到目前为止,我习惯于编译时不使用那些页面,然后使用 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}