我正在尝试使用自定义线条颜色等为文具创建带格线的页面。我目前将类用作memoir
文档类。我想要带格线的纸张。我可以使用
\rule[-0.15em]{\textwidth}{0.5pt}
但我不确定如何对整个文本块进行重复。我正在考虑\loop \repeat
检查文本块中的当前位置,\textheight
但不确定如何获取当前偏移量。这是一个好方法吗?或者有更好的方法吗?
答案1
提出了以下解决方案瓦法·哈利吉在http://qa.parsilatex.com/24180。
\documentclass[a4paper,12pt]{article}
\usepackage{picture,xcolor}
\usepackage{lipsum}
\usepackage{atbegshi}
\AtBeginShipout{%
\AtBeginShipoutUpperLeft{%
{\color{gray}%
\put(\dimexpr 1in+\oddsidemargin,
-\dimexpr 1in+\topmargin+\headheight+\headsep+\topskip)%
{%
\vtop to\dimexpr\vsize+\baselineskip{
\hrule
\leaders\vbox to\baselineskip{\hrule width\hsize\vfill}\vfill
}%
}%
}}%
}
\begin{document}
\lipsum
\end{document}
答案2
好的,我修改了 Vafa 的答案,现在可以正常工作了。这是我的完整解决方案
\documentclass[14pt]{memoir}
\usepackage{lipsum}
\usepackage{picture,xcolor}
\usepackage{atbegshi}
\setlength{\parindent}{0pt}
\title{Journal}
\author{}
\date{}
\begin{document}
\strictpagecheck
\cleartooddpage
\pagestyle{empty}
\maketitle
\cleartooddpage
\AtBeginShipout{%
\AtBeginShipoutUpperLeft{%
{\color{gray}%
\checkoddpage\ifoddpage%
\put(\dimexpr 1in+\oddsidemargin,
-\dimexpr 1in+\topmargin+\headheight+\headsep+\topskip)%
{%
\vtop to\dimexpr\vsize+\baselineskip{
\hrule
\leaders\vbox to\baselineskip{\hrule width\hsize\vfill}\vfill
}}%
\else%
\put(\dimexpr 1in+\evensidemargin,
-\dimexpr 1in+\topmargin+\headheight+\headsep+\topskip)%
{%
\vtop to\dimexpr\vsize+\baselineskip{
\hrule
\leaders\vbox to\baselineskip{\hrule width\hsize\vfill}\vfill
}}%
\fi%
}}%
}
\lipsum[1]
\newpage
\lipsum[2]
\newpage
\lipsum[3]
\newpage
\lipsum[4]
\newpage
\lipsum[5]
\end{document}