`LaTeX`默认的样式是目录的`section`部分没有引导的,参考文献不加入目录。代码和样式如下 ```tex \documentclass[a4paper,zihao=-4,UTF8]{ctexart} \usepackage[left=3.18cm,right=3.18cm,top=2.54cm,bottom=2.54cm]{geometry}%页面设置 \usepackage{zhlineskip}%行距 \usepackage{zhlipsum} \usepackage{fontspec} % \setCJKmainfont{Source Han Serif CN Light}%思源宋体 \setCJKmainfont{STSong} % \usepackage[nottoc]{tocbibind}%增加目录内容,用[nottoc]可以取消输出目录本身 \usepackage[section]{placeins}%避免浮动体跨过\section等章节标题 \usepackage[]{hyperref}%%目录引用等超链接 \hypersetup{colorlinks=true} \pagestyle{plain} \usepackage{amsmath} \usepackage[super]{gbt7714}%参考文献角标数字顺序编 % \usepackage{titlesec} \begin{document} \tableofcontents \section{场} \label{field} \zhlipsum[1][name=xiangyu]{{$x^2+y^2=1$}\kaishu 试一下楷书,跳转到第 \ref{vec}} \section{向量} \label{vec} \zhlipsum[1][name=xiangyu] \subsection{三维坐标} \subsubsection{积分} \zhlipsum[1][name=xiangyu] \section*{微分} \addcontentsline{toc}{section}{摘要} \begin{abstract} 这是摘要 \end{abstract} 随便引用一下\cite{emc}。 %\addcontentsline{toc}{section}{\hspace*{2em}参考文献} \bibliography{ex}%生成参考文献 \end{document} ``` ![](https://pics.latexstudio.net/data/images/201911/057c256e59da2c8.png) 要实现`section`部分加点并使参考文献加入目录我发现了两个方法 1. 利用`titletoc`宏包提供的`\titlecontents{hsectioni}[hlefti]{habove-codei}{numbered-entry-format}{numberless-entry-format}{filler-page-format}[below-code]`命令修改目录格式和`\addcontentsline{toc}{section}{内容}`增加目录内容。代码和效果如下,但是编号失去了超链接功能。参考网址[https://blog.csdn.net/l_changyun/article/details/87431805#comments](https://blog.csdn.net/l_changyun/article/details/87431805#comments) ![](https://pics.latexstudio.net/data/images/201911/58978d74c4e108f.png) 2. 利用`tocloft`宏包,可满足要求。参考网址[https://www.latexstudio.net/archives/2500.html](https://www.latexstudio.net/archives/2500.html) 代码和效果如下 ```tex \documentclass[a4paper,zihao=-4,UTF8]{ctexart} \usepackage[left=3.18cm,right=3.18cm,top=2.54cm,bottom=2.54cm]{geometry}%页面设置 \usepackage{zhlineskip}%行距 \usepackage{zhlipsum} \usepackage{fontspec} % \setCJKmainfont{Source Han Serif CN Light}%思源宋体 \setCJKmainfont{STSong} \usepackage[nottoc]{tocbibind}%增加目录内容,用[nottoc]可以取消输出目录本身 \usepackage[section]{placeins}%避免浮动体跨过\section等章节标题 \usepackage[]{hyperref}%%目录引用等超链接 \hypersetup{colorlinks=true} \pagestyle{plain} \usepackage{amsmath} \usepackage[super]{gbt7714}%参考文献角标数字顺序编 \usepackage[titles]{tocloft}%给目录sec部分加点,用subfigure取消和subfigure宏包的冲突 % \renewcommand{\cftdot}{\$\cdot\$} \renewcommand{\cftdotsep}{1.5} \setlength{\cftbeforesecskip}{10pt} \renewcommand{\cftsecleader}{\cftdotfill{\cftsecdotsep}} \renewcommand{\cftsecdotsep}{\cftdotsep} \makeatletter \renewcommand{\numberline}[1]{% \settowidth\@tempdimb{#1\hspace{0.5em}}% \ifdim\@tempdima<\@tempdimb% \@tempdima=\@tempdimb% \fi% \hb@xt@\@tempdima{\@cftbsnum #1\@cftasnum\hfil}\@cftasnumb} \makeatother \begin{document} \tableofcontents % \ctexset{ % section = { % % name = {第,节}, % number = \chinese{section}, % format += \raggedright,%会同时影响目录和参考文献等 % } % } \section{场} \label{field} \zhlipsum[1][name=xiangyu]{{$x^2+y^2=1$}\kaishu 试一下楷书,跳转到第 \ref{vec}} \section{向量} \label{vec} \zhlipsum[1][name=xiangyu] \subsection{三维坐标} \subsubsection{积分} \zhlipsum[1][name=xiangyu] \section*{微分} \addcontentsline{toc}{section}{摘要} \begin{abstract} 这是摘要 \end{abstract} 随便引用一下\cite{emc}。 \bibliography{ex}%生成参考文献 \end{document} ``` ![](https://pics.latexstudio.net/data/images/201911/f2733e22f37e4cd.png) 最后附上代码中的参考文献`ex,bib` ```tex @book{emc, title={工程电磁兼容}, author={路宏敏 and 余志勇 and 李万玉}, year={2010}, address = {西安}, publisher = {西安电子科技大学出版社}, pages = {303-308}, } ``` 总结一下。方法1能定制目录,代码能理解,但是编号不再具有超链接功能,不知如何解决不知道大佬们有什么高招。方法2可以实现想要的功能,但是涉及用`\makeatother`修改内部代码,没有祖传代码的话自己写不出来.

1 回答1

3
方法2 新版本的 ctex 宏集, 不需要加了, 已经修复了. 老版本的问题.

作者追问:2019-11-29 13:58

请问能解决方法1目录里面编号的超链接功能吗?
  • 非常感谢! – 青莲剑仙 2019-12-07 12:31 回复
  • 试了一下,确实不用了,谢谢 – 青莲剑仙 2019-11-28 12:59 回复

你的回答

请登录后回答

你的回答将会帮助更多人,请务必认真回答问题。