
行番号をローマン体で表示することはできますが (ドキュメントで説明されているとおり)、私が望んでいるのは、テキストの両側 (左と右) に行番号を付けることであり、左側をアラビア数字、右側をローマン数字にしたいのです。それを実現する方法はありますか?
ドキュメントクラスを使用しています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