ラテックスによる計算

ラテックスによる計算

現在、私の機関用の試験テンプレートを作成しようとしています。私が受け取りたいのは次のようなものです。


タスク1 [8ポイント]

(テキスト テキスト テキスト)

サブタスク 1.1 [3 ポイント]

(テキスト テキスト テキスト)

サブアスク 1.2 [5 ポイント]

(テキスト テキスト テキスト)


そして、タスク 1 の [8 ポイント] は、実際にはサブタスク 3+5 ポイントの結果です。

私はパッケージ「calculator」を使ってこの問題に取り組もうとしています。問題はタスクの最終結果を更新することでした。これが私の短い Latex スクリプトです:

\documentclass[10pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{calculator}
\usepackage{lipsum}

\begin{document}
\newcommand{\res}{0}
\section{First Task [\res\, Points]}
\newcommand{\temp}{5}
\subsection{[\temp\, Points]}
\lipsum[1]
\ADD{\res}{\temp}{\res}
\renewcommand{\temp}{8}
\subsection{[\temp \,Points]}
\lipsum[1]
\ADD{\res}{\temp}{\res}
\end{document}

ご意見をありがとうございます!

答え1

この種のタスクには多くのパッケージが利用可能です(https://www.ctan.org/topic/exam) ですが、手動で行う場合は、次のxcntperchapパッケージを使用できます。

\documentclass{article}

\usepackage{xcntperchap}
\usepackage{multido}

\newcounter{points}
\RegisterCounters{section}{points}
\RegisterCounters{subsection}{points}

\usepackage{xpatch}
\newcounter{totalsubsection}
\xpretocmd{\subsection}{\stepcounter{totalsubsection}}{}{}


\begin{document}


\section{Sectiona \ObtainTrackedValueExp{section}{points}}

\subsection{subsectiona \ObtainTrackedValueExp[\value{totalsubsection}]{subsection}{points} }
\multido{}{2}{\refstepcounter{points}}

\subsection{subsectionb \ObtainTrackedValueExp[\value{totalsubsection}]{subsection}{points} }
\multido{}{3}{\refstepcounter{points}}


\section{Sectionb \ObtainTrackedValueExp{section}{points}}

\subsection{subsectionc \ObtainTrackedValueExp[\value{totalsubsection}]{subsection}{points} }
\multido{}{1}{\refstepcounter{points}}


\subsection{subsectiond \ObtainTrackedValueExp[\value{totalsubsection}]{subsection}{points} }
\multido{}{2}{\refstepcounter{points}}

\end{document}

関連情報