titletoc利用時の目次における番号・タイトル文字列間の空白挿入

titletoc利用時の目次における番号・タイトル文字列間の空白挿入

- なめくじ あまね の投稿
返信数: 3
初めてお世話になります。
題名のような問題を抱えておりまして、どうにもならず、質問させていただく次第です。
問題の説明をさせていただき、その後、再現可能なコードなどを掲げます。

問題の説明

欲求

一次的欲求: 目次の形式を変更(題とページの間に入る点線を消し、天と地のアキを大きく)したい。
二次的欲求: そのため、titletocを利用したい。
そのほかの欲求: jlreqを利用したい。


抱えている問題

titletoc利用時に、目次の部分だけ「第一章 章題もに」のようにならず、「第一章章題もに」のように空白が入りません。節題も同様に「1 節題」とならずに「1節題」のようになります。
備考:
1. 目次以外の箇所、すなわち、別行見出し・柱では「第一章 章題もに」のようになっています。これは、別行見出し・柱はjlreqによって定義されており、かつ、titletocにより変更を受けないためと考えています。
2. titletocを用いない場合、3zhくらいの空白が入りました。なぜ入るのかよくわかりません。
3. titlesecの説明書っぽいものhttp://tug.ctan.org/tex-archive/macros/latex/contrib/titlesec/titlesec.pdfもさらってはみたのですが、探し方のせいか、何も見つかりませんでした。

得たい出力: 章番号と見出し文字列の間に(せめて)\quad分の空白が欲しかった。
得られた出力: 空白がない。それどころか、(ベタ組みに比べて)詰まっているような気すらする。

その他に試したこと:
1. https://okumuralab.org/tex/mod/forum/discuss.php?d=235によれば、titletocを用いない方法として、クラスファイル中の\l@sectionとやらの定義を確認して適当なように変更する、とあります。試してようとしたのですが、jlreq.clsには該当箇所が見出せませんでした。
2. *.tocを直接いじる方法を試しました。これは上手く行きますが、違う(バッドノウハウ的な)気がします。また、内容が書き換わるたびに変更の必要が出るため、手間です。


知りたいこと

titletocを利用するのが適切な場合、thecontentslabelはどこで変更できるでしょうか。そのほかの手法で欲求を実現することはできるのでしょうか。



再現

バージョンなど

macOS HighSierra 10.13.6。
jlreq, titlesecは現状(2018.8.20)の最新。
upLaTeXの利用。
幾らかのパッケージに関しては当方の事情により、現状の最新でないものもありますが、少なくとも、2018年6月以前のままということはありません。

問題を再現できるコード


\documentclass[paper=a6,fontsize=9pt,jafontsize=9pt,open_bracket_pos=nibu_tentsuki,openany,titlepage,draft,uplatex,tate,book,jlreq_notes]{jlreq}
\usepackage{grffile}

\usepackage{titletoc}%【目次の問題】
\titlecontents{chapter}[0zh]{\hspace*{30truemm}}{\thecontentslabel}{}{}
\titlecontents{section}[1zh]{\hspace*{30truemm}}{\thecontentslabel}{}{\hfill\tatechuyoko{\thecontentspage}\hspace*{30truemm}}
\begin{document}
\tableofcontents
\newpage
\chapter{章題もに}
\section{節題とりゃてりゃ}
本文「ありをりはべり」
\newpage
本文「いまそかり」
\newpage
\section{ほにゃ}
本文「香爐峰の雪は簾を撥げて看る」
\end{document}

なめくじ あまね への返信

Re: titletoc利用時の目次における番号・タイトル文字列間の空白挿入

- 和田 勇 の投稿
> 3. titlesecの説明書っぽいものhttp://tug.ctan.org/tex-archive/macros/latex/contrib/titlesec/titlesec.pdfもさらってはみたのですが

以下を参考にしてみてはいかがでしょうか?
http://abenori.blogspot.com/2018/05/titletoc.html



> 得たい出力: 章番号と見出し文字列の間に(せめて)\quad分の空白が欲しかった。

\thecontentslabel を \fbox{\thecontentslabel} のようにして出力結果を検討した結果の付け焼き刃的な対処方法ですが ...

\titlecontents{chapter}[0zh]{\hspace*{30truemm}}{\thecontentslabel}{}{}


\titlecontents{chapter}[0zh]{\hspace*{30truemm}{\thecontentslabel\quad\}{}{}

でどうでしょうか?



>titletocを利用するのが適切な場合、thecontentslabelはどこで変更できるでしょうか

こちらは ログファイルには読み込んだスタイルファイルなどの情報が記録されているので、そのファイル名を抜き出し検索すると定義されているファイルなどの情報がわかります。今回は以下のようなコマンドで可能です。

grep /texlive/ ログファイル | tr '()' ' ' | xargs grep thecontentslabel

で、そのファイルを見つつ定義を書き換える方法を検討するという手順になるかと思います。
和田 勇 への返信

Re: titletoc利用時の目次における番号・タイトル文字列間の空白挿入

- 和田 勇 の投稿
おっと、バックスラッシュ一個多かった :-(

> 得たい出力: 章番号と見出し文字列の間に(せめて)\quad分の空白が欲しかった。

\thecontentslabel を \fbox{\thecontentslabel} のようにして出力結果を検討した結果の付け焼き刃的な対処方法ですが ...

\titlecontents{chapter}[0zh]{\hspace*{30truemm}}{\thecontentslabel}{}{}


\titlecontents{chapter}[0zh]{\hspace*{30truemm}{\thecontentslabel\quad}{}{} % ここ修正しました

でどうでしょうか?
和田 勇 への返信

Re: titletoc利用時の目次における番号・タイトル文字列間の空白挿入

- なめくじ あまね の投稿
ありがとうございます。

ご指摘の修正で上手く行きました。

\thecontentslabelが章番号とタイトル文字全体を吐くものだとばっかり思い込んでいました……。
また、いくつかの引数について、役割を勘違いしていたようです。

実験する方法、学ばせていただきました。
ありがとうございます。