[gut] Numéro de référence faux

0 views
Skip to first unread message

Gazagnes Arnaud

unread,
Aug 14, 2023, 2:46:52 AM8/14/23
to g...@ens.fr
Bonjour la liste,
Dans l'ECM, ci-dessous j'ai créé une commande \Capacite, avec compteur. La commande en que telle fonctionne bien mais c'est son appel qui ne fonctionne pas.
En effet, quand je fais appel à la capacité 2 (dernière ligne), la référence ne marche pas. J'attends "Les valeurs sont celles de la capacit\'e \ref{CapB}." mais j'obtiens "Les valeurs sont celles de la capacit\'e 1.", où la valeur 1 est celle du numéro de chapitre.
Comment faire ?
Merci pour vos éclairages !
Arnaud Gazagnes


********************** ECM

\documentclass[12pt,a4paper,]{article}

\newcounter{numcap}\setcounter{numcap}{0}\newcommand{\numerocap}{\stepcounter{numcap}{\textbf{\arabic{numcap}}}}

\newcommand{\Capacite}[1]{\textbf{Capacit\'e \numerocap}\par #1}

\begin{document}
\section{S}

\Capacite{A}\bigskip

\Capacite{B}\label{CapB}\bigskip

\Capacite{C}\bigskip

Les valeurs sont celles de la capacit\'e \ref{CapB}.

\end{document}

********************** Fin ECM

Céline Chevalier

unread,
Aug 14, 2023, 2:57:08 AM8/14/23
to g...@ens.fr
Bonjour,

Je ne peux pas tester là mais essayez déjà de remplacer \stepcounter par \refstepcounter.

Cordialement,
Céline Chevalier 

Gazagnes Arnaud

unread,
Aug 15, 2023, 3:53:13 AM8/15/23
to g...@ens.fr
Bonjour la liste,
Lorsque je saisis"$a\equiv b\pod n$", le "n" est entre parenthèses. D'après les conventions actuelles, il devrait être entre crochets.
Y a-t-il une commande ?
Sinon, sans difficulté, je saisirai "$a\equiv b\ [n]$ ...
Arnaud Gazagnes

Paul Gaborit

unread,
Aug 15, 2023, 4:48:57 AM8/15/23
to g...@ens.fr
Le 15/08/2023 à 09:52, Gazagnes Arnaud a écrit :
> Lorsque je saisis"$a\equiv b\pod n$", le "n" est entre parenthèses.
> D'après les conventions actuelles, il devrait être entre crochets.
> Y a-t-il une commande ?
> Sinon, sans difficulté, je saisirai "$a\equiv b\ [n]$ ...

Les notations sont diverses et variées:

<https://fr.wikipedia.org/wiki/Congruence_sur_les_entiers#Notation>

Le package amsmath ne propose pas la notation avec crochets mais on peut
s'inspirer de la définition de \pmod:

\documentclass{article}
\usepackage{amsmath}
\makeatletter
\newcommand\bracketmod[1]{%
\allowbreak\if@display\mkern 18mu\else\mkern 8mu\fi[#1]%
}
\makeatother
\begin{document}
\begin{gather}
a \equiv b \mod n\\
a \equiv b \bmod n\\
a \equiv b \pmod n\\
a \equiv b \pod n\\
a \equiv b \bracketmod n
\end{gather}
\end{document}



Cordialement,
--
Paul Gaborit

quark67

unread,
Aug 15, 2023, 6:26:45 AM8/15/23
to g...@ens.fr
Bonjour,

Outre la bonne solution proposée par Paul, si vous avez beaucoup de maths à composer en français, il peut être intéressant d'adopter le package frenchmath (relativement récent puisque sorti en 2019 et régulièrement mis à jour, c'est pourquoi il peut être utile de régulièrement regarder les nouveautés sur le CTAN ou sur les publications qui font de la veuille sur les nouveautés — comme la Lettre GUTenberg — car la documentation de référence, notamment sous la forme de livres, n'est pas forcément très à jour).

Le package frenchmath fournit la commande \cmod pour ce que vous souhaitez.

Sa définition est relativement simple (\newcommand*\cmod[1]{\quad[#1]}). Mais elle ne s'adapte pas à l'environnement mathématique (la définition procurée par Paul produit un espacement différent, plus faible, lorsque la commande est employée dans une formule en ligne, par rapport à ce qui est obtenu hors ligne). C'est peut-être un point dont il faudrait faire part à l'auteur de frenchmath, si c'est mieux du point de vue de la typographie française ?

Voici donc une démonstration inspirée de celle de Paul, avec l'ajout de la commande \cmod pour pouvoir faire les comparaisons :

\documentclass[11pt]{article}
\usepackage{amsmath}
\usepackage{frenchmath} % pour la commande \cmod
\makeatletter
\newcommand\bracketmod[1]{%
\allowbreak\if@display\mkern 18mu\else\mkern 8mu\fi[#1]%
}
\makeatother
\begin{document}
\begin{gather}
a \equiv b \mod n\\
a \equiv b \bmod n\\
a \equiv b \pmod n\\
a \equiv b \pod n\\
a \equiv b \bracketmod n\\
a \equiv b \cmod n
\end{gather}

$a \equiv b \bracketmod n$

$a \equiv b \cmod n$
\end{document}

Outre frenchmath, qui peut répondre à votre question, le package mismath du même auteur peut également apporter quelques commandes utiles, par exemple pour mieux ajuster la hauteur des flèches sur certains caractères lorsqu'on compose des vecteurs avec la notation fléchée. Évidemment, avec plus de 6450 packages à ce jour sur le CTAN, il est difficile de savoir trouver l'information. Même la toute nouvelle troisième édition de The LaTeX Compagnon n'a pas cité ces deux nouveaux packages, ce qui se comprend, la rédaction de la refonte a débuté il y a quelques années et même en deux volumes, le nombre de pages (près de 2000) reste limité, et la spécificité de frenchmath ne touche guère le public anglophone. C'est pourquoi, le mieux reste de régulièrement regarder les nouveautés présentes sur le CTAN pour repérer des packages qui peuvent se révéler fort utiles. Cela peut être chronophage, j'en conviens.
Reply all
Reply to author
Forward
0 new messages