Como posso adicionar um contador para meu próprio comando que também é impresso?

Como posso adicionar um contador para meu próprio comando que também é impresso?

Eu uso o código a seguir para desenhar uma caixa com um sinal de alerta, a palavra warning e o texto do conteúdo. A tarefa agora é numerar os avisos. Como posso imprimir isso? Por exemplo, se meu aviso aparecer no capítulo 1, ele será chamado de aviso 1.1. O próximo aviso será chamado 1.2, etc.

\newcounter{myWarning}
\newcommand{\myWarning}[1]
{
  \refstepcounter{myWarning}
  \begin{longtable}[H]{|p{0.1\linewidth}m{0.9\linewidth}|}\hline
    \textbf{WARNING} & \\
    \includegraphics[width=1cm]{"CommonSubdocuments/Pictures/WarningSign"} & \textbf{#1} \\\hline
  \end{longtable}
  \addtocounter{table}{-1}
}

Responder1

Se um contador, digamos foo, for definido com \newcounter, há uma definição automática de \thefooqual padrão é \arabic{foo}, ou seja, imprimindo os valores do contador com números arábicos.

\newcounter{foo}[chapter]zera o contador cada vez que um novo capítulo é iniciado (melhor: quando chaptero contador é aumentado em \refstepcounterou \stepcounter.

Para alterar o formato da numeração, use \renewcommand{\thefoo}{\thechapter.\arabic{foo}, ou seja, o número foo é precedido pelo número do capítulo.

Aqui está uma abordagem semelhante, onde isso é feito automaticamente com a tcolorboxe usando number withine use counter=....

\documentclass{book}

\usepackage[most]{tcolorbox}

\usepackage{bclogo}

\newcounter{myWarning}[chapter]

%\renewcommand{\themyWarning}{\thechapter.\arabic{myWarning}}
\newtcolorbox[use counter=myWarning,number within=chapter]{warningbox}[1][]{enhanced jigsaw, sharp corners,title={Warning \thetcbcounter},#1}

\newcommand{\myWarning}[1][]{%
  \begin{warningbox}{#1}
    \textbf{WARNING}

    \bcattention% Warning sign
  \end{warningbox}
}

\begin{document}
\chapter{Foo}
\myWarning

\myWarning

\chapter{Foobar}
\myWarning
\end{document}

insira a descrição da imagem aqui

informação relacionada