如果没有给出标题,则子部分格式不同

如果没有给出标题,则子部分格式不同

我希望输入时显示“文章 1:Foo”之类的子部分\subsection{Foo},但输入(无标题)时显示“文章 1”(无冒号)\subsection{}。有办法吗?

以下是我现在拥有的 MWE:

\documentclass{article}

\usepackage{titlesec}

\newcounter{artikel}
\setcounter{artikel}{1}

\renewcommand{\thesubsection}{\arabic{artikel}}
\titleformat{\subsection}{\large\bfseries}{}{0pt}{Article \thesubsection: \refstepcounter{artikel}}

\begin{document}

\subsection{Foo}
\subsection{}

\end{document}

产生

第 1 条:Foo

第二条:

但我希望它产生:

第 1 条:Foo

第二条

答案1

etoolbox您可以使用和explicit选项来实现titlesec。另请注意,如果您想使用starred小节,可以使用以下命令设置不同的格式numberless

\documentclass{article}

\usepackage[explicit]{titlesec}
\usepackage{etoolbox}
\newcounter{artikel}
\setcounter{artikel}{1}

\renewcommand{\thesubsection}{\arabic{artikel}}
\titleformat{\subsection}{\large\bfseries}{}{0pt}{Article \thesubsection\notblank{#1}{:~}{}#1\refstepcounter{artikel}}

\begin{document}

    \subsection{Foo}
    \subsection{ }

\end{document} 

在此处输入图片描述

相关内容