参考这个问题:更改章节、小节、小小节、段落和小段落标题的大小
我试过了。虽然可以,但在编译时会产生以下错误:
./TexFile.tex:101: Package titlesec Error:
Entered in hori
zontal mode.
l.101 \subsection{My Subsection}
And hitting return for more info reveals:
? h
The <format> argument cannot contain horizontal material such as text, \noindent, \makebox, etc.
?
即使我从 Gonzalo 的答案中复制并粘贴代码,使用以下代码来启动小节,也会发生这种情况:
\subsection{MySubsection}
有趣的是,错误没有发生在章节上,只发生在小节和小小节上。
编辑:
这是我的代码:
\usepackage{titlesec}
\titleformat{\section}{\sffamily\Large\bfseries}{\thesection}{1em}{}
\titlespacing{\section}{0pt}{2ex}{1ex}
\titleformat{\subsection}{\sffamily\textit}{\thesubsection}{1em}{}
\titlespacing{\subsection}{0pt}{1ex}{0ex}
\titleformat{\subsubsection}{\sffamily\textit}{\thesubsubsection}{1em}{}
\titlespacing{\subsubsection}{0pt}{0.5ex}{0ex}
\titleformat{\paragraph}[runin]{\normalfont\normalsize\bfseries}{\theparagraph}{1em}{}
\titleformat{\subparagraph}[runin]{\normalfont\normalsize\bfseries}{\thesubparagraph}{1em}{}
根据 daleif 的请求,以及对于遇到此问题的其他任何人,这里有一个有关该错误的最小工作示例:
\documentclass{article}
\usepackage{titlesec}
\titleformat{\section}{\sffamily\Large\bfseries}{\thesection}{1em}{}
\titlespacing{\section}{0pt}{2ex}{1ex}
\titleformat{\subsection}{\sffamily\textit}{\thesubsection}{1em}{}
\titlespacing{\subsection}{0pt}{1ex}{0ex}
\titleformat{\subsubsection}{\sffamily\textit}{\thesubsubsection}{1em}{}
\titlespacing{\subsubsection}{0pt}{0.5ex}{0ex}
\titleformat{\paragraph}[runin]{\normalfont\normalsize\bfseries}{\theparagraph}{1em}{}
\titleformat{\subparagraph}[runin]{\normalfont\normalsize\bfseries}{\thesubparagraph}{1em}{}
\begin{document}
\section{Section1}
\subsection{Subsection}
Minimal working example
\end{document}
这重现了编译中的错误,并且当应用 egreg 的答案时,该错误不再发生。
答案1
在第二个强制参数中,\titleformat
您应该只包含与字体更改命令相关的声明。
因此,不是\textit
,它是一个带参数的命令,但对应的声明是。与用于获取粗体字样的\itshape
相比,不是。\bfseries
\textbf
不同之处在于\itshape
告诉 TeX 从那时起使用斜体排版(但由于分组,这将仅限于标题),而\textit{word}
告诉 TeX 排版“单词”以斜体表示。