我想写一本书,在书中列出一些问题的解决方案。我想在书的开头写一些问题的文本,在书的结尾写其他章节的解决方案。假设我对包含文本的章节和包含解决方案的章节使用相同的标题:我希望在目录中有以下结构
Texts Solutions
1 Chapter_Title...................Pag.x.............Pag.y
2 Chapter_Title...................Pag.z.............Pag.t
我怎么才能得到它?
答案1
以下内容基于 John Kormylo 关于手动设置 ToC 的评论
\documentclass{book}
\usepackage{hyperref}
\newlength{\textpagewidth}
\newcommand{\settextpagewidth}{\setlength{\textpagewidth}}
\newlength{\solspagegap}
\newcommand{\setsolspagegap}{\setlength{\solspagegap}}
\newlength{\solspagewidth}
\newcommand{\setsolspagewidth}{\setlength{\solspagewidth}}
\newlength{\chaptocgap}
\newcommand{\setchaptocgap}{\setlength{\chaptocgap}}
\settextpagewidth{2em}
\setsolspagegap{4em}
\setsolspagewidth{2em}
\setchaptocgap{3pt plus 1pt minus 1pt}
\newlength{\saveparindent}
\AtBeginDocument{\setlength{\saveparindent}{\parindent}}
\newcommand{\noparindent}{\setlength{\parindent}{0pt}}
\newcommand{\restoreparindent}{\setlength{\parindent}{\saveparindent}}
\newcommand{\setchapandsol}[2]{%
\par\addvspace{\chaptocgap}\noindent
\ref{#1}\quad\nameref{#1}\dotfill
\makebox[\textpagewidth][r]{\pageref{#1}\,}%
\makebox[\solspagegap][r]{\dotfill}%
\makebox[\solspagewidth][r]{\pageref{#2}\,}%
}
\begin{document}
\showthe\chaptocgap
\noparindent
\leavevmode\hfill\makebox[\textpagewidth][r]{Texts}%
\makebox[\solspagegap][r]{}%
\makebox[\solspagewidth][r]{Solutions}
\medskip
\setchapandsol{ch:first}{ch:first:sol}
\setchapandsol{ch:second}{ch:second:sol}
\restoreparindent
\chapter{First chapter}\label{ch:first}
\chapter{Second chapter}\label{ch:second}
% ========= SOLUTIONS =========
\chapter*{First chapter solutions}\label{ch:first:sol}
\chapter*{Second chapter solutions}\label{ch:second:sol}
\end{document}
我添加了一些定制内容,但您还可以自己添加很多内容。