我希望输入时显示“文章 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}