我想给文档添加行号。我不能使用 lineno,因为出于某种原因,它无法检测到文档的所有行(我使用了很多数学方程式,这使得行号变得困难)。相反,我尝试使用 vruler,但遇到了一些问题。我想要的是独立地对各部分的行进行编号,并且能够停止在其他部分使用标尺。
例子 :
\documentclass{article}
\usepackage[verbose=true,letterpaper]{geometry}
\newgeometry{
textheight=9.5in,
textwidth=7in,
top=0.5in,
headheight=12pt,
headsep=25pt,
footskip=30pt
}
\usepackage{vruler}
\usepackage{lipsum}
\begin{document}
\section{Test}
\subsection{Test1}
\lipsum[2-4]
\subsection{Test2}
\setvruler[10pt][1][1][4][1][10pt][10pt][0pt][\textheight]
\lipsum[2-10]
\subsection{Test3}
\unsetvruler
\end{document}
此示例不起作用:标尺没有从 Test2 开始并且没有在 Test3 停止。
编辑:lineno 在数学中不能很好地工作,并且我希望能够避免对我使用的每个文件重写所有的和$
。$$
\(
\[
答案1
根据您的定义,标尺覆盖了整个文本高度。vruler 与页面链接。如果您不在新页面上开始新的子节,vruler 将从子节开始的页面的开头开始。Vruler 并非行计数器。手册中对它的描述如下:
制作一个垂直标尺,连续编号,以便可以立即精确定位文章的任何部分。vruler 可以自由上下左右移动。目前还没有正式发布的软件包可以逐行编号一般文本中的行而不会遗漏某些行,特别是当文本中有许多数学公式时。因此,对于编写格式多样或包含大量数学公式的文本的人来说,vruler 是一个很好的选择。
为了至少与行计数器有一点相似,您需要根据字母大小调整第一个参数,但您仍将难以确定标题和方程的高度。“精确定位”的意思是“非常准确或精确地找到或识别”,而不是“计算任何东西”。
答案2
也许这显示了如何操纵 vruler 的使用,但这仍然是手动工作。我更改了高度(第一个参数),在添加了文本的第三部分之前插入了 \clearpage。
\documentclass{article}
\usepackage[verbose=true,letterpaper]{geometry}
\newgeometry{
textheight=9.5in,
textwidth=7in,
top=0.5in,
headheight=12pt,
headsep=25pt,
footskip=30pt
}
\usepackage{vruler}
\usepackage{lipsum}
\begin{document}
\section{Test}
\subsection{Test1}
\lipsum[2-4]
\clearpage
\subsection{Test2}
\setvruler[14pt][1][1][4][0][10pt][10pt][0.1\textheight]
[0.6\textheight]
\lipsum[1-2]
\lipsum[3-5]
\lipsum[6-7]
\lipsum[8-10]
\clearpage
\subsection{Test3}
\unsetvruler
\lipsum[2-10]
\end{document}