我已经定义了自己的章节标题,并修改了字体大小以及上下间距。
\documentclass[final]{book}
\usepackage{titlesec}
\titleformat{\chapter}[hang]{\normalfont\huge\bfseries}{\chaptertitlename\ \thechapter}{0pt}{\LARGE}
\titlespacing*{\chapter}{0pt}{30pt}{20pt}
\def \mychapter#1{\chapter*{#1}}
\begin{document}
\mychapter{Some Very Long Chapter Heading That Will Span Across Two Or More Lines}
\end{document}
现在我想减小本章标题的行距 (baselineskip)。所以我认为setspace
包和setstretch
命令可以解决问题。
\documentclass[final]{book}
\usepackage{setspace}
\usepackage{titlesec}
\titleformat{\chapter}[hang]{\normalfont\huge\bfseries}{\chaptertitlename\ \thechapter}{0pt}{\LARGE}
\titlespacing*{\chapter}{0pt}{30pt}{20pt}
\def \mychapter#1{\chapter*{\setstretch{0.1}#1}}
\begin{document}
\mychapter{Some Very Long Chapter Heading That Will Span Across Two Or More Lines}
\end{document}
不幸的是,\setstretch{0.1}
似乎对行距没有影响。单独使用时,没有titlesec
包及其命令
\documentclass[final]{book}
\usepackage{setspace}
\def \mychapter#1{\chapter*{\setstretch{0.1}\LARGE#1}}
\begin{document}
\mychapter{Some Very Long Chapter Heading That Will Span Across Two Or More Lines}
\end{document}
titlesec
它按预期工作,但和之间似乎存在一些包冲突setspace
。
我怎样才能保留titlesec
本章标题的定义,但同时改变(减少/增加)其行距?
答案1
在第一个强制参数中给出规范(作为个人说明,我认为你的定义的间距有点尴尬):
\documentclass[final]{book}
\usepackage{setspace}
\usepackage{titlesec}
\titleformat{\chapter}[hang]
{\normalfont\huge\bfseries\setstretch{0.1}}
{\chaptertitlename\ \thechapter}{0pt}{\LARGE}
\titlespacing*{\chapter}{0pt}{30pt}{20pt}
\begin{document}
\chapter{Some Very Long Chapter Heading That Will Span Across Two Or More Lines}
\end{document}
因为根据评论,不会使用编号,所以以下定义似乎是正确的方法(不需要额外的命令);我还加入了芭芭拉·比顿的建议关于抑制标题中的连字符:
\documentclass[final]{book}
\usepackage{setspace}
\usepackage{titlesec}
\titleformat{\chapter}[hang]
{\normalfont\filright\bfseries\setstretch{0.1}}
{}{0pt}{\LARGE}
\titlespacing*{\chapter}{0pt}{30pt}{20pt}
\begin{document}
\chapter{Some Very Long Chapter Heading That Will Span Across Two Or More Lines}
\end{document}