编译已编辑的小节时出错

编译已编辑的小节时出错

参考这个问题:更改章节、小节、小小节、段落和小段落标题的大小

我试过了。虽然可以,但在编译时会产生以下错误:

./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 排版“单词”以斜体表示。

相关内容