提问于:
浏览数:
3100
如图所示,使用\contentsname修改“目录”名称的时候,会影响页眉。希望“目录”两个字居中,并且中间增加空格,但是页眉上的“目录”在左边,并且不增加空格,格式也与其它章节页的页眉保持一致:
![](https://wenda.latexstudio.net/data/attach/210216/hPcutJ6j.png)
有问题的MWE如下,请问下要怎么修改?
```
\documentclass[10pt]{ctexbook}
\usepackage{titlesec}
\usepackage{fancyhdr}
\spaceskip=1em
\titleclass{\chapter}{straight}
\titleformat{\chapter}[display]{}{}{0pt}{}
\renewcommand\contentsname{\LARGE\songti\centerline{目\hspace{1em}录}}
\fancyhf{}
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0.5pt}
\setlength{\headsep}{12pt}
\fancyhead[RE]{\kaishu\leftmark}
\fancyhead[LO]{\kaishu\rightmark}
\fancyhead[LE,RO]{\kaishu\thepage}
\usepackage{hyperref}
\hypersetup{colorlinks=true, hidelinks, bookmarksopen=true, bookmarksnumbered=true}
\begin{document}
\pdfbookmark[0]{目录}{toc}
\tableofcontents
\clearpage
\chapter{第1章}
\section{第1节}
\mbox{测试}
\clearpage
\section{第2节}
\mbox{测试}
\clearpage
\chapter{第2章}
\section{第1节}
\mbox{测试}
\clearpage
\section{第2节}
\mbox{测试}
\end{document}
```
2 回答
0
简单修改了一下代码, 实现的方法是用 `\titleformat*` 来局部控制目录标题的效果, 虽然看起来有一些粗鲁, 但是它实现了
```latex
\documentclass[10pt]{ctexbook}
\usepackage{titlesec}
\usepackage{fancyhdr}
\spaceskip=1em
\titleclass{\chapter}{straight}
\titleformat{\chapter}[display]{}{}{0pt}{}
\usepackage[showframe]{geometry}
\fancyhf{}
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0.5pt}
\setlength{\headsep}{12pt}
\fancyhead[RE]{\kaishu\leftmark}
\fancyhead[LO]{\kaishu\rightmark}
\fancyhead[LE,RO]{\kaishu\thepage}
\usepackage{hyperref}
\hypersetup{colorlinks=true, hidelinks, bookmarksopen=true, bookmarksnumbered=true}
\begin{document}
\pdfbookmark[0]{目录}{toc}
{
\titleformat*{\chapter}{\LARGE\rmfamily\centering\ziju{1}}
\tableofcontents
}
\clearpage
\chapter{第1章}
\section{第1节}
\mbox{测试}
\clearpage
\section{第2节}
\mbox{测试}
\clearpage
\chapter{第2章}
\section{第1节}
\mbox{测试}
\clearpage
\section{第2节}
\mbox{测试}
\end{document}
```
![](https://wenda.latexstudio.net/data/attach/210217/yTvD7umI.png)
0
多谢预言书。我今天自己弄出来了,见如下MWE及注释,之前没成功是因为目录节少了\clearpage:
```
\documentclass[10pt]{ctexbook}
\usepackage{titlesec}
\usepackage{fancyhdr}
\spaceskip=1em
\titleclass{\chapter}{straight}
\titleformat{\chapter}[display]{}{}{0pt}{}
\renewcommand\contentsname{\LARGE\songti\centerline{目\hspace{1em}录}}
\fancyhf{}
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0.5pt}
\setlength{\headsep}{12pt}
\usepackage{hyperref}
\hypersetup{colorlinks=true, hidelinks, bookmarksopen=true, bookmarksnumbered=true}
\begin{document}
\pdfbookmark[0]{目录}{toc}
\fancyhead[L]{\kaishu{目录}} % 加入这一行
\fancyhead[R]{\kaishu\thepage}
\tableofcontents
\clearpage % 之前没成功是因为少了\clearpage
\fancyhf{} % [更新]最好加入这一行,否则将上面的命令改为\fancyhead[C]{\kaishu{目录}},后面章节的页眉中间会多出“目录”两个字
\fancyhead[RE]{\kaishu\leftmark}
\fancyhead[LO]{\kaishu\rightmark}
\fancyhead[LE,RO]{\kaishu\thepage}
\clearpage
\chapter{第1章}
\section{第1节}
\mbox{测试}
\clearpage
\section{第2节}
\mbox{测试}
\clearpage
\chapter{第2章}
\section{第1节}
\mbox{测试}
\clearpage
\section{第2节}
\mbox{测试}
\end{document}
```
你的回答
请登录后回答
你的回答将会帮助更多人,请务必认真回答问题。