Упражнения со ссылками на ответы (задача с использованием счетчика)

Упражнения со ссылками на ответы (задача с использованием счетчика)

Извините, сайт не позволяет мне задавать подробные вопросы в виде комментариев (да и панель инструментов форматирования не отображается), поэтому добавляю новый вопрос.

Проблема: Попытка создать список упражнений (со ссылками на соответствующие ответы). Все ответы в конце документа. Однако я не хочу вручную маркировать каждый вопрос. Поэтому я подумал, что буду использовать номер вопроса в качестве метки, но, по-видимому, вместо этого он использует общее количество вопросов в качестве метки. Любая помощь приветствуется. Спасибо @CarLaTeX за ответ на исходный вопросздесь.

\documentclass{article}
\usepackage{hyperref}% you must load it before the exercise package
\usepackage[answerdelayed]{exercise}

\begin{document}

    \begin{Exercise}[label={exerciseNumber}]
        What is the value of 2+5? (To see the answer click here: \refAnswer{\ExerciseLabel})
    \end{Exercise}
    \begin{Answer}[ref=\ExerciseLabel]
        7
    \end{Answer}

    \begin{Exercise}[label={exerciseNumber}]
        What is the value of 4-1? (To see the answer click here: \refAnswer{\ExerciseLabel})
    \end{Exercise}
    \begin{Answer}[ref=\ExerciseLabel]
        3
    \end{Answer}

     \begin{Exercise}[label={exerciseNumber}]
        What is the value of 2*4? (To see the answer click here: \refAnswer{\ExerciseLabel})
    \end{Exercise}
    \begin{Answer}[ref=\ExerciseLabel]
        8
    \end{Answer}
    \shipoutAnswer
\end{document}

Вывод (неверный):

введите описание изображения здесь

решение1

«Номер вопроса», который вы ищете, хранится в виде счетчика, названного соответствующим образом Exercise(по крайней мере, для среды Exercise). Вы можете получить доступ к счетчику, используя:

\the\value{Exercise}

Поэтому все, что вам нужно сделать, это использовать это как метку при передаче ее в качестве параметра в \begin{Exercise}. Пример см. ниже.

МВЭ:

\documentclass{article}
\usepackage{hyperref}% you must load it before the exercise package
\usepackage[answerdelayed]{exercise}

\begin{document}
  \begin{Exercise}[label={\the\value{Exercise}}]
    What is the value of $2+5$? (To see the answer click here:~\refAnswer{\ExerciseLabel})
  \end{Exercise}
  \begin{Answer}[ref=\ExerciseLabel]
    7
  \end{Answer}

  \begin{Exercise}[label={\the\value{Exercise}}]
    What is the value of $4-1$? (To see the answer click here:~\refAnswer{\ExerciseLabel})
  \end{Exercise}
  \begin{Answer}[ref=\ExerciseLabel]
    3
  \end{Answer}

  \begin{Exercise}[label={\the\value{Exercise}}]
    What is the value of $2\times 4$? (To see the answer click here:~\refAnswer{\ExerciseLabel})
  \end{Exercise}
  \begin{Answer}[ref=\ExerciseLabel]
    8
  \end{Answer}
  \shipoutAnswer
\end{document}

Бывший v2


Дополнительная информация

Возможно, вы можете сделать ввод метки менее громоздким, если

(Опция 1)Вы определяете макрос следующим образом \blah:

% Preamble:    
\newcommand*{\blah}{\the\value{Exercise}}
% Main document:
\begin{Exercise}[label=\blah]

или

(Вариант 2)если вы чувствуете себя очень лениво, просто определите новую среду:

% In Preamble
\newcounter{Ex}
\newenvironment{Ex}{\begin{Exercise}[name={Exercise},
    counter={Ex},
    label=\the\value{Ex}]}
{\end{Exercise}}

а затем в основном документе назовите ваши упражнения следующим образом:

% In Main document
\begin{Ex}
    What is the value of $2+5$? (To see the answer click here:~\refAnswer{\ExerciseLabel})
\end{Ex}
\begin{Answer}[ref=\ExerciseLabel]
    7
\end{Answer}

Связанный контент