
Я могу сделать так, чтобы строки были пронумерованы римскими буквами (как это объясняется в документации), но мне хочется, чтобы строки были пронумерованы с обеих сторон текста, слева и справа, но я бы хотел, чтобы слева были арабские буквы, а справа — римские. Можно ли это как-то сделать?
Я использую класс документа book
.
решение1
Неверный ответ, потому что это полный хак, поэтому просто заглушка, потому что должно быть более элегантное решение.
Определите команду левого числа (например), чтобы напечатать как левое, так и правое число.
Создайте копию lineno.sty
, вызовите ее lineno2.sty
и поместите туда, где TeX сможет ее найти (например, в папку текущего проекта).
После строки 1523 ( % . . . here are the hooks:
) добавить:
\def\LineNumberL{\arabic{linenumber}}%
\def\LineNumberR{\roman{linenumber}}%
Измените следующую строку, def
так \makeLineNumberLeft
чтобы она объединяла определения Left и Right вместе (более или менее), то есть измените ее с
\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