目次のsectionの色変更

目次のsectionの色変更

- T. L. の投稿
返信数: 7
Tex初心者です.

目次に表示されているsectionの情報全ての色を変更する方法はありますか?

sectionの番号
sectionの表題
sectionのページ番号

の全てです.


結構調べたりいじってみたりしましたが,うまくいきませんでした.
知っている方がいましたらご教示お願いします.
T. L. への返信

Re: 目次のsectionの色変更

- S T の投稿
ここに書かれている通り、
\documentclass{article}
\usepackage{xcolor} %% http://www.ctan.org/pkg/xcolor
\begin{document}
\begingroup % start a TeX group
\color{blue}% or whatever color you wish to use
\tableofcontents
\endgroup   % end of TeX group

\section{A}
\section{B}
\end{document}
で色つきにになりませんか。
S T への返信

Re: 目次のsectionの色変更

- T. L. の投稿
ご返信ありがとうございます.


確かにできたのですが,
目次の『目次』の文字とpartやsubsectionまで色がついてしまいました.


section以外は通常通り黒
全てのsectionを黒以外の同じ色

というように変更はできませんでしょうか?

T. L. への返信

Re: 目次のsectionの色変更

- 和田 勇 の投稿
どのような対処方法を試されたか不明ですが、すでに試されたのかもしれませんが、また、かなり大掛かりになりますが @startsection マクロを変更すれば可能かもしれません。
現在、所用で検証している時間がないので以下の情報を参考に挑戦してみてください。

http://aquarius10.cse.kyutech.ac.jp/~otabe/koho/node13.html
(etc で記述されていますのでブラウザで表示する際は調整してください)
T. L. への返信

Re: 目次のsectionの色変更

- S T の投稿
目次のsectionのみ限定ということなら、titletoc.styを使うのはどうでしょうか。

%#!lualatex
\documentclass{article}
\usepackage{color}
\usepackage{titletoc}
\titlecontents{section}[3.8em]{\bfseries\color{red}}{\contentslabel{2.3em}}{\hspace*{-2.3em}}{\hfill\contentspage}
\begin{document}
\tableofcontents
\section{A}
\subsection{AA}
\section{B}
\subsection{BB}
\end{document}

結果を添付します。
S T への返信

Re: 目次のsectionの色変更

- T. L. の投稿
多数のお返事ありがとうございます.


いろいろと試してみましたところ,STさんのものに

\dottedcontents{subsection}[3.8em]{}{3.2em}{1pc}

を追加することで解決しました.


subsectionを

\renewcommand{\thesubsection}{\arabic{section}\,-\,\arabic{subsection}}

としているせいなのか,文字がかぶってしまったので文字がかぶらないようにしました.


本当にありがとうございます.
T. L. への返信

Re: 目次のsectionの色変更

- 北見 けん の投稿
ちょっと試しにやってみました。

latex.ltx を見ると、
目次の体裁は \l@section が呼び出されて出力を担うようになっています。
\l@section などは文書クラスファイルで定義されていますが、
多くは \@dottedtocline を呼び出すようになっていて、
実際の出力は \@dottedtocline が担当することがわかります。
\@dottedtocline の中で、ページ番号のところは \normalcolor で出力されるようになっています。
一連の流れの中でどこかに色付け命令をかませてやるわけですが、
\l@section に細工するのが簡単だと思います。

\documentclass{jsbook}

\usepackage{color}

\makeatletter
\let\l@section@org\l@section
\def\l@section#1#2{\l@section@org{\color{green}#1}{\color{blue}#2}}%リーダの色は変えない場合
%\def\l@section#1#2{{\color{green}\l@section@org{#1}{\color{blue}#2}}}%リーダの色も変える場合
%\def\l@section#1#2{{\color{green}\l@section@org{#1}{#2}}}%これだと、ページ番号のところだけ色が戻されてしまう
\makeatother

\setcounter{tocdepth}{4}

\begin{document}

\tableofcontents

\chapter{firstchap.}
\section{first}
\subsection{sub}
\section{second}

\end{document}

T. L. への返信

Re: 目次のsectionの色変更

- 若 雲 の投稿
ありものを組み合わせた力技ですが。

-----
\documentclass{jsarticle}

\usepackage{color}

\begin{document}

\tableofcontents

\addtocounter{section}{1}
\section*{序文}
\addcontentsline{toc}{section}{\textcolor{red}{\thesection\hspace{3zw} 序文}}
本論文では、xxxについて述べた。以下にxxxに関する先行研究をレビューし、本研究の対象領域を示す。

\subsection{先行研究}
xxxについての最初の研究は...

\subsection{本研究の目的}
以上の先行研究を踏まえ、本論文では...

\addtocounter{section}{1}
\section*{方法}
\addcontentsline{toc}{section}{\textcolor{red}{\thesection\hspace{3zw} 方法}}
本論文では、以下の条件にもとづき、実験を行った。

\setcounter{subsection}{0}
\subsection{被験者}
被験者の属性は以下の通りであった。...

\subsection{実験条件}
本論文では、以下の4つの条件を設定し...

\end{document}
-----

追記:ページ番号は赤くなってませんね。そこまでやろうとすると、目次の出力ルーチンに手を入れざるを得ないと思います。ひとことで言うと、難しいです。クラスファイル(jsarticleなど)をカスタマイズした経験がないと、自力で実現するのは大変かもしれません。