我可以设法获得罗马字体的行号(如文档中所述),但我想要的是能够在文本的左右两侧对行进行编号,但我希望左侧使用阿拉伯字体,右侧使用罗马字体。有什么办法吗?
我正在使用文档类book
。
答案1
由于这完全是黑客行为,因此这不是一个真正的答案,因此只是一个占位符,因为必须有一个更优雅的解决方案。
定义左数字命令(比如)来打印左数字和右数字。
复制lineno.sty
,调用它lineno2.sty
并将其放在 TeX 可以找到的位置(例如,在当前项目文件夹中)。
在第 1523 行 ( % . . . here are the hooks:
) 后添加:
\def\LineNumberL{\arabic{linenumber}}%
\def\LineNumberR{\roman{linenumber}}%
更改下一行,def
以便\makeLineNumberLeft
将左和右定义结合在一起(或多或少),也就是说,将其从
\def\makeLineNumberLeft{%
\hss\linenumberfont\LineNumber\hskip\linenumbersep}
到
\def\makeLineNumberLeft{%
\makebox[-2em]{\linenumberfont\LineNumberL}\makebox[3em]{}%left side
\linenumberfont\hskip\columnwidth
\hb@xt@\linenumberwidth{\hss\LineNumberR}\hss%right side
}%
在主 TeX 文件中,\usepackage{lineno2}
.
平均能量损失
\documentclass{article}
\usepackage{lineno2}
\usepackage{lipsum}
\begin{document}
\linenumbers
\lipsum[1-15]
\end{document}
答案2
下列的https://tex.stackexchange.com/a/199593,将其添加到你的序言中:
\makeatletter
\def\makeLineNumberLeft{%
\linenumberfont\llap{\hb@xt@\linenumberwidth{\arabic{linenumber}\hss}\hskip\linenumbersep}% left line number
\hskip\columnwidth% skip over column of text
\rlap{\hskip\linenumbersep\hb@xt@\linenumberwidth{\hss\roman{linenumber}}}\hss}% right line number
\leftlinenumbers% Re-issue [left] option
\makeatother