Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于固定行距问题 #125

Closed
Tracked by #126
fengyang95 opened this issue Jan 8, 2021 · 12 comments
Closed
Tracked by #126

关于固定行距问题 #125

fengyang95 opened this issue Jan 8, 2021 · 12 comments
Labels
I need help I want to get help from developers

Comments

@fengyang95
Copy link

现在的研究生模板里,设置的1.5倍行距,但是latex会自动根据文章内容调整节与节之间的间距,造成间距不统一,想请教下如何设置固定行距

@fengyang95 fengyang95 added the I need help I want to get help from developers label Jan 8, 2021
@muzimuzhi
Copy link

试试 \raggedbottom。如果还不行,就去掉章节标题前后纵向间距里 plus xxx minus xxx 的部分了。

@yingzhaozhang
Copy link

试试 \raggedbottom。如果还不行,就去掉章节标题前后纵向间距里 plus xxx minus xxx 的部分了。

这个具体放在那个位置呀?还有后面这个章节的具体位置在哪?我找了一下没找到。

@muzimuzhi
Copy link

  • \raggedbottom 放在 \begin{document} 之后
  • 章节标题是指 \chapter \section 这样的命令,它们的样式修改一般借助宏包来完成。

如果你能提供一个间距不统一的例子,也许我可以实际帮忙看看。

@yingzhaozhang
Copy link

yingzhaozhang commented Jan 8, 2021

问题暂时解决了,但是有个问题是我生成的PDF行距看起来不到1.5倍行距。我用【Adobe Acrobat DC】转化word后显示的行距是1.4倍,在这个软件中显示的倍数1.8.

@zepinglee
Copy link

zepinglee commented Jan 8, 2021

Word 中的“单倍行距”跟字体有关,中易几个字体的“单倍行距”是字号的约 1.30 倍,Times New Roman 的是字号的 1.15 倍(参考 texdoc zhlineskip)。Word 中的 n 倍行距是在“单倍行距”上再乘的倍数。比如中易宋体 1.5 倍行距,是字号的 1.3 * 1.5 = 1.95 倍。

ctex 设置的 \baselineskip 已经是字号的 1.2 倍,如果设置 \linespread{1.5}\selectfont,行距是字号的 1.2 * 1.5 = 1.8 倍。正确的是 \linespread{1.625}\selectfont,其中 1.625 = 1.3 * 1.5 / 1.2,而且需要 \selectfont 才能生效。当然这里假设是中易字体,如果是西文字体,其中的 1.3 也要换成对应字体的倍数,

@TheNetAdmin
Copy link
Owner

TheNetAdmin commented Jan 8, 2021

问题分析

我感觉是有必要系统性地修复一下模板的行间距问题。这个历史遗留问题来源于最初的 zjuthesis 版本,即计算机学院本科生毕业设计模板。

问题来源

最初开发模板时追求与 Word 模板视觉上的统一性,所以当《编写规范》与《Word样例模板》有所出入时,优先追求与《Word样例模板》的视觉统一性。行间距问题就是由此而来,示例如下:

文件 说明
2020届浙江大学计算机、软件、信息安全本科生毕业论文(设计)模板.docx 2020 年计算机学院的样例 Word 模板
zjuthesis-1.5-linespread.pdf 使用 \linespread{1.5}\selectfont
zjuthesis-1.25-linespread.pdf 使用 \linespread{1.25}\selectfont

对比结果如下,我使用 MS Office 365 将 Word 模板转为 PDF,后通过 SumatraPDF 打开各个 PDF 文件,设置缩放为 “实际大小”:

zjuthesis-1.5-linespread(左) 对比 计算机学院模板(右)

承诺书
image

正文(注意画面底部的正文部分)

image

zjuthesis-1.25-linespread(左) 对比 计算机学院模板(右)

承诺书

image

正文(注意画面底部的正文部分)

image

对比总结

  1. 计算机学院给出的 Word 模板有诸多不一致的地方:
    1. 参杂使用 仿宋_GB2312华文仿宋 等多种仿宋字体
    2. 承诺书部分的行间距并不一致,上半部分似乎大于 1.5倍行间距,但 Word 中的设置均显示 1.5倍
  2. 相对来讲,\linespread{1.5} 设定视觉上更接近于 Word 模板的效果,特别是正文部分(虽然仍有偏差)
  3. \linespread{1.25} 虽然符合编写规则(见 Word 模板正文段落最后的要求),但视觉上讲与 Word 模板偏差较大

分析

@fengyang95 提到的问题存在与研究生模板,是由本科生模板开发而来,继承了本科生模板的行距设定。

通过对比两种 \linespread 设定与 研究生论文编写规则 (#94)(注意截图底部的正文对齐)

image

image

解决方案

请几位正在使用研究生模板的同学暂时使用 \linespread{1.625}\selectfont 替换原有的 \linespread{1.5}

% 1.5 linespread, using Microsoft Word's rule
\linespread{1.5}

近期我会对样式做一次整体性的调整,整理各个学院的相关规范和样例,并排查样式错误之处,其中会包括各个模板的行间距问题,请关注 #126

@fengyang95
Copy link
Author

问题分析

我感觉是有必要系统性地修复一下模板的行间距问题。这个历史遗留问题来源于最初的 zjuthesis 版本,即计算机学院本科生毕业设计模板。

问题来源

最初开发模板时追求与 Word 模板视觉上的统一性,所以当《编写规范》与《Word样例模板》有所出入时,优先追求与《Word样例模板》的视觉统一性。行间距问题就是由此而来,示例如下:

文件 说明
2020届浙江大学计算机、软件、信息安全本科生毕业论文(设计)模板.docx 2020 年计算机学院的样例 Word 模板
zjuthesis-1.5-linespread.pdf 使用 \linespread{1.5}\selectfont
zjuthesis-1.25-linespread.pdf 使用 \linespread{1.25}\selectfont
对比结果如下,我使用 MS Office 365 将 Word 模板转为 PDF,后通过 SumatraPDF 打开各个 PDF 文件,设置缩放为 “实际大小”:

zjuthesis-1.5-linespread(左) 对比 计算机学院模板(右)

承诺书
image

正文(注意画面底部的正文部分)

image

zjuthesis-1.25-linespread(左) 对比 计算机学院模板(右)

承诺书

image

正文(注意画面底部的正文部分)

image

对比总结

  1. 计算机学院给出的 Word 模板有诸多不一致的地方:

    1. 参杂使用 仿宋_GB2312华文仿宋 等多种仿宋字体
    2. 承诺书部分的行间距并不一致,上半部分似乎大于 1.5倍行间距,但 Word 中的设置均显示 1.5倍
  2. 相对来讲,\linespread{1.5} 设定视觉上更接近于 Word 模板的效果,特别是正文部分(虽然仍有偏差)

  3. \linespread{1.25} 虽然符合编写规则(见 Word 模板正文段落最后的要求),但视觉上讲与 Word 模板偏差较大

分析

@fengyang95 提到的问题存在与研究生模板,是由本科生模板开发而来,继承了本科生模板的行距设定。

通过对比两种 \linespread 设定与 研究生论文编写规则 (#94),\linespread{1.25}\selectfont 更符合研究生模板的要求。(注意截图底部的正文对齐)

image

image

解决方案

请几位正在使用研究生模板的同学暂时使用 \linespread{1.25}\selectfont 替换原有的 \linespread{1.5}

% 1.5 linespread, using Microsoft Word's rule
\linespread{1.5}

近期我会对样式做一次整体性的调整,整理各个学院的相关规范和样例,并排查样式错误之处,其中会包括各个模板的行间距问题,请关注 #126

感谢解答。另外研究生模板来看,linespread参数设成1.625视觉上看起来和要求更一致。

@zepinglee
Copy link

这个“承诺书”部分主要是因为 1~5 条的段落属性设置了“对齐到网格”,而且文档定义了网格,所以实际行距是按照网格算的。所以,14pt 的文字占两行,每行 15.6pt,正确的 \linespread 数值是 15.6 * 2 / 14 / 1.2 \approx 1.86。

第 6 条的段落属性却没有“对齐到网格”,所以就按 1.5 倍行距算。简直坑。

@TheNetAdmin
Copy link
Owner

第 6 条的段落属性却没有“对齐到网格”,所以就按 1.5 倍行距算。简直坑。

当初毕业的时候就被这些坑到了,以至于遗留了各种问题在现在的模板里 😓

@zepinglee
Copy link

zepinglee commented Jan 9, 2021

感谢解答。另外研究生模板来看,linespread参数设成1.625视觉上看起来和要求更一致。

啊,我记错了……Word 里的 xx 倍行距是在“单倍行距”的基础上乘的倍数。所以 Word 里的 1.5 倍行距,是字号的 1.3 * 15 倍(假设中易的字体),对应与 LaTeX 里的 \linespread 值是 1.3 * 1.5 / 1.2 = 1.625 。

我把上面回答的错误数值也修改了吧。

TheNetAdmin added a commit that referenced this issue Apr 13, 2021
@TheNetAdmin
Copy link
Owner

暂时使用 \linespread{1.625} 指定了 1.5 倍行距,后续研究下 MacOS 的字体的设定

@Fomalhauthmj
Copy link
Contributor

如果需要固定正文行距为20pt,该如何处理呢? #343

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I need help I want to get help from developers
Projects
None yet
Development

No branches or pull requests

6 participants