这个问题源于我之前的问题发布在这里。事实证明,我给出的 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
\titleformat
must的第四个强制参数不是为空;你可以使用
\titleformat{\subsection}{\normalsize\bfseries\itshape}{}{0pt}{}
考虑到评论,也许你正在尝试做这样的事情
\titleformat{\subsection}{\normalsize\bfseries\itshape}{\textnormal{\roman{subsection}.}}{1em}{}