Affichage d'un compteur en début de document

Tout ce qui concerne le langage LaTeX et ses variantes. Ce langage est supporté sur le forum via les balises tex.

Modérateur : gdm_tex

Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
DelOhmMu
Utilisateur débutant
Utilisateur débutant
Messages : 3
Inscription : jeudi 03 mars 2011, 19:54

[Résolu] Affichage d'un compteur en début de document

Message par DelOhmMu »

Bonjour,
Je suis enseignant en mathématiques et je suis en train de créer un examen en latex. J'ai fait quelques commandes me permettant de me faire sauver un peu de temps à chaque fois que j'écris une question. J'aimerais être en mesure de faire la somme des points de chaque question et de présenter le tout en début de document (je suis capable d'afficher le total mais seulement à la fin du document).
J'utilise un compteur nommé "ponderation".
Est-ce possible?
Merci beaucoup de votre aide!

Voici le code:

Code : Tout sélectionner

\documentclass[12pt]{article}

\usepackage[francais]{babel}
\usepackage{amsmath,amsfonts,amssymb,amstext,amsopn,amsthm,lscape,cases}
\usepackage[dvips]{epsfig}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{multicol}
\usepackage{geometry}
\geometry{hmargin=2.5cm,vmargin=1.5cm}

\newcounter{ponderation}
\setcounter{ponderation}{0}

\newtheoremstyle{question}{}{}{}{}{}{}{\newline}
{{\thmname{#1} \thmnumber{{ #2}}}\thmnote{: (#3} points)\addtocounter{ponderation}{#3}}
\theoremstyle{question}
\newtheorem{quest}{Question}
\selectlanguage{francais}


\begin{document}\begin{multicols}{2}
Nom:\rule{5cm}{1.2pt}

\columnbreak

\flushright{Note: \rule{2cm}{1.2pt} sur ???????? } %c'est ici que j'aimerais afficher le total des points

\end{multicols}

\begin{center} \null \textbf{Mini-test \#2- Calcul I \\
Aucune documentation permise\\
Toute tentative ou collaboration au plagiat équivaut à une note de 0.\\
Des points seront attribués pour les démarches.}
\end{center}


\begin{quest}[20] %entre crochet c'est la pondération de ma question
Première question...\\
\end{quest}


\begin{quest}[10]
Deuxième question...\\
\end{quest}
\flushright Total: \rule{2cm}{1.2pt} sur \theponderation
% C'est un test pour vérifier le total des points pour le test.
% J'aimerais cependant écrire le résultat en début de document et non pas à la fin.

\end{document} 
Dernière modification par DelOhmMu le jeudi 03 mars 2011, 23:25, modifié 1 fois.

un bon petit
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 810
Inscription : vendredi 12 juin 2009, 22:35
Localisation : Chambéry

Re: Affichage d'un compteur en début de document

Message par un bon petit »

DelOhmMu a écrit :Est-ce possible?
En une compilation : non.
En recourant à un fichier, c'est évidemment possible. La manœuvre est d'écrire la valeur de ce compteur à la fin de la compilation 1, puis de lire le contenu de ce fichier à la compilation 2 et de l'afficher.

DelOhmMu
Utilisateur débutant
Utilisateur débutant
Messages : 3
Inscription : jeudi 03 mars 2011, 19:54

Re: Affichage d'un compteur en début de document

Message par DelOhmMu »

Merci beaucoup pour ta réponse "un bon petit"!

Le problème maintenant c'est que je ne trouve pas comment écrire et lire dans un fichier externe. Peut-être peux-tu me proposer de la doc ou les commandes à utiliser?
Merci encore!

pg
Modérateur
Modérateur
Messages : 2600
Inscription : vendredi 15 juin 2007, 00:31

Re: Affichage d'un compteur en début de document

Message par pg »

Un moyen de faire est d'utiliser un couple \label/\ref, qui écrit l'information dans le fichier auxilliaire. Il faut juste dire à \label quel nombre prendre en mettant à jour \@currentlabel à la main. Le nombre s'affiche correctement au bout de deux compilations.

Code : Tout sélectionner

\documentclass[12pt]{article}

\usepackage[francais]{babel}
\usepackage{amsmath,amsfonts,amssymb,amstext,amsopn,amsthm,lscape,cases}
\usepackage[dvips]{epsfig}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{multicol}
\usepackage{geometry}
\geometry{hmargin=2.5cm,vmargin=1.5cm}

\newcounter{ponderation}
\setcounter{ponderation}{0}

\newtheoremstyle{question}{}{}{}{}{}{}{\newline}
{{\thmname{#1} \thmnumber{{ #2}}}\thmnote{: (#3} points)\addtocounter{ponderation}{#3}}
\theoremstyle{question}
\newtheorem{quest}{Question}
\selectlanguage{francais}


\begin{document}\begin{multicols}{2}
Nom:\rule{5cm}{1.2pt}

\columnbreak

\flushright{Note: \rule{2cm}{1.2pt} sur \ref{totalponderation}} %c'est ici que j'aimerais afficher le total des points

\end{multicols}

\begin{center} \null \textbf{Mini-test \#2- Calcul I \\
Aucune documentation permise\\
Toute tentative ou collaboration au plagiat \'equivaut \`a une note de 0.\\
Des points seront attribu\'es pour les d\'emarches.}
\end{center}


\begin{quest}[20] %entre crochet c'est la pondération de ma question
Premi\`ere question...\\
\end{quest}


\begin{quest}[10]
Deuxi\`eme question...\\
\end{quest}
\flushright Total: \rule{2cm}{1.2pt} sur \theponderation
% C'est un test pour vérifier le total des points pour le test.
% J'aimerais cependant écrire le résultat en début de document et non pas à la fin.
\makeatletter\edef\@currentlabel{\arabic{ponderation}}\makeatother\label{totalponderation}

\end{document} 

DelOhmMu
Utilisateur débutant
Utilisateur débutant
Messages : 3
Inscription : jeudi 03 mars 2011, 19:54

Re: Affichage d'un compteur en début de document

Message par DelOhmMu »

Merci beaucoup "pg"!
C'est exactement ce que je cherchais! Il ne reste qu'à me familiariser avec ces commandes que je ne connaissais pas :D !
Cependant, tu dis que ça fonctionne en 2 compilations mais de mon côté j'utilise TeXworks et ça fonctionne après la première compilation. C'est encore mieux que ce que j'avais imaginé!
Merci encore et bonne journée!