Neuer Zähler, auf den verwiesen werden kann

Neuer Zähler, auf den verwiesen werden kann

Ich habe eine Methode erstellt \makeExample, die einen neuen Zähler namens erstellt example. Können Sie mir sagen, wie ich sie ändern kann, damit ich auf den Zähler verweisen kann example? Damit ich beispielsweise schreiben kann: some text.... \vref{label} .....

Ein funktionierendes Beispiel finden Sie hier:https://www.sharelatex.com/project/541ffc3e05c84a5c4060ae58

Meine Methode sieht folgendermaßen aus:

\newcounter{example}[section]
\newenvironment{example}[1][]{\refstepcounter{example}\par\medskip
   \LARGE\textsc{Eksempel~\thechapter.\theexample #1}}{\medskip}

\newcommand\makeExample{%
 {%
    \begin{center}%
        \begin{example}%
        \end{example}%
    \end{center}%
 }%
}

Antwort1

Die einfachste Änderung an Ihrem Code besteht darin, ein optionales Argument hinzuzufügen, in \makeExampledas Sie beliebigen Code einfügen können, z. B. \label. Ich poste unten ein Beispiel dafür, aber ich vermute stark, dass dies nicht das ist, was Sie wollen. Das von Ihnen bereitgestellte Beispiel richtet eine mdframedUmgebung ein und es wäre am einfachsten, den theoremähnlichen Mechanismus zu verwenden, der vom mdframedPaket wie folgt bereitgestellt wird:

Beispielausgabe

\documentclass{memoir}

\usepackage[utf8]{inputenc}
\usepackage{mathtools,varioref}
\usepackage[framemethod=TikZ]{mdframed}

\mdfdefinestyle{cexamplestyle}{%
 frametitlefont=\normalfont\Large\scshape,
 frametitlealignment=\center
}
\mdtheorem[style=cexamplestyle]{centerexample}{Example}[chapter]


\begin{document}

\vref{todo} is a sample. The fist is a sample of how I would like it to be

\begin{centerexample}
  \label{todo}
    \noindent
    \textbf{Data:} 1011
    \newline
    \textbf{Function:} $a\cdot x^3+b\cdot x^2+c\cdot x+d\cdot 1$

    \noindent
    Værdierne fra $a$, $b$, $c$ og $d$ findes som følger:
    \newline
    $a=1$, $b=0$, $c=1$ og $d=1$
\end{centerexample}

\end{document}

Hier ist das Ergebnis, das die erste Änderung gebracht hätte:

\documentclass{book}

\usepackage{mdframed}
\newcounter{example}[section]
\newenvironment{example}[1][]{\refstepcounter{example}\par\medskip
   \LARGE\textsc{Example~\thechapter.\theexample #1}}{\medskip}

\newcommand{\makeExample}[1][\relax]{%
 {%
    \begin{center}%
      \begin{example}%
        #1%
      \end{example}%
    \end{center}%
 }%
}

\begin{document}

\chapter{A chapter}
\label{cha:chapter}

\begin{mdframed}
  \makeExample[\label{cex:sample}]
  A centered example.
\end{mdframed}

That was Example~\ref{cex:sample}.

\end{document}

Zweite Probe

Ich denke, der erste Ansatz ist viel einfacher.

Antwort2

Wenn Sie Fragen stellen, sollten Sie eine vollständigeminimales funktionierendes Beispiel(MWE), sowohl um zu zeigen, was Sie zu tun versuchen, als auch um anderen zu helfen, Ihnen zu helfen – es ist viel einfacher, jemandem zu helfen, wenn man etwas zum Arbeiten hat. Das MWE sollte mit einer \documentclassAnweisung beginnen, alle gewünschten Pakete enthalten und dann haben \begin{document}...\end{document}. Das MWE sollte kompiliert werden und nahezu die minimale Menge an Code enthalten, die zum Erklären/Demonstrieren Ihrer Frage erforderlich ist. Dies spart allen viel Zeit.

In diesem Fall scheint es mir, dass Sie einfach versuchen, eine Umgebung für die Anzeige von Beispielen zu definieren. Wenn das Ihr Ziel ist, dann arbeiten Sie zu hart, da Sie einfach verwenden können \newtheorem{example}[section]{Eksempel}. Ein vollständiges MWE, komplett mit Querverweisen, ist

\documentclass{article}
\usepackage{amsmath}
\newtheorem{example}{Eksempel}% implicitly defines a counter
\numberwithin{example}{section}% numbers it within sections
\begin{document}
\section{Important examples}
\begin{example}\label{MyExample}% \label creates the reference
  1+1=2.
\end{example}

My Eksempel~\ref{MyExample} is great.% \ref creates the cross-reference

\end{document}

Das Ergebnis:

Bildbeschreibung hier eingeben

Schauen Sie sich die Dokumentation für dieamsthamPaket, um zu sehen, wie Sie die theoremähnlichen Umgebungen anpassen können.

BearbeitenEksempelWie bereits erwähnt , sollten Sie zur Anpassung des Stils die Dokumentation für dasamsthamPaket. Wenn Sie die Zeilen hinzufügen:

\usepackage{amsmath,amsthm}
\newtheoremstyle{eksempel}
  {3pt}% ⟨Space above⟩
  {3pt}% ⟨Space below⟩
  {}% ⟨Body font⟩
  {0pt}% ⟨Indent amount⟩
  {\scshape}% ⟨Theorem head font⟩
  {}% ⟨Punctuation after theorem head⟩
  {0pt}% ⟨Space after theorem head⟩2
  {\centerline{\thmname{#1} \thmnumber{#2}}}% ⟨Theorem head spec⟩
\theoremstyle{eksempel}
\newtheorem{example}{Eksempel}% implicitly defines a counter

dann erhalten Sie den Stil, den Sie definieren wollten:

Bildbeschreibung hier eingeben

Beachten Sie, dass das \hfill„s“ für die „Theoremkopfspezifikation“ die Überschrift „Beispiel“ zentriert.

Wenn Sie mehr als das versuchen, dann ist Ihr Code immer noch zu aufwendig, da Sie die Befehle \newenvironment{example}und die Umgebungen nicht definieren müssen \makeExample: Umgebungen sind selbst Befehle. In diesem Fall möchten Sie wahrscheinlich etwas wie

\newenvironment{example}[1][]{\refstepcounter{example}\par\medskip
     \center\LARGE\textsc{Eksempel~\thechapter.\theexample #1}}
     {\endcenter\medskip}

(Ich schlage jedoch vor, \parund zu löschen \medskips, da sie für mich falsch aussehen.)

Wie bei der Verwendung von \refstepcounterkönnen Sie diesen Befehl wie im obigen MWE mit \labelund verwenden \ref, um Querverweise zu erstellen. Allerdings ist es wahrscheinlich besser, \theexamplein der Definition der Umgebung Folgendes zu verwenden und hinzuzufügen:

\renewcommand\theexample{\thechapter.\arabic{example}}

Da Sie den Beispielzähler als Unterzähler des Abschnitts definieren, vermute ich, dass Sie eigentlich Folgendes möchten:

\renewcommand\theexample{\thesection.\arabic{example}}

Antwort3

Hierbei handelt es sich um eine Variante mit automatischer Etikettengenerierung, diese kann allerdings nach einem Zurücksetzen des Zählers fehlschlagen.

\documentclass{book}

\newcounter{example}[section]

\renewcommand{\theexample}{\thesection.\arabic{example}}
\newenvironment{example}[1][]{\refstepcounter{example}\label{mysophisticatedexample::\number\value{example}}
  \LARGE\textsc{Eksempel~\theexample #1}\par\medskip

}{\medskip}

\newcommand\makeExample{%
 {%
    \begin{center}%
        \begin{example}%
          This is some dummy example with \theexample as counter and it references \ref{mysophisticatedexample::1}
        \end{example}%
    \end{center}%
 }%
}

\begin{document}

\chapter{First}

\section{First}

\makeExample 

\makeExample

\makeExample





\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen