Я использую ЛАТЕКС, и я хотел бы иметь вертикальное правило вдоль левой стороны страницы, topmargin к bottommargin, в 0.5 дюймах от левого края страницы. Я хочу это на каждой странице, таким образом, я предполагаю, что означает, что она должна так или иначе быть связана с заголовком или нижним колонтитулом?
Я не сделал успехов вообще, таким образом, я нуждаюсь в помощи с (1) созданием самого правила во всю длину и (2) тем, чтобы заставлять это произойти автоматически на каждой странице документа.
Кто-то может сказать мне, как сделать это?
Я получил рабочий ответ на свой вопрос на форуме Latex Community: http://www.latex-community.org/forum/viewtopic.php?f=5&t=9072&p = 34877 # p34877
В ответе, который я получил, используется пакет 'Background' и этот код:
\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}
Отлично работает, и его легко настроить, поместив одно vrule в область левого поля и одно в область правого поля.
Для этого может быть пакет LaTeX, но я больше люблю TeX, поэтому я попытался придумать решение TeX (не всегда лучшая идея смешивать простой TeX с LaTeX, но я думаю, что он у меня работает).
Попробуйте это. Блок 255 - это регистр блока, в который TeX помещает содержимое страницы перед выводом страницы. Я взял существующую процедуру вывода и изменил ее, чтобы вставить в поле 255: бесконечно сжимаемый, но переполняющийся набор полей с нулевой высотой и нулевой шириной, содержащий правило, которое является высотой страницы, 0,4. pt толщиной и, если повезет, на полдюйма влево. Существующее содержимое поля 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}
. Возможно, это не решит вашу проблему полностью, но, надеюсь, поможет вам начать работу. Вот отличная страница для изучения примитивов TeX и встроенных вещей.
Взгляните на пакет eso-pic
. По памяти, то, что вы хотите, будет выглядеть так:
\AddToShipoutPicture{%
\setlength\unitlength{1in}%
\AtPageUpperLeft{%
\put(0.5,\topmargin){\vrule width .5pt height \textheight}%
}%
}
В вашем вопросе неясно, хотите ли вы, чтобы линия охватывала текстовую область или всю высоту листа. В зависимости от случая вам необходимо заменить \ topmargin
и \ textheight
на правильные значения, либо 0pt
, либо другое значение вашего верхнего поля, либо на \ paperheight
. См. Пакет geometry
, если вы еще не используете его, чтобы узнать, как управлять этими размерами.