使用 titlesec 包对章节进行编号

使用 titlesec 包对章节进行编号

这个问题源于我之前的问题发布在这里。事实证明,我给出的 MWE 确实有效,所以我进行了一些调查并发现了真正的问题。我有一份文档,我通常不想在其中对章节、部分和小节进行编号。只有一个部分应该包含罗马编号的小节。考虑以下代码:

\documentclass{report}
\usepackage{titlesec}
\titleformat{\subsection}{\normalsize\bf\it}{}{}{}
\setcounter{secnumdepth}{-1} 
\begin{document} 
\tableofcontents 
\chapter{mwe} 
\section{unnumbered subsections} 
\subsection{unnumbered} 
\section{roman numbered subsections} 
\setcounter{secnumdepth}{2} 
\renewcommand{\thesubsection}{\textnormal{\roman{subsection}}.} 
\subsection{roman one} 
\subsection{roman two} 
\setcounter{secnumdepth}{-1} 
\chapter{Second chapter} 
\section{unnumbered subsections} 
\subsection{unnumbered} 
\end{document}

这是我的解决方案早期帖子添加 titlesec 包并修改子节的标题(即第 2 行和第 3 行)。在这里,我在“\subsection{roman one}”行中收到“缺失数字视为零”错误。有人能告诉我原因以及修复方法或解决方法吗?

答案1

\titleformatmust的第四个强制参数不是为空;你可以使用

\titleformat{\subsection}{\normalsize\bfseries\itshape}{}{0pt}{}

考虑到评论,也许你正在尝试做这样的事情

\titleformat{\subsection}{\normalsize\bfseries\itshape}{\textnormal{\roman{subsection}.}}{1em}{}

相关内容