楼主: 比尔2020
12920 13

[实际应用] Rmarkdown生成PDF,如何添加分页符? [推广有奖]

11
llb_321 在职认证  发表于 2021-12-26 16:14:37
不好意思,您那个报错,与欧元没关系,是中文编码冲突,我发的rmd是英文的,不存在那个问题,但是在ctex模板中好像这个问题挺多的,看了半天网上的问答我也没找到根本的解决方法,您再查查这方面.

12
比尔2020 发表于 2021-12-28 15:52:21
llb_321 发表于 2021-12-26 14:49
另外给您做了rmd文件,以及相应生成的pdf,您用这个rmd再试试

我没设ctexrep类型,直接在默认模板里改的 ...
老师您好,我按照您给的文件作为头部,并且按照您说的方法设置选项,成功编译通过了输出带页眉下划线并且一级标题不居中的的PDF。对您的帮助表示万分感谢!
从您给的YAML部分解读页眉定义:
    \usepackage{fancyhdr}
    \pagestyle{fancy}
    \fancyhf{}
    \fancyhead[R]{\thepage}
    \fancyhead[L]{\rightmark}
我理解是页眉的右侧显示页码,左侧显示标题。
这个标题显示没有规律,有时显示,有时空白(也不分单、双页)。不能显示章标题(一级标题),只显示(节标题)二级标题,并且页眉左侧标题字号很大(很不美观),这些是在哪部分改呢?能在YAML部分做调整吗?

如此看来,用Rmarkdonw写论文或许不是很好的选择。只怪我的论文中图表过多,boss又有要求,只能硬着头皮往下做了。好在有您这样很热心的老师帮助。谢谢您了!

13
llb_321 在职认证  发表于 2021-12-29 15:31:42
比尔2020 发表于 2021-12-28 15:52
老师您好,我按照您给的文件作为头部,并且按照您说的方法设置选项,成功编译通过了输出带页眉下划线并且 ...
您说的问题:
1、确实,\rightmark在fancyhdr中是指section,即rmarkdown中的##二级标题,而#一级标题对应的是\leftmark,上次的模板只设了页眉的左L、右R,如果区分奇偶页的话,还可以设置更细一些,比如
    \geometry{twoside, bindingoffset=0cm}
    \fancyhead[LE,RO]{\thepage}
    \fancyhead[LO]{\nouppercase\small\rightmark}
    \fancyhead[RE]{\nouppercase\small\leftmark}

这样在设定为双面印刷时,如果是奇数页,左侧显示二级标题,右侧显示页码,偶数页左侧显示页码,右侧显示一级标题, 这几行在rmarkdown中可以编译

但是,这种设置需要配合其他设置,比如各章(一级标题)设为从奇数页开始,各章最后一页如果是奇数页,则增加一空白页,否则某些页的页眉会出现空白。虽然这些在latex中都是book模板的正常设置,但是在rmarkdown中却编译不通过。我不确知原因,但猜想是rmarkdown所能支持的latex指令有限。这也是上次发的模板中,只设了左右而不考虑奇偶页的原因.

2、字号的问题,看上面的代码,其中\small是latex字号命令,您可以根据需要改成更小的 \footnotesize,或者改成稍大的 \normalsize.

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-27 07:01