Zähler für eigene Umgebung definieren.

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


geogott
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Mo 3. Jan 2011, 17:14

Zähler für eigene Umgebung definieren.

Beitrag von geogott »

Hallo,

für meine DA will ich in einer Tikz-Umgebung eine Box einbinden, in der dann Rechenbeispiele enthalten sind.
Dazu soll jede Beispielbox analog zum Beispiel einer Tabelle nummeriert werden, jedoch habe ich das leider noch nicht richtig hinbekommen.

Vielleicht könnt ihr euch das mal anschauen:

Warum nummeriert er die Boxen nicht richtig? Warum steht oben immer nur "10"?
\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{shapes,snakes}
\usepackage{amsmath,amssymb}

\newcounter{beispiel}
\def\thebeispiel{\thesection\arabic{beispiel}}

\begin{document}

\section{fdf}

% Define box and box title style
\tikzstyle{mybox} = [draw=red, fill=blue!20, very thick,
    rectangle, rounded corners, inner sep=10pt, inner ysep=20pt]
\tikzstyle{fancytitle} =[fill=red, text=white]

\begin{tikzpicture}
\node [mybox] (box){%
    \begin{minipage}{0.50\textwidth}
        To calculate the horizontal position the kinematic differential
        equations are needed:
        \begin{align}
            \dot{n} &= u\cos\psi -v\sin\psi \\
            \dot{e} &= u\sin\psi + v\cos\psi
        \end{align}
        For small angles the following approximation can be used:
        \begin{align}
            \dot{n} &= u -v\delta_\psi \\
            \dot{e} &= u\delta_\psi + v
        \end{align}
    \end{minipage}
};
\node[fancytitle, right=10pt] at (box.north west) {A fancy title\thebeispiel};

\end{tikzpicture}%

\begin{tikzpicture}
\node [mybox] (box){%
    \begin{minipage}{0.50\textwidth}
        To calculate the horizontal position the kinematic differential
        equations are needed:
        \begin{align}
            \dot{n} &= u\cos\psi -v\sin\psi \\
            \dot{e} &= u\sin\psi + v\cos\psi
        \end{align}
        For small angles the following approximation can be used:
        \begin{align}
            \dot{n} &= u -v\delta_\psi \\
            \dot{e} &= u\delta_\psi + v
        \end{align}
    \end{minipage}
};
\node[fancytitle, right=10pt] at (box.north west) {A fancy title\thebeispiel};

\end{tikzpicture}%
\section{fdsfd}

\section{fdf}

\end{document}

Hagbard Celine
Forum-Century
Forum-Century
Beiträge: 152
Registriert: Mi 23. Feb 2011, 22:13
Wohnort: Halle (Saale)

Beitrag von Hagbard Celine »

Hallo geogott,

der Zähler zeigt nicht "10" an. Er steht auf "0", wie das alle Zähler tun, die man neu anlegt. Allerdings hast du \thebeispiel so definiert, dass dort die section-Nummer mit angezeigt wird. Die "1" ist also die section-Nummer. Es wäre wohl sinnvoll, die Umdefinition so zu machen:
\def\thebeispiel{\thesection.\arabic{beispiel}}
So erkennt man noch, was section-Nummer und was Beispiel-Nummer ist.

Außerdem änderst du den Wert des Zählers nicht, weshalb er immer auf "0" bleibt. Fügst du am Anfang jedes Bildes ein \stepcounter{beispiel} oder \refstepcounter{beispiel} (falls du auch auf die Beispiele referenzieren möchtest) ein, funktioniert auch die Nummerierung.

Viele Grüße,
Jonas

Noch so einer

Beitrag von Noch so einer »

Und wenn das ganze wirklich analog zu Tabellen (und Abbildungen) gemacht werden soll, dann wäre eventuell eines der Pakete caption oder tocbasic etwas für Dich, die beide eine komfortable Definierung weiterer Gleitumgebungen erlauben. Wenn Du in Wirklichkeit eine KOMA-Script-Klasse verwendest, wird tocbasic ohnehin bereits verwendet. Dieses Paket erlaubt auch, nicht gleitende Umgebungen zu definieren, die wie Gleitumgebungen aussehen.

Du bekommst dann nebenbei auch noch die Möglichkeit, Verzeichnisse (vgl. Tabellenverzeichnis und Abbildungsverzeichnis) zu erzeugen.
Näheres zu tocbasic ist der KOMA-Script-Anleitung zu entnehmen.

Antworten