
Utilizo el siguiente código para dibujar un cuadro con una señal de advertencia, la palabra advertencia y el texto del contenido. La tarea ahora es numerar las advertencias. ¿Cómo puedo imprimir esto? Por ejemplo, si mi advertencia aparece en el capítulo 1, se llamará advertencia 1.1. El próximo aviso se denominará 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}
}
Respuesta1
Si un contador, digamos foo, está definido con \newcounter
, hay una definición automática cuyo valor \thefoo
predeterminado es \arabic{foo}
, es decir, imprimir los valores del contador con números arábigos.
\newcounter{foo}[chapter]
reinicia el contador cada vez que se inicia un nuevo capítulo (mejor: cuando chapter
el contador aumenta en \refstepcounter
o \stepcounter
.
Para cambiar el formato de numeración, utilice \renewcommand{\thefoo}{\thechapter.\arabic{foo}
, es decir, el número foo está precedido por el número del capítulo.
Aquí hay un enfoque similar, donde esto se hace automáticamente con a tcolorbox
y usando number within
y 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}