段落最后一行太挤,导致多出一个空行

发布于 2021-03-06 19:00:31

这种因为段落最后一行太挤了,导致多出了一个空行,要怎么消除这个空行?
调整标点符号的方法不好使,因为内容比较多,这一段调整好了,其它段也有这样多出空行的情况:
8f6d8c155cd1e5acf89f97d78fb2f2e7.png

查看更多

关注者
0
被浏览
2.9k
6 个回答
其实有点卡
其实有点卡 2021-03-06
这家伙很懒,什么也没写!

如果不知道你的实现方式,就不能对症下药,所以要给出你的最小工作示例

LaTeXStudio
LaTeXStudio 2021-03-06
这家伙很懒,什么也没写!

你的代码是怎么写的最好展示出来,或者上传上来。

輪迴
輪迴 2021-03-06
这家伙很懒,什么也没写!

调了一个MWE如下,Windows环境,字体使用系统默认的SimSun和KaiTi:

\documentclass[openany, zihao=5]{ctexbook}

\usepackage{geometry}

\geometry{a4paper, top=2.54cm, left=3.18cm, bottom=2.54cm, right=3.18cm, includehead=true}

\xeCJKsetup{CJKecglue={\hskip 0.1em plus 0.1em}} % 这些排版需求希望不要改

\setCJKfamilyfont{mysong}{SimSun}
\setCJKfamilyfont{mykai}{KaiTi}

\newcommand*{\mysongti}{\CJKfamily+{mysong}} % 阿拉伯数字也使用中文字体,这些排版需求希望不要改
\newcommand*{\mykaishu}{\CJKfamily+{mykai}} % 阿拉伯数字也使用中文字体,这些排版需求希望不要改

\def\cmda#1{\zihao{-4}\mysongti{#1}\vspace{0.3ex}\par} % \vspace{0.3ex}是希望排版额外增加段后间距。但是在某些临界情况下,好像会出现多出一行的问题
\def\cmdb#1{\zihao{5}\mykaishu{#1}\vspace{0.3ex}\par}

\begin{document}

% 如果\cmda命令里有\vspace{0.3ex},在这个极端情况下,就会多出一个空行
% 有没有办法,即使段落最后一行非常挤,也能多出0.3ex的段后间距,但又不会多出一个空行的段后间距?
\cmda{1王致伯于秦,2诸侯皆贺秦。3秦孝公使公子少官帅师会诸侯于逢泽以朝王。} % 或者干脆让这一行松一点,把“王。”成为新行?
\cmdb{1王致伯于秦,2诸侯皆贺秦。3秦孝公使公子少官帅师会诸侯于逢泽以朝王。} 

\end{document}
啸行
啸行 2021-03-07
这家伙很懒,什么也没写!
\documentclass[openany, zihao=5]{ctexbook}

\usepackage{geometry}

\geometry{a4paper, top=2.54cm, left=3.18cm, bottom=2.54cm, right=3.18cm, includehead=true}

\xeCJKsetup{CJKecglue={\hskip 0.1em plus 0.1em}} % 这些排版需求希望不要改

\setCJKfamilyfont{mysong}{SimSun}
\setCJKfamilyfont{mykai}{KaiTi}

\newcommand*{\mysongti}{\CJKfamily+{mysong}} % 阿拉伯数字也使用中文字体,这些排版需求希望不要改
\newcommand*{\mykaishu}{\CJKfamily+{mykai}} % 阿拉伯数字也使用中文字体,这些排版需求希望不要改

\def\cmda#1{\zihao{-4}\mysongti{#1}\vspace{0.3ex}\par} % \vspace{0.3ex}是希望排版额外增加段后间距。但是在某些临界情况下,好像会出现多出一行的问题
\def\cmdb#1{\zihao{5}\mykaishu{#1}\vspace{0.3ex}\par}

\begin{document}

% 如果\cmda命令里有\vspace{0.3ex},在这个极端情况下,就会多出一个空行
% 有没有办法,即使段落最后一行非常挤,也能多出0.3ex的段后间距,但又不会多出一个空行的段后间距?
\cmda{1王致伯于秦,2诸侯皆贺秦。3秦孝公使公子少官帅师会诸侯于逢泽以朝王。\xeCJKnobreak} % 或者干脆让这一行松一点,把“王。”成为新行?
\cmdb{1王致伯于秦,2诸侯皆贺秦。3秦孝公使公子少官帅师会诸侯于逢泽以朝王。} 

\end{document}

捕获.png

拿了橘子跑啊
拿了橘子跑啊 2021-03-08
这家伙很懒,什么也没写!

在我看来,那根本不是段落最后一行的问题。那是不同段落之间的垂直间距问题。这要综合前后几页文档的情况来看。比如说,本页末尾正好排到一个章节标题,但排不下标题后的正文,而页面底部不允许出现无正文的标题,于是标题被放到下一页,而前面这一页的空间不能占满,latex 就会调节各段落之间的垂直间距。你只给这点东西根本看不出问题的所在。问题也不一定就是你想象的那个问题。

所以,MWE 是必要的。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览