
Mit dem folgenden Code zeichne ich eine Box mit einem Warnzeichen, dem Wort Warnung und dem Inhaltstext. Die Aufgabe besteht nun darin, die Warnungen zu nummerieren. Wie kann ich das ausdrucken? Wenn meine Warnung beispielsweise in Kapitel 1 erscheint, soll sie Warnung 1.1 heißen. Die nächste Warnung soll 1.2 heißen usw.
\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}
}
Antwort1
Wenn ein Zähler, beispielsweise foo, mit definiert wird \newcounter
, gibt es eine automatische Definition von , \thefoo
die standardmäßig auf gesetzt wird \arabic{foo}
, d. h. die Zählerwerte werden mit arabischen Zahlen gedruckt.
\newcounter{foo}[chapter]
setzt den Zähler bei jedem Start eines neuen Kapitels zurück (besser: wenn der Zähler um oder chapter
erhöht wird ) .\refstepcounter
\stepcounter
Um das Nummerierungsformat zu ändern, verwenden Sie \renewcommand{\thefoo}{\thechapter.\arabic{foo}
, d. h. der Foo-Nummer wird die Kapitelnummer vorangestellt.
tcolorbox
Hier ist ein ähnlicher Ansatz, bei dem dies automatisch mit einem und unter Verwendung von number within
und erfolgt 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}