Я хочу, чтобы подразделы отображались как "Статья 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: Фу
Статья 2:
Но я хочу, чтобы он производил:
Статья 1: Фу
Статья 2
решение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}