提问于:
浏览数:
2486
给目录一级标题加制导线,请问怎么调到图一的效果,以及制导线与标题底部对齐?
![](https://pics.latexstudio.net/data/images/202004/73ec22e5d603f3c.png)
![](https://pics.latexstudio.net/data/images/202004/68acc73f0d8d05b.png)
```tex
\documentclass{ctexart}
\usepackage[utf8]{inputenc}
\title{目录设置}
\author{linpions }
\date{April 2020}
\usepackage{titletoc}
\setcounter{tocdepth}{2} % 显示层级
\titlecontents{section}
{}%
{\contentslabel{1em}}%
{}%
{\titlerule*[0.7pc]{$\cdot$}\contentspage\hspace*{0cm}}%
\begin{document}
\maketitle
\tableofcontents
\section{目录设置}
\subsection{一级标题制导线}
\subsection{标题标号}
\section{制导线}
\subsection{与二级标题默认的一致}
\end{document}
```
1 回答
2
1. 我不知道你为什么要用 `inputenc` 包,你用`pdflatex` 编译中文文档么?不建议这么干,最好用 `xelatex` 编译。
2. 制导线那里本来就是对齐的,你怎么弄不对齐的?
2. 目录最高一级别其实不带 `dots` 引导更好,如果一定要这样做,我以前都是用重定义`\l@section` (`book` 等文档类当然是 `\l@chapter`)的方式干的,当然,代码也是抄的。mwe 如下:
```tex
\documentclass{ctexart}
\makeatletter
\def\@bfdottedtocline#1#2#3#4#5{%
\ifnum #1>\c@tocdepth \else
\vskip \z@ \@plus.2\p@
{\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
\parindent #2\relax\@afterindenttrue
\interlinepenalty\@M
\leavevmode \bfseries
\@tempdima #3\relax
\advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
{#4}\normalfont\nobreak
\leaders\hbox{$\m@th
\mkern \@dotsep mu\hbox{\textbf{.}}\mkern \@dotsep
mu$}\hfill
\nobreak
\hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor\bfseries #5}%
\par}%
\fi}
\renewcommand*\l@section{\@bfdottedtocline{0}{0em}{1.5em}}
\makeatother
\title{目录设置}
\author{linpions }
\date{April 2020}
\setcounter{tocdepth}{2}
\begin{document}
\maketitle
\tableofcontents
\section{目录设置}
\subsection{一级标题制导线}
\subsection{标题标号}
\section{制导线}
\subsection{与二级标题默认的一致}
\end{document}
```
效果如下:
![效果图](https://pics.latexstudio.net/data/images/202004/e6b46e81c3fe9f1.png)
作者追问:2020-04-08 20:39
谢谢耐心解答,我是在overleaf上弄的MWE,自动加的那个宏包,示例就是对不齐。还好问题得到解决,非常感谢,原来在论坛上提问会有这么优质的解答。
回答: 2020-04-09 09:27
如果答案有用,不妨设置问题已解决。可以方便后来人搜索。
你的回答
请登录后回答
你的回答将会帮助更多人,请务必认真回答问题。