我正在编写一份针对移动设备使用进行了优化的文档,因此我想节省空间。titlesec
添加到章节、子章节等的间距有点烦人。有没有(简单的)方法可以消除它?我希望只是更改标题的外观,同时保留所有 LaTeX 默认间距等。
该sectsty
包没有增加任何间距并且工作得很好,但我想利用一些titlesec
功能。
我查看了以下问题,但它们似乎无法解决我的问题:
- Titlesec:删除空白边距部分后的空格
- 章节上方带有 titlesec 的空间
- 使用 titlesec 和 compact 增加标题间距的可拉伸性
- 使用 titlesec 在章节标题前留出垂直空间
- 更改节标题上方和下方的空白
如果我忽略了上述解决方案中的某些内容,请关闭此主题。
\documentclass[11pt]{article}
\usepackage{geometry}
\geometry{margin=5mm, paper=a6paper, showframe=true}
\usepackage{titlesec}
\titleformat*\section{\Large}
\titleformat*\subsection{\large}
\usepackage{lipsum}
\begin{document}
\section*{Using titlesec}
\subsection*{Lorem Ipsum}
\lipsum[3]
\end{document}
注意:删除三行titlesec
以获得 LaTeX 默认结果。
答案1
更新答案
这样做\usepackage[nostruts]{titlesec}
将会移除支柱,就像我下面的回答一样。
该功能已于 2019-07-16 发布的 2.11 版本中添加。
原始答案
该软件包在某些地方titlesec
添加了内容\strut
。对于你的情况,你必须在三个地方消除这种行为:
\documentclass[11pt]{article}
\usepackage{geometry}
\geometry{margin=5mm, paper=a6paper, showframe=true}
\usepackage{titlesec}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\ttl@select}{\strut}{}{}{}
\patchcmd{\ttlh@hang}{\strut}{}{}{}
\patchcmd{\ttlh@hang}{\strut}{}{}{}
\makeatother
\titleformat*\section{\Large}
\titleformat*\subsection{\large}
\usepackage{lipsum}
\begin{document}
\section*{Using titlesec}
\subsection*{Lorem Ipsum}
\lipsum[3]
\end{document}
涉及的宏有\ttl@select
和\ttlh@hang
(第二个\strut
出现两次。如果选择了其他样式,可能需要修补\ttlh@display
或\ttlh@runin
。