
Ich möchte eine Umgebung erstellen exercise
, die in Abschnitten, Unterabschnitten usw. verwendet werden kann. Betrachten Sie zur Veranschaulichung Folgendes:
- Wenn in Abschnitt 1 das dritte Beispiel den Titel haben sollte:Beispiel 1.3, Aber
- wenn in Abschnitt 1 und Unterabschnitt 2 das dritte Beispiel wie folgt betitelt werden sollteBeispiel 1.2.3.
Wie macht man das?
\documentclass{article}
\usepackage{tcolorbox}
\newcounter{exercise}
\newenvironment{exercise}
{\par\smallskip\refstepcounter{exercise}\begin{tcolorbox}[title=Exercise \thesection.\thesubsection.\theexercise]\ignorespaces}
{\end{tcolorbox}\par\smallskip\ignorespacesafterend}
\begin{document}
\section{Polynomial}
In this section we will study expressions in the following form.
\[
a_0 x^n + a_1 x^{n-1} \cdots + a_n
\]
where \ldots
\begin{exercise}
Is $\frac{x-1}{2}$ a polynomial?
\tcblower
Yes. Because it can be rewritten as $x/2-1/2$.
\end{exercise}
\begin{exercise}
Is $0$ a polynomial?
\tcblower
Yes.
\end{exercise}
\subsection{Order}
The highest exponent in polynomial terms represents the order of the polynomial.
\begin{exercise}
What is the order of $2x^3-3x^5+1$?
\tcblower
The highest exponent is 5 so the polynomial order is 5.
\end{exercise}
\end{document}
Ich habe Folgendes getan, aber die Ausgabe hat einen doppelten Unterabschnitt, wenn ich mich im Unterabschnitt befinde.
\newcounter{exercise}
\newenvironment{exercise}
{\par\smallskip\refstepcounter{exercise}\begin{tcolorbox}[title=Exercise \thesection\ifnum\value{subsection}>0.\thesubsection\fi.\theexercise]\ignorespaces}
{\end{tcolorbox}\par\smallskip\ignorespacesafterend}
Notiz:
Vorschläge zu bewährten Vorgehensweisen, um die Umgebung immer ausgefeilter zu gestalten, z. B. durch Referenzierung per Etikett usw., sind willkommen.
Antwort1
Sie möchten das Präfix einfügen, damit es nicht nur im Titel \theexercise
gesehen wird .\ref
\documentclass{article}
\usepackage{tcolorbox}
\newcounter{exercise}[subsection]
\renewcommand\theexercise{%
\thesection.%
\ifnum\value{subsection}>0 \arabic{subsection}.\fi
\arabic{exercise}}
\newenvironment{exercise}
{\par\smallskip\refstepcounter{exercise}
\begin{tcolorbox}[title=Exercise \theexercise]\ignorespaces}
{\end{tcolorbox}\par\smallskip\ignorespacesafterend}
\begin{document}
\section{Polynomial}
In this section we will study expressions in the following form.
\[
a_0 x^n + a_1 x^{n-1} \cdots + a_n
\]
where \ldots
\begin{exercise}
Is $\frac{x-1}{2}$ a polynomial?
\tcblower
Yes. Because it can be rewritten as $x/2-1/2$.
\end{exercise}
\begin{exercise}
Is $0$ a polynomial?
\tcblower
Yes.
\end{exercise}
\subsection{Order}
The highest exponent in polynomial terms represents the order of the polynomial.
\begin{exercise}
What is the order of $2x^3-3x^5+1$?
\tcblower
The highest exponent is 5 so the polynomial order is 5.
\end{exercise}
\end{document}
Antwort2
Verfeinerung fürDavid Carlisles Lösung, es ist zu lang für einen Kommentar:
\newcounter{exercise}[subsection]
\makeatletter
\@addtoreset{exercise}{section}
\makeatother
\renewcommand\theexercise{%
\ifnum\value{subsection}>0 %
\thesubsection
\else
\thesection
\fi
.\arabic{exercise}%
}
Bemerkungen:
\newcounter{exercise}[subsection]
setzt den Zähler nur für neue zurück\subsections
, nicht für\section
. Ein zusätzlicher\@addtoreset{exercise}{section}
wird benötigt.Darin
\theexercise
habe ich\thesubsection
statt verwendet\arabic{subsection}
, dann wird eine Änderung in\thesubsection
automatisch in übernommen\theexercise
, zB wenn jemand eine andere Nummerierung für Unterabschnitte als die Standardeinstellung haben möchte.
Antwort3
Ich denke, man kann den Unterabschnittszähler mit Null vergleichen (zB mit Befehlen aus dem etoolbox
) und auf dieser Basis entscheiden, wie die Zahl zusammengesetzt wird.