Lineno 数字左阿拉伯数字右罗马数字,同一行

Lineno 数字左阿拉伯数字右罗马数字,同一行

我可以设法获得罗马字体的行号(如文档中所述),但我想要的是能够在文本的左右两侧对行进行编号,但我希望左侧使用阿拉伯字体,右侧使用罗马字体。有什么办法吗?

我正在使用文档类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

相关内容