Obtendo formatação e espaçamento de \section

Obtendo formatação e espaçamento de \section

Estou tentando criar um novo \sectioncomando com uma formatação de texto ligeiramente diferente. Embora eu possa descobrir como fazer isso com o titlesecpacote, gostaria de evitar inserir manualmente a formatação e o espaçamento.

Até agora eu tenho

\titleclass{\customsec}{straight}[\section]
\newcounter{customsec}

\titleformat{\customsec}{\sffamily\normalsize\bfseries}{}{0em}{Custom text \thecustomsec:~}
\titlespacing*{\customsec}{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}

Atualmente inseri manualmente alguns valores de fonte, tamanho, etc., mas gostaria que isso fosse uma cópia exata da formatação de \section. A única mudança que preciso é poder alterar o texto no título da seção. Existe algum comando que possa extrair isso para mim?

Ou a maneira correta é apenas renovar o comando na parte do texto onde preciso da seção personalizada e restaurá-lo posteriormente?

Responder1

Não sei como extrair o estilo exato do \sectioncomando padrão, mas parece que titlesecnão oferece facilidades para isso e fazê-lo manualmente ou automaticamente seria frágil.

No entanto, apenas alterar localmente o rótulo do título parece ser bastante fácil e, usando um grupo TeX (que é a camada interna de colchetes), ele volta automaticamente ao padrão quando terminarmos.

\documentclass{article}
\usepackage{titlesec}

\newcommand\customsec[1]{{%
    \titlelabel{Custom text \thetitle:~}%
    \section{#1}%
}}

\begin{document}
    \section{normal section}
    \customsec{custom section}
    \section{normal section}
    \customsec{custom section}
\end{document}

resultado

EDITAR: Em uma versão mais antiga deste post, foram mostradas duas versões mais complicadas que redefiniam manualmente \titlelabelpara o padrão ou acessavam macros internas do LaTeX para salvá-lo e restaurá-lo.

informação relacionada