Forgot password?
 Create new account
Author: abababa

请教怎么在目录里显示“第一章”,和附录里不显示点

[Copy link]

418

Threads

1628

Posts

110K

Credits

Credits
11891

Show all posts

 Author| abababa Posted at 2019-7-19 18:31:27
回复 20# kuing

之前还没注意,这次仔细看了,发现有这个问题。开始还以为跟章节标题一样,每章的第二页都这样,但经过实验发现不是,第二章第一节就没再出现这个问题。
这种现象是正常的吗?

701

Threads

110K

Posts

910K

Credits

Credits
94177
QQ

Show all posts

kuing Posted at 2019-7-19 21:37:22
回复 21# abababa

这当然是不正常的现象了,而且我已经知道是页眉太大导致的。

首先我看到编译信息中有个警告是:
Package Fancyhdr Warning: \headheight is too small (12.0pt):
Make it at least 25.04993pt.
We now make it that large for the rest of the document.
This may cause the page layout to be inconsistent, however.
意思就是现在的页眉有 25.04993pt 高,大于默认的最大高度 12pt,而且他还说了这可能导致页面布局不一致(超出的 13pt 自然就是下沉的距离)。

然后我在 geometry 包中加入选项 showframe ,它能显示页面各区域的边界,于是清楚看到从正文第 2 页起页眉框被撑大:
QQ截图20190719204435_2.gif
.
QQ截图20190719204459_2.gif
那为什么从第 3 页才开始沉?我估计是因为排版时每页都是先排正文再排页眉页脚的。

其实是那条双线太占位置,由 showframe 的效果看出,那双线的底部并不是在第二条线上,而是更低的位置(实际上它占了一个普通行的高度),放大来看看:
QQ截图20190719211701.png
所以这条双线的设计其实不怎么样,我决定改一下这条双线。
用 \show\headrule 可以看到原本 \headrule 的设计是:
  1. \if@fancyplain\let\headrulewidth\plainheadrulewidth\fi
  2. \hrule\@height\headrulewidth\@width\headwidth\vskip-\headrulewidth
Copy the Code
所以搞成双线其实非常简单,并不需要 \makebox 啥的技巧,只需把画线部分再抄一次,中间加个距离就行:
  1. \renewcommand{\headrule}{%
  2. \if@fancyplain\let\headrulewidth\plainheadrulewidth\fi
  3. \hrule\@height\headrulewidth\@width\headwidth\vskip0.15\baselineskip
  4. \hrule\@height\headrulewidth\@width\headwidth}
Copy the Code
而且这样依然能用 \headrulewidth 来控制线宽。
来看看改后的效果:
QQ截图20190719211734.png
好多了,但编译后还是提示超了 5pt+,没办法,默认给的高度仅仅够一行字,只好再在 geometry 设置一下,把 headheight 增高一点好了。

综上,代码为:
  1. ............
  2. \usepackage[top=43mm,bottom=41mm,left=34mm,right=34mm,headheight=18pt]{geometry}
  3. ............
  4. \makeatletter
  5. % 双线页眉
  6. \renewcommand{\headrule}{%
  7. \if@fancyplain\let\headrulewidth\plainheadrulewidth\fi
  8. \hrule\@height\headrulewidth\@width\headwidth\vskip0.15\baselineskip
  9. \hrule\@height\headrulewidth\@width\headwidth}
  10. \makeatother
  11. ............
  12. 附录前的内容
  13. ............
  14. \clearpage
  15. \renewcommand{\headrulewidth}{0pt}
  16. \pagestyle{empty}
  17. \fancypagestyle{plain}{\fancyhf{}}
  18. \newcommand\flsection[1]{
  19.         \phantomsection%不加它链接定位会不准确,不知为什么
  20.         \addcontentsline{toc}{section}{#1}\section*{#1}
  21. }
  22. \begin{appendices}
  23. \flsection{附录1}
  24. \pagebreak
  25. \flsection{附录2}
  26. \end{appendices}
  27. \clearpage
  28. \fontsize{10pt}{\baselineskip}\selectfont
  29. 追加页,无内容,无页眉页脚,无章节标题
  30. \end{document}
Copy the Code
这样就 OK 了,你也可以加个 showframe 试试。

418

Threads

1628

Posts

110K

Credits

Credits
11891

Show all posts

 Author| abababa Posted at 2019-7-21 10:22:11
回复 22# kuing

果然如此!谢谢,之前都忽视警告之类的,觉得能编译通过就很好了。这样设置了页眉高度,再把top的减一些,就和原来的一样了。

701

Threads

110K

Posts

910K

Credits

Credits
94177
QQ

Show all posts

kuing Posted at 2019-7-21 12:32:10
回复 23# abababa

top 不需要减吧?

801

Threads

4889

Posts

310K

Credits

Credits
36169

Show all posts

isee Posted at 2019-7-21 23:08:56
showframe,涨知识了

418

Threads

1628

Posts

110K

Credits

Credits
11891

Show all posts

 Author| abababa Posted at 2019-7-22 19:01:57
回复 24# kuing

我怎么感觉不减的话,看着距离页面顶端要更远一些呢。

701

Threads

110K

Posts

910K

Credits

Credits
94177
QQ

Show all posts

kuing Posted at 2019-7-22 19:11:51
回复 26# abababa

嗯?你原先的设置就是 top 大于 bottom 啊,你看 1# 的代码,一个 43 一个 41

418

Threads

1628

Posts

110K

Credits

Credits
11891

Show all posts

 Author| abababa Posted at 2019-7-23 18:30:16
回复 27# kuing

是不是页眉的那个18pt比原来高,又多了一块?就是最初那种画双线的方法,和最后的画双线的方法的区别。

701

Threads

110K

Posts

910K

Credits

Credits
94177
QQ

Show all posts

kuing Posted at 2019-7-25 17:57:16
回复 28# abababa

headheight 只要不小于实际页眉的高,就不会产生下沉,正文与顶端的距离都会是你所设的 top 和 bottom 的值,不信将我的 ...,headheight=18pt] 改成 ...,headheight=50pt] 甚至更大试试看就知道了(当然,弄得太大时会不会产生其他问题就不知道了)
所以如果仅仅只是为了解决下沉的问题,只需增加 headheight 至大于 25.05pt 就行,双线也可以不修改,我改是为了精益求精而已。

701

Threads

110K

Posts

910K

Credits

Credits
94177
QQ

Show all posts

kuing Posted at 2019-7-25 18:23:42
还可以试试这样玩,在导言区加入
  1. \usepackage{eso-pic}
  2. \usepackage{tikzpagenodes}
  3. \AddToShipoutPictureBG{%
  4. \tikz[remember picture,overlay,<->,very thick,red]{
  5. \draw(current page.north)--node[right]{43mm}+(0,-43mm);%top的值
  6. \draw(current page.south)--node[right]{41mm}+(0,41mm);%bottom的值
  7. }}
Copy the Code
编译两次后看效果。

PS、顺便示范了加背景水印的一种方式了

手机版Mobile version|Leisure Math Forum

2025-4-20 22:28 GMT+8

Powered by Discuz!

× Quick Reply To Top Return to the list