So passen Sie einen Zähler an, je nachdem, ob Sie sich in einem Abschnitt oder Unterabschnitt befinden

So passen Sie einen Zähler an, je nachdem, ob Sie sich in einem Abschnitt oder Unterabschnitt befinden

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?

Bildbeschreibung hier eingeben

\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

Bildbeschreibung hier eingeben

Sie möchten das Präfix einfügen, damit es nicht nur im Titel \theexercisegesehen 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 \theexercisehabe ich \thesubsectionstatt verwendet \arabic{subsection}, dann wird eine Änderung in \thesubsectionautomatisch 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.

verwandte Informationen