LaTeX:如何在每个页面上制作一个全页垂直规则?

时间:2010-06-06 22:47:37

标签: graphics layout latex

我正在使用LaTeX,我希望在页面左侧有一个垂直规则,topmargin到bottommargin,距离页面左边缘0.5in。我想在每个页面上都这样,所以我认为这意味着它必须以某种方式绑定到页眉或页脚?

我根本没有取得任何进展,所以我需要帮助(1)制作全长规则本身,以及(2)在文档的每一页上自动发生。

有人可以告诉我该怎么做吗?

3 个答案:

答案 0 :(得分:8)

我在Latex社区论坛上找到了我的问题的工作答案:http://www.latex-community.org/forum/viewtopic.php?f=5&t=9072&p=34877#p34877

我得到的答案使用'背景'包和这段代码:

\documentclass{article}
\usepackage{background}
\usepackage{lipsum}% just to generate filler text for the example

\SetBgScale{1}
\SetBgAngle{0}
\SetBgColor{black}
\SetBgContents{\rule{.4pt}{\paperheight}}
\SetBgHshift{-9cm}

\begin{document}

\lipsum[1-90]

\end{document}

效果很好,很容易调整,将一个套圈放在左边距区域,一个放在右边距区域。

答案 1 :(得分:2)

可能有一个LaTeX包为你做这个,但我更像是一个TeX人,所以我试图想出一个TeX解决方案(并不总是最好的想法将普通TeX与LaTeX混合,但我认为我有它的工作)。

试试这个。框255是TeX在页面输出之前将页面内容放入的框寄存器。我所做的是采用现有的输出例程,并将其更改为插入框255:0高度,0宽度无限可收缩但溢出的方框,其中包含一个规则,即页面的高度,0.4厚厚的,运气好,距离左边半英寸。然后在该规则之后添加框255的现有内容。然后我调用上一个输出例程,该例程输出页面(现在包括规则),以及页眉和页脚。

\newtoks\oldoutput
\oldoutput=\expandafter{\the\output}%
\output{%
    \setbox255\vbox to 0pt{%
        \hbox to 0pt{%
            \vsize\ht255%
            \vbox to \ht255{%
                \vss
                \hbox to -0.5in{%
                    \hss
                    \vrule height \ht255 width 0.4pt%
                }%
            }\hss
        }\vss
        \box255%
    }%
    \the\oldoutput
}%

将它放在\begin{document}命令之前。这可能无法完全解决您的问题,但希望它能让您开始。 Here's是了解TeX原语和内置事物的绝佳页面。

答案 2 :(得分:1)

查看eso-pic包。从记忆中,你想要的是这样的:

\AddToShipoutPicture{%
    \setlength\unitlength{1in}%
    \AtPageUpperLeft{%
        \put(0.5,\topmargin){\vrule width .5pt height \textheight}%
    }%
}

在您的问题中,您是否希望线条跨越文本区域或整个纸张高度并不清楚。根据具体情况,您必须将\topmargin\textheight替换为正确的值,0pt或任何您的上边距,或\paperheight。如果您还没有使用它来了解如何控制这些尺寸,请参阅geometry包。