目次ページ番号の小文字大文字/小文字

目次ページ番号の小文字大文字/小文字

私は文書でアラビア数字 (1、2、...) とローマ数字 (I、II、...) の両方のページ番号を使用しています。しかし、通常のローマ数字は目次で目立ちすぎます (例: XXVIII)。小文字のローマ数字も見栄えがよくありません (xxviii)。

私は次のことを達成したいと考えています。

  • 各ページの下部にあるローマ字のページ番号は、標準サイズの大文字にする必要があります。
  • 各ページの下部にあるアラビア語のページ番号は、標準サイズの数字にする必要があります。
  • 目次のローマ字ページ番号は、標準サイズの小文字または小さめの大文字にする必要があります。(通常ほど幅広にしないでください)
  • 目次内のアラビア語のページ番号は標準サイズの数字にする必要があります。

以下は、私が現在持っているものを示す MWE です。

\documentclass{scrartcl}
\begin{document}
    \pagenumbering{Roman}
    \setcounter{page}{27}
    \tableofcontents
    \newpage
    \section{Section}
    \newpage
    \pagenumbering{arabic}
    \section{Section}
\end{document}

tocstyleご覧のとおり、私はKOMA-Scriptを使用しています。このパッケージをすでに使用しているため、の機能を使用することは可能です(KOMA-Script: ローマ数字の配置が間違っている)。


注意:この質問は最初、 を使用した解決策を誤って尋ねていましたtocloft。そのため、 を使用した回答がいくつかあります。

答え1

とともに近日リリース予定の KOMA-Script バージョン 3.20 tocstyle必要ありません。すでにプレリリースKOMA-Script の Web サイトをご覧ください。

\documentclass{scrartcl}[2016/10/23]
\newcommand\pagenumbertocfont[1]{\ifisinteger{#1}{#1}{\tiny #1}}
\RedeclareSectionCommands[
    tocdynnumwidth,
    tocpagenumberbox=\hbox,
    tocpagenumberformat=\pagenumbertocfont
]{part,section,subsection,subsubsection,paragraph}
\RedeclareSectionCommands[
    tocpagenumberformat=\usekomafont{disposition}\pagenumbertocfont
]{part,section}


\usepackage{blindtext}

\begin{document}
    \pagenumbering{Roman}
    \setcounter{page}{27}
    \tableofcontents
    \clearpage
    \part{Part}
    \blinddocument

    \cleardoubleoddpage
    \pagenumbering{arabic}
    \blinddocument
\end{document}

結果:

ここに画像の説明を入力してください


とともに現在のバージョン 3.19apagenumberhookパッケージから使用できますtocstyle

\documentclass{scrartcl}

\usepackage[tocindentauto]{tocstyle}
\usetocstyle{KOMAlike}
\settocfeature{pagenumberbox}{\hbox}

\newcommand\pagenumbertocfont[1]{\ifisinteger{#1}{#1}{\tiny #1}}
\settocstylefeature{pagenumberhook}{\pagenumbertocfont}
\settocstylefeature[-1]{pagenumberhook}{\pagenumbertocfont}
\settocstylefeature[1]{pagenumberhook}{\pagenumbertocfont}

\usepackage{blindtext}

\begin{document}
    \pagenumbering{Roman}
    \setcounter{page}{27}
    \tableofcontents
    \clearpage
    \part{Part}
    \blinddocument

    \cleardoubleoddpage
    \pagenumbering{arabic}
    \blinddocument

\end{document}

これは標準クラスでも機能しますarticle。ただし、その場合はパッケージを追加でロードする必要がありますscrextend

\documentclass{article}
\usepackage{scrextend}
\usepackage{tocstyle}
\usetocstyle{standard}
\settocfeature{pagenumberbox}{\hbox}

\newcommand\pagenumbertocfont[1]{\ifisinteger{#1}{#1}{\tiny #1}}
\settocstylefeature{pagenumberhook}{\pagenumbertocfont}
\settocstylefeature[-1]{pagenumberhook}{\pagenumbertocfont}
\settocstylefeature[1]{pagenumberhook}{\pagenumbertocfont}

\usepackage{blindtext}

\begin{document}
    \pagenumbering{Roman}
    \setcounter{page}{27}
    \tableofcontents
    \clearpage
    \part{Part}
    \blinddocument

    \cleardoubleoddpage
    \pagenumbering{arabic}
    \blinddocument
\end{document}

答え2

おそらく最も簡単な方法は、tocloftパッケージを使用して toc の外観を設定することです。

\documentclass{scrartcl}
\usepackage{tocloft}
\renewcommand\cftsecfont{\bfseries\sffamily}
\renewcommand\cftsecpagefont{\bfseries\small\sffamily}
\begin{document}
    \pagenumbering{Roman}
    \setcounter{page}{27}
    \tableofcontents
    \newpage
    \section{Section}
    \newpage
    \pagenumbering{arabic}
    \section{Section}
\end{document}

ここに画像の説明を入力してください

比較のために、tocloft設定なしの状態を示します。

ここに画像の説明を入力してください

答え3

タグを設定しているのでtocloft、パッケージを使用して目次の外観を変更することに興味があると思われます。次のコードは、これを実行する方法を示しています。ページ番号用に確保されるスペースを増やすために\cftsetrmargとを使用していることに注意してください\cftsetpnumwidth。ローマ数字はアラビア数字よりも多くのスペースを占める傾向があります。

Computer Modern フォント ファミリは、サンセリフ/スモールキャップ/太字の組み合わせのフォント属性を提供しません。したがって、以下のコードは、目次にセリフ/非太字のスモールキャップのページ番号を生成します。

ここに画像の説明を入力してください

\documentclass{scrartcl}

\usepackage{tocloft}
\cftsetrmarg{4em} % set aside more space for roman numerals
\cftsetpnumwidth{3.5em}  
\renewcommand\cftsecfont{\bfseries\sffamily}
\renewcommand\cftsubsecfont{\bfseries\sffamily}
\renewcommand\cftsubsubsecfont{\bfseries\sffamily}
\renewcommand\cftsecpagefont{\scshape}

\begin{document}
    %%\pagenumbering{roman} 
    \renewcommand\thepage{\scshape\roman{page}} % <- new
    \setcounter{page}{37}
    \tableofcontents
    \newpage
    \section{Section}
    \subsection{Subsection}
    \subsubsection{A very very very very very  very very very very very very very very very very very very very very very very very very very very long subsubsection header}
    \newpage
    \pagenumbering{arabic}
    \section{Section}
\end{document}

関連情報