
He creado un método \makeExample
que crea un nuevo contador llamado example
. ¿Puedes decirme cómo puedo modificarlo, para poder hacer referencias al example
contador? Para que yo, por ejemplo, pueda escribir: some text.... \vref{label} ....
.
Puede encontrar una muestra funcional aquí:https://www.sharelatex.com/project/541ffc3e05c84a5c4060ae58
Mi método se ve así:
\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}%
}%
}
Respuesta1
La modificación más simple a su código es agregar un argumento opcional \makeExample
donde puede colocar código arbitrario, como \label
. Publico un ejemplo de esto en la parte inferior, sin embargo, sospecho firmemente que esto no es lo que quieres. El ejemplo que proporciona es la configuración de un mdframed
entorno y sería más fácil utilizar el mecanismo similar a un teorema proporcionado por el mdframed
paquete de la siguiente manera:
\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}
Aquí está el resultado que habría dado la primera modificación:
\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}
Creo que el primer enfoque es mucho más sencillo.
Respuesta2
Al hacer preguntas, debe proporcionar una información completa.ejemplo de trabajo mínimo(MWE), tanto para mostrar lo que estás tratando de hacer como para ayudar a otros a ayudarte; es mucho más fácil ayudar a alguien si te dan algo en qué trabajar. El MWE debe comenzar con una \documentclass
declaración, contener todos los paquetes que desee y luego tener \begin{document}...\end{document}
. El MWE debe compilar y contener cerca de la cantidad mínima de código necesaria para explicar/demostrar lo que está preguntando. Esto ahorra mucho tiempo a todos.
En este caso, me parece que simplemente estás intentando definir un entorno para mostrar ejemplos. Si esto es lo que estás tratando de hacer, entonces estás trabajando demasiado y simplemente puedes usar \newtheorem{example}[section]{Eksempel}
. Un MWE completo, completo con referencias cruzadas, es
\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}
Esto produce:
Mira la documentación delamstmopaquete para ver cómo se pueden personalizar los entornos similares a teoremas.
EditarComo mencioné para personalizar el estilo, Eksempel
debes leer la documentación delamstmopaquete. Si agregas las líneas:
\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
luego obtienes el estilo que estabas intentando definir:
Tenga en cuenta que la \hfill
s para la "especificación del encabezado del teorema" centra el encabezado Eksempel.
Si está intentando hacer más que esto, entonces su código todavía se está esforzando demasiado porque no necesita definir los comandos \newenvironment{example}
y \makeExample
: los entornos son en sí mismos comandos. En este caso probablemente quieras algo como
\newenvironment{example}[1][]{\refstepcounter{example}\par\medskip
\center\LARGE\textsc{Eksempel~\thechapter.\theexample #1}}
{\endcenter\medskip}
(Sin embargo, sugiero eliminar \par
y \medskips
, ya que me parecen incorrectos).
Mientras lo usa, \refstepcounter
puede usar este comando como en el MWE anterior con \label
y \ref
para crear referencias cruzadas. Dicho esto, probablemente sea mejor usarlo \theexample
en la definición del entorno y agregar:
\renewcommand\theexample{\thechapter.\arabic{example}}
Finalmente, dado que usted define el contador de ejemplo como un subcontador de la sección, sospecho que realmente desea:
\renewcommand\theexample{\thesection.\arabic{example}}
Respuesta3
Esta es una versión con generación automática de etiquetas, pero puede fallar después de restablecer el contador.
\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}