
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 \thefoo
qual 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 chapter
o contador é aumentado em \refstepcounter
ou \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 tcolorbox
e usando number within
e 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}