SJTUThesis icon indicating copy to clipboard operation
SJTUThesis copied to clipboard

twoside 模式对章节失效,不能插入适当的空白页

Open izackwu opened this issue 3 years ago • 6 comments

问题描述:

使用最新 master 分支的代码,发现 twoside 模式失效,存在两个问题:

  1. 默认模式并不是 twoside,而是 oneside
  2. 手动设置为 twoside 后,可以在目录、摘要等处插入适当的空白页,但是无法应用于正文章节

复现验证方法如下:

  1. 切换到 master 分支
  2. contents/intro.tex 文件中增加一些内容(可以将最后一段文字复制几次),从而使得第一章在 PDF 中有 3 页
  3. 采用默认设置编译,可以发现 PDF 文档中没有插入任何空白页,验证了上述问题 1
  4. 手动设置为 twoside 编译,可以发现第二章于第 4 页开始,而非预期的第 5 页

上述问题应该是近期某次更新所引入的,但是由于我不懂 LaTeX,所以暂时也无法确定。

系统信息:

  • OS版本(带版本号): Windows 10
  • TeX 发行版(带版本号): TeX Live 2020
$ xelatex --version
XeTeX 3.14159265-2.6-0.999992 (TeX Live 2020/W32TeX)
kpathsea version 6.3.2
Copyright 2020 SIL International, Jonathan Kew and Khaled Hosny.
There is NO warranty.  Redistribution of this software is
covered by the terms of both the XeTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the XeTeX source.
Primary author of XeTeX: Jonathan Kew.
Compiled with ICU version 65.1; using 65.1
Compiled with zlib version 1.2.11; using 1.2.11
Compiled with FreeType2 version 2.10.1; using 2.10.1
Compiled with Graphite2 version 1.3.13; using 1.3.13
Compiled with HarfBuzz version 2.6.4; using 2.6.4
Compiled with libpng version 1.6.37; using 1.6.37
Compiled with poppler version 0.68.0
Compiled with fontconfig version 2.13.92; using 2.13.92

日志信息:

https://paste.ubuntu.com/p/TmpQT3zx26/

izackwu avatar Jun 13 '21 12:06 izackwu

使用简单的二分排查,最终大概定位到问题是由 0d110ef7861d7cec5eca96250ba1525a3b4ee1c5 引入的,在其之前是可以按照预期工作的,自此之后就出现上述问题。

但是我看不懂代码,不知道咋修 😭


而如果像我一样只是想顺利打印出毕业论文,那么直接 revert 这个 commit 即可,LaTeX 的魔法,就交给本项目的维护者吧~

git revert 0d110ef7861d7cec5eca96250ba1525a3b4ee1c5
# 可能还需要解决一些冲突

izackwu avatar Jun 13 '21 12:06 izackwu

似乎这也不算是 bug,毕竟这就是 openany 的预期表现。或许可以在文档中说明一下:只需要手动设置 openright 即可得到我原本预期的行为。

不过问题来了,我不太懂 LaTeX,这个 commit 引入 openany 作为默认设置,这样有什么作用吗?

izackwu avatar Jun 13 '21 13:06 izackwu

得问问 @AlexaraWu 了。我们要么在 main.tex 里面加个帮助,如果要开正反面模式还要加 openright 选项(

skyzh avatar Jun 13 '21 13:06 skyzh

@skyzh 我想到的合理用途大概是:

  • oneside 不插任何空白页
  • twoside 前面那一堆东西插空白页,正文章节不插入空白页
  • twoside + openright 和之前的 twoside 一样,所有地方都插入需要的空白页

这个选项确实允许使用者多了一层灵活性,但是我比较怀疑这个灵活性是否有必要……毕竟电子版不需要任何空白页,纸质版一般需要所有空白页。同时这个参数也破坏了原有的默认行为,对小白用户(比如我)造成了困扰。

izackwu avatar Jun 13 '21 13:06 izackwu

目前本科的默认设置就是 oneside + openany

AlexaraWu avatar Jun 15 '21 03:06 AlexaraWu

确实如此,或许可以更新一下 main.tex 里面对选项的说明

izackwu avatar Jun 15 '21 03:06 izackwu

一年半了都没修hh

zztttt avatar Dec 31 '22 07:12 zztttt