titlesec 和水平模式的问题

titlesec 和水平模式的问题

我指的是这个问题我得到了以下解决方案。给出错误的代码如下(从我的 LaTeX 编辑器复制粘贴):

\documentclass{article}
\usepackage{titlesec}
\titleformat{\part}[hang]
  {\normalfont\LARGE\bfseries}{\thepart}{1em}{}
\titlespacing*{\part}{0pt}{3.5ex plus 1ex minus .2ex}{2.3 ex plus .2ex}
\renewcommand{\thepart}{\arabic{part}}
\let\mysection\part
\usepackage{lipsum}
\begin{document}
\mysection{A chapter} one
\mysection{another} two
\section{A section}
\end{document}

我收到的错误是Package titlesec Error: Entered in horizontal mode. \mysection{another}

答案1

问题出现是因为titlesec不触及\part通常跨类不标准的定义。我在原始问题中没有考虑到这一点。解决方案是通过明确赋予它一个类来titlesec重新定义,使用以下命令:\part\titleclass

\documentclass{article}
\usepackage{titlesec}
\titleclass{\part}{straight}
\titleformat{\part}[hang]
  {\normalfont\LARGE\bfseries}{\thepart}{1em}{}
\titlespacing*{\part}{0pt}{3.5ex plus 1ex minus .2ex}{2.3 ex plus .2ex}
\renewcommand{\thepart}{\arabic{part}}
\let\mysection\part
\begin{document}
\mysection{A chapter}
one
\mysection{another}
two

\end{document}

代码输出

相关内容