Quero que as subseções apareçam como "Artigo 1: Foo" quando eu entrar \subsection{Foo}
, mas como "Artigo 1" (sem dois pontos) quando eu entrar \subsection{}
(sem título). Existe uma maneira de fazer isso?
Aqui está um MWE do que tenho agora:
\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}
O que produz
Artigo 1: Foo
Artigo 2:
Mas eu quero que produza:
Artigo 1: Foo
Artigo 2.º
Responder1
Você pode fazer isso com etoolbox
e a explicit
opção de titlesec
. Observe também que se quiser usar starred
subseções, você pode ter uma formatação diferente com a numberless
chave:
\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}