Novo contador que pode ser referenciado

Novo contador que pode ser referenciado

Eu criei um método \makeExampleque cria um novo contador chamado example. Você pode me dizer como posso modificá-lo, para poder fazer referências ao examplecontador? Para que eu por exemplo possa escrever: some text.... \vref{label} .....

Uma amostra de trabalho pode ser encontrada aqui:https://www.sharelatex.com/project/541ffc3e05c84a5c4060ae58

Meu método é assim:

\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}%
 }%
}

Responder1

A modificação mais simples em seu código é adicionar um argumento opcional \makeExampleonde você pode colocar código arbitrário, como \label. Posto um exemplo disso na parte inferior, mas suspeito fortemente que não é isso que você deseja. O exemplo que você fornece está configurando um mdframedambiente e seria mais fácil usar o mecanismo semelhante a um teorema fornecido pelo mdframedpacote da seguinte maneira:

Exemplo de saída

\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}

Aqui está o resultado que a primeira modificação teria dado:

\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}

Segunda amostra

Acho que a primeira abordagem é muito mais simples.

Responder2

Ao fazer perguntas, você deve fornecer uma resposta completaexemplo de trabalho mínimo(MWE), tanto para mostrar o que você está tentando fazer quanto para ajudar os outros a ajudá-lo – é muito mais fácil ajudar alguém se eles lhe derem algo para trabalhar. O MWE deve começar com uma \documentclassinstrução, conter todos os pacotes que você deseja e depois ter a extensão \begin{document}...\end{document}. O MWE deve compilar e conter a quantidade mínima de código necessária para explicar/demonstrar o que você está perguntando. Isso economiza muito tempo para todos.

Nesse caso, parece-me que você está simplesmente tentando definir um ambiente para exibição de exemplos. Se é isso que você está tentando fazer, então você está trabalhando demais, pois pode simplesmente usar \newtheorem{example}[section]{Eksempel}. Um MWE completo, completo com referências cruzadas, é

\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}

Isso produz:

insira a descrição da imagem aqui

Veja a documentação doamsthmpacote para ver como você pode personalizar os ambientes semelhantes a teoremas.

EditarComo mencionei para customizar o estilo Eksempelvocê deve ler a documentação doamsthmpacote. Se você adicionar as linhas:

\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

então você obtém o estilo que estava tentando definir:

insira a descrição da imagem aqui

Observe que os \hfills para "especificação da cabeça do teorema" centralizam o título Eksempel.

Se você está tentando fazer mais do que isso, então seu código ainda está se esforçando demais porque você não precisa definir os comandos \newenvironment{example}e \makeExample: os próprios ambientes são comandos. Neste caso você provavelmente quer algo como

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

(Sugiro excluir o \parand \medskips, no entanto, pois eles parecem errados para mim.)

Conforme você está usando, \refstepcountervocê pode usar este comando como no MWE acima com \labele \refpara criar referências cruzadas. Dito isto, provavelmente é melhor usar \theexamplena definição do ambiente e adicionar:

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

Finalmente, como você definiu o contador de exemplo como um subcontador da seção, suspeito que você realmente deseja:

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

Responder3

Esta é uma versão com geração automática de etiquetas, mas pode falhar após a reinicialização do 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}

insira a descrição da imagem aqui

informação relacionada