[Résolu] Label et référence (problème dans une liste)

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

[Résolu] Label et référence (problème dans une liste)

Messagepar zorba » Mardi 04 Mai 2010, 09:01

Bonjour,
PG m'a développé il y a un petit moment une série de commandes pour rédiger et numéroter des exercices en Parties, Questions et Sous questions. Je m'en sers régulièrement et tout me va bien. Sauf un petit point que je viens de découvrir ce matin.
le voici/
Je cherche à référencer la partie A( ou la partie B) en en plaçant \label et \ref j'obtiens un compteur au lieu de la lettre repérant chacune des parties de l'énoncé. Les références aux questions et sous questions fonctionnent correctement.
Voici un petit ECM , assez fantaisiste, pour illustrer mon problème :

Code: Tout sélectionner
\documentclass[a4paper,10pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[frenchb]{babel}
\usepackage{amsmath,mathrsfs,amssymb}
\everymath{\displaystyle}
\usepackage{lipsum,xcolor,pst-eucl,pstricks-add,pst-fun}
\frenchbsetup{StandardLists=true}
\usepackage{enumitem}
\usepackage{ntheorem}
\theorembodyfont{\upshape}
\usepackage{geometry,url}
\geometry{textwidth=130mm,textheight=260mm,top=2cm}

\usepackage[dvips]{graphicx}
%\usepackage[xcas]{tablor}
\usepackage{cancel}
\usepackage{tablists-perso}
\parindent=0pt
\AtBeginDocument{
  \abovedisplayshortskip=3pt
  \abovedisplayskip=3pt
  \belowdisplayshortskip=3pt
  \belowdisplayskip=3pt}

\newcounter{exo}
\newtheorem{tempexo}[exo]{Exercice}
\newenvironment{exo}[1][]{\begin{tempexo}\leavevmode\par\nobreak
\noindent\ignorespaces#1\par\nobreak\medskip}{\vspace{2mm} \hrule \vspace{2mm}\end{tempexo}}


\newcounter{parties}
\newenvironment{parties}{\begin{list}
  {\hspace{\labelsep}\bfseries Partie \Alph{parties} --}
  {\leftmargin=0pt
   \labelwidth=0cm
   \usecounter{parties}
   \def\makelabel##1{##1}}}{\end{list}}

\newcounter{questions}
\renewcommand{\thequestions}{\textbf{\arabic{questions})}}
\newenvironment{questions}{\begin{list}
  {\hspace{\labelsep}\bfseries\arabic{questions})}
  {\leftmargin=0pt
   \labelwidth=0cm
   \usecounter{questions}
   \def\makelabel##1{##1}}}{\end{list}}

\newcounter{sousquestions}
\renewcommand{\thesousquestions}{\textbf{\alph{sousquestions})}}
\newenvironment{sousquestions}{\begin{list}
  {\hspace{\labelsep}\bfseries\alph{sousquestions})}
  {\leftmargin=0pt
   \labelwidth=0cm
   \usecounter{sousquestions}
   \def\makelabel##1{##1}}}{\end{list}}

\pagestyle{empty}
\begin{document}
%\initablor
\newcount\hh
\newcount\mm
\mm=\time
\hh=\time
\divide\hh by 60
\divide\mm by 60
\multiply\mm by 60
\mm=-\mm
\advance\mm by \time
\def\hhmm{\number\hh\string:\ifnum\mm<10{}0\fi\number\mm}
\noindent \today\, à \hhmm
\setlength{\arrayrulewidth}{0.5pt}


\begin{exo}[ILE\footnote{\url{http://www.ilemaths.net/forum-sujet-192016.html}} Puissance d'un point par rapport à un cercle - Chap 09 Produit scalaire.]

Soit $C_1$ un cercle de centre O et de rayon R et M un point du plan. On considère une droite (D) passant par M et coupant le cercle C en 2 points A et B.

\begin{parties}
\label{pscal}
\item Le but du \ref{pscal} est de démontrer que le produit scalaire est indépendant de la droite (D).

On appelle C le point diamétralement opposé à A.
\begin{questions}
\item \label{qa}On suppose M à l'extérieur du cercle.
\begin{sousquestions}
\item \label{da}Démontrer ....
\end{sousquestions}
\item Après \ref{qa} \ref{da}, reprendre la question précédente avec M situé à l'intérieur du cercle.
\item
\end{questions}

\item \label{trian}Soit $C_2$ un cercle de centre O et de rayon R.
On appelle I le milieu de [AA'].
\begin{questions}
\item Pourquoi .....
\end{questions}

\item Soit ABC un triangle quelconque et H son orthocentre. O
\begin{questions}
\item Démontrer ..............
\item Utiliser la partie \ref{pscal} de l'exercice pour valider la partie \ref{trian}.
\end{questions}
\end{parties}

\end{exo}


\end{document}


Je remercie d'avance les personnes qui vont s'intéresser à cette difficulté et m'indiquer comment arranger ce programme.
Bonne journée à tous.
Dernière édition par zorba le Mardi 04 Mai 2010, 16:08, édité 1 fois.
On se lasse de tout, excepté d'apprendre. Virgile
zorba
Giga-utilisateur
 
Messages: 522
Inscription: Lundi 01 Juin 2009, 10:35
Statut actuel: Actif et salarié

Publicité

Re: Label et référence : Problème dans une liste

Messagepar pg » Mardi 04 Mai 2010, 10:30

Il y a deux problèmes : le \label est mal placé (il doit être après \item) et il faut redéfinir \theparties :

Code: Tout sélectionner
\documentclass[a4paper,10pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[frenchb]{babel}
\usepackage{amsmath,mathrsfs,amssymb}
\everymath{\displaystyle}
\usepackage{lipsum,xcolor,pst-eucl,pstricks-add,pst-fun}
\frenchbsetup{StandardLists=true}
\usepackage{enumitem}
\usepackage{ntheorem}
\theorembodyfont{\upshape}
\usepackage{geometry,url}
\geometry{textwidth=130mm,textheight=260mm,top=2cm}

\usepackage[dvips]{graphicx}
%\usepackage[xcas]{tablor}
\usepackage{cancel}
\usepackage{tablists-perso}
\parindent=0pt
\AtBeginDocument{
  \abovedisplayshortskip=3pt
  \abovedisplayskip=3pt
  \belowdisplayshortskip=3pt
  \belowdisplayskip=3pt}

\newcounter{exo}
\newtheorem{tempexo}[exo]{Exercice}
\newenvironment{exo}[1][]{\begin{tempexo}\leavevmode\par\nobreak
\noindent\ignorespaces#1\par\nobreak\medskip}{\vspace{2mm} \hrule \vspace{2mm}\end{tempexo}}


\newcounter{parties}
\renewcommand{\theparties}{\textbf{\Alph{parties}}}
\newenvironment{parties}{\begin{list}
  {\hspace{\labelsep}\bfseries Partie \Alph{parties} --}
  {\leftmargin=0pt
   \labelwidth=0cm
   \usecounter{parties}
   \def\makelabel##1{##1}}}{\end{list}}

\newcounter{questions}
\renewcommand{\thequestions}{\textbf{\arabic{questions})}}
\newenvironment{questions}{\begin{list}
  {\hspace{\labelsep}\bfseries\arabic{questions})}
  {\leftmargin=0pt
   \labelwidth=0cm
   \usecounter{questions}
   \def\makelabel##1{##1}}}{\end{list}}

\newcounter{sousquestions}
\renewcommand{\thesousquestions}{\textbf{\alph{sousquestions})}}
\newenvironment{sousquestions}{\begin{list}
  {\hspace{\labelsep}\bfseries\alph{sousquestions})}
  {\leftmargin=0pt
   \labelwidth=0cm
   \usecounter{sousquestions}
   \def\makelabel##1{##1}}}{\end{list}}

\pagestyle{empty}
\begin{document}
%\initablor
\newcount\hh
\newcount\mm
\mm=\time
\hh=\time
\divide\hh by 60
\divide\mm by 60
\multiply\mm by 60
\mm=-\mm
\advance\mm by \time
\def\hhmm{\number\hh\string:\ifnum\mm<10{}0\fi\number\mm}
\noindent \today\, à \hhmm
\setlength{\arrayrulewidth}{0.5pt}


\begin{exo}[ILE\footnote{\url{http://www.ilemaths.net/forum-sujet-192016.html}} Puissance d'un point par rapport à un cercle - Chap 09 Produit scalaire.]

Soit $C_1$ un cercle de centre O et de rayon R et M un point du plan. On considère une droite (D) passant par M et coupant le cercle C en 2 points A et B.

\begin{parties}
\item\label{pscal} Le but du \ref{pscal} est de démontrer que le produit scalaire est indépendant de la droite (D).

On appelle C le point diamétralement opposé à A.
\begin{questions}
\item \label{qa}On suppose M à l'extérieur du cercle.
\begin{sousquestions}
\item \label{da}Démontrer ....
\end{sousquestions}
\item Après \ref{qa} \ref{da}, reprendre la question précédente avec M situé à l'intérieur du cercle.
\item
\end{questions}

\item \label{trian}Soit $C_2$ un cercle de centre O et de rayon R.
On appelle I le milieu de [AA'].
\begin{questions}
\item Pourquoi .....
\end{questions}

\item Soit ABC un triangle quelconque et H son orthocentre. O
\begin{questions}
\item Démontrer ..............
\item Utiliser la partie \ref{pscal} de l'exercice pour valider la partie \ref{trian}.
\end{questions}
\end{parties}

\end{exo}


\end{document}
pg
Modérateur
 
Messages: 2599
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Label et référence : Problème dans une liste

Messagepar zorba » Mardi 04 Mai 2010, 16:07

Bonjour,
PG :la bonne réponse professionnelle.
C'est parfait et je n'aurai jamais trouvé tout seul.
Merci beaucoup.
Pierre
On se lasse de tout, excepté d'apprendre. Virgile
zorba
Giga-utilisateur
 
Messages: 522
Inscription: Lundi 01 Juin 2009, 10:35
Statut actuel: Actif et salarié


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Yandex [Bot] et 31 invités