titlesec
在使用包和命令编辑章节标题后,我发现使用包中的\titleformat
选项的图形环境时,行距会发生变化。我可以替换,让LaTeX 将图形移到它认为更合适的位置,或者添加,将标题中的行距恢复为原始行距。[H]
float
[H]
[h]
\clearpage
我喜欢在编辑时使用,[H]
以避免 LaTeX 替换图形,而我仍然不知道文本的最终版本,甚至不知道图形大小。所以:
- 我应该怎么做才能避免标题中出现不必要的行距?
- 当浮动文本时,有什么好方法来控制文本的行距?
我检查了titlesec 格式但我好像没起到什么效果。
MWE 如下:
\documentclass{book}
\usepackage[margin=2cm]{geometry}
\usepackage{lipsum}
\usepackage{graphicx}
\usepackage{float}
\usepackage{titlesec}
\titleformat{\chapter}[display]
{\vspace{-2.5cm}\normalfont\Large\filcenter\bfseries} % \sffamily
{\titlerule[1.5pt]%
\vspace{5pt}%
{\Huge{\chaptertitlename} {\thechapter}}
}
{2pt}
{\titlerule
\vspace{2pt}%
\Huge\bfseries
\vspace{5pt}
}
[{\titlerule[1.5pt]}\vspace{-20pt}]
% I don't know how and if titlespacing would help
%\titlespacing*{\chapter}{5pt}{0.7in}{20pt}
\begin{document}
\chapter{title}
\lipsum[1-4]
% \clearpage
\begin{figure}[H] % [h]
\includegraphics[width = 0.9\linewidth]{example-image-a}
\caption{Caption}
\end{figure}
\end{document}
以下是数据:
答案1
您永远不应该使用。无论如何,通过在章节标题中将其[H]
设置为零可以在一定程度上解决这个问题。\parskip
\documentclass{book}
\usepackage[margin=2cm]{geometry}
\usepackage{lipsum}
\usepackage{graphicx}
\usepackage{float}
\usepackage{titlesec}
\titleformat{\chapter}[display]
{\setlength{\parskip}{0pt}\normalfont\Large\filcenter\bfseries} % \sffamily
{\titlerule[1.5pt]%
\vspace{5pt}%
{\Huge{\chaptertitlename} {\thechapter}}
}
{2pt}
{\titlerule
\vspace{2pt}%
\Huge\bfseries
\vspace{5pt}
}
[{\titlerule[1.5pt]}]
% I don't know how and if titlespacing would help
\titlespacing*{\chapter}{0pt}{0pt}{20pt} % fix the 20pt to suit
\begin{document}
\chapter{title}
\lipsum[1-4]
\begin{figure}[H] % [h]
\includegraphics[width = 0.9\linewidth]{example-image-a}
\caption{Caption}
\end{figure}
\end{document}
我删除了“眼睛计算的”负垂直空间,并添加了\titlespacing
指令来获取精确的结果。
拉伸仅发生在文本段落之间,而不发生在章节标题中。结果无论如何都是灾难性的,但这是由 造成的[H]
。
\documentclass{book}
\usepackage[margin=2cm]{geometry}
\usepackage{lipsum}
\usepackage{graphicx}
\usepackage{titlesec}
\titleformat{\chapter}[display]
{\setlength{\parskip}{0pt}\normalfont\Large\filcenter\bfseries} % \sffamily
{\titlerule[1.5pt]%
\vspace{5pt}%
{\Huge{\chaptertitlename} {\thechapter}}
}
{2pt}
{\titlerule
\vspace{2pt}%
\Huge\bfseries
\vspace{5pt}
}
[{\titlerule[1.5pt]}]
% I don't know how and if titlespacing would help
\titlespacing*{\chapter}{0pt}{0pt}{20pt}% fix the 20pt to suit
\begin{document}
\chapter{title}
\lipsum[1-4]
\begin{figure}[!htp]
\centering
\includegraphics[width = 0.8\linewidth]{example-image-a}
\caption{Caption}
\end{figure}
\lipsum[1-20]
\end{document}