行番号 左アラビア数字 右ローマ数字、同じ行

行番号 左アラビア数字 右ローマ数字、同じ行

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

ドキュメントクラスを使用しています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

関連情報