[Résolu] Options pour la mise en forme des items

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] Options pour la mise en forme des items

Messagepar zorba » Lundi 21 Février 2011, 19:40

Bonsoir,
j'utilise quand je rédige des exercices des commandes que PG m'avait transmises quand je commençais en latex. Ces commandes me vont bien, mais je souhaite maintenant un petit raffinement pour changer la couleur des numéros d'items, de façon à respecter la mise en forme originale des livres que j'utilise. Voici un ECM avec les commandes et un court exemple :

Code: Tout sélectionner
\documentclass[a4paper,10pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[frenchb]{babel}
\usepackage{amsmath,mathrsfs,amssymb}

\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}}
\begin{document}
\begin{questions}
\item Première question.
\item On a :
\begin{sousquestions}
\item Etape pour commencer,
\item pour continuer,
\item pour conclure.
\end{sousquestions}
\item Dernière question.
\end{questions}
\end{document}


J'aimerai pouvoir écrire :

Code: Tout sélectionner
\begin[red]{questions}
\item
\item
\end{questions}


Je n'ai jamais vu une option sur une commande \begin.
Est-ce possible?
Je remercie d'avance pour toute suggestion.
Bonne soirée.
Pierre
Dernière édition par zorba le Mardi 22 Février 2011, 14:10, é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: Items - Options pour mise en form

Messagepar un bon petit » Lundi 21 Février 2011, 20:09

Au lieu de

Code: Tout sélectionner
\newenvironment{questions}{\begin{list}

écrire

Code: Tout sélectionner
\newenvironment{questions}[1][]{\ifx\relax#1\relax\else\color{#1}\fi\begin{list}


Et dans le code :

Code: Tout sélectionner
\begin{questions][red]
\item question 1
\item question 2
\end{questions}
un bon petit
Giga-utilisateur
 
Messages: 640
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: Items - Options pour mise en form

Messagepar zorba » Mardi 22 Février 2011, 04:56

Bonjour,
j'ai essayé la modification qui permet de changer la couleur de rédaction de toutes les questions. Ce n'était pas tout à fait mon intention, je désire changer seulement la couleur du numéro d'item, pas plus.
Est-ce possible en adaptant la commande, si possible en prévoyant la couleur black par défaut? J'ai essayé de bricoler autour des numéros de séquence en les plaçant à l'intérieur d'une commande {\color{#1}\bfseries\arabic{questions})} mais j'ai des erreurs de syntaxe et je ne vois pas comment les corriger.
Si vous avez une idée, je suis preneur.
Merci pour la réponse rapide , bonne journée à tous.
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é

Re: Items - Options pour mise en form

Messagepar un bon petit » Mardi 22 Février 2011, 08:14

Dans le code que tu as donné, remplace

Code: Tout sélectionner
{\hspace{\labelsep}\bfseries\arabic{questions})}

par

Code: Tout sélectionner
{\hspace{\labelsep}\ifx\relax#1\relax\else\color{#1}\fi\bfseries\arabic{questions})}
un bon petit
Giga-utilisateur
 
Messages: 640
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: Items - Options pour mise en form

Messagepar zorba » Mardi 22 Février 2011, 11:13

Bonjour,
j'ai remplacé et retrouve une erreur de compilation qui est ravageuse
Voici le programme :

Code: Tout sélectionner
    \documentclass[a4paper,10pt]{article}
    \usepackage[latin1]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{lmodern}
    \usepackage[frenchb]{babel}
    \usepackage{amsmath,mathrsfs,amssymb}
 
    \newcounter{questions}
    \renewcommand{\thequestions}{\textbf{\arabic{questions})}}
    \newenvironment{questions}{\begin{list}
     {\hspace{\labelsep}\ifx\relax#1\relax\else\color{#1}\fi\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}}
    \begin{document}
    \begin{questions}
    \item Première question.
    \item On a :
    \begin{sousquestions}
    \item Etape pour commencer,
    \item pour continuer,
    \item pour conclure.
    \end{sousquestions}
    \item Dernière question.
    \end{questions}
   
    \begin{questions}[red]
    \item Première question.
    \item On a :
    \begin{sousquestions}
    \item Etape pour commencer,
    \item pour continuer,
    \item pour conclure.
    \end{sousquestions}
    \item Dernière question.
    \end{questions}
    \end{document}


et le fichier log

Code: Tout sélectionner
This is pdfTeX, Version 3.1415926-1.40.11 (MiKTeX 2.9) (preloaded format=latex 2011.2.19)  22 FEB 2011 11:09
[...]
! Illegal parameter number in definition of \@itemlabel.
<to be read again>
                   1
l.26     \begin{questions}
                         
You meant to type ## instead of #, right?
Or maybe a } was forgotten somewhere earlier, and things
are all screwed up? I'm going to assume that you meant ##.

! Illegal parameter number in definition of \@itemlabel.
<to be read again>
                   1
l.26     \begin{questions}
                         
You meant to type ## instead of #, right?
Or maybe a } was forgotten somewhere earlier, and things
are all screwed up? I'm going to assume that you meant ##.

! Undefined control sequence.
\@itemlabel ...\ifx \relax ##1\relax \else \color
                                                  {##1}\fi \bfseries \arabic...
l.27     \item P
                remière question.
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

! You can't use `macro parameter character #' in restricted horizontal mode.
\@itemlabel ...x \relax ##1\relax \else \color {##
                                                  1}\fi \bfseries \arabic {q...
l.27     \item P
                remière question.
Sorry, but I'm not programmed to handle this case;
I'll just pretend that you didn't ask for it.
If you're in the wrong mode, you might be able to
return to the right one by typing `I}' or `I$' or `I\par'.

! Undefined control sequence.
\@itemlabel ...\ifx \relax ##1\relax \else \color
                                                  {##1}\fi \bfseries \arabic...
l.28     \item O
                n a :
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

! You can't use `macro parameter character #' in restricted horizontal mode.
\@itemlabel ...x \relax ##1\relax \else \color {##
                                                  1}\fi \bfseries \arabic {q...
l.28     \item O
                n a :
Sorry, but I'm not programmed to handle this case;
I'll just pretend that you didn't ask for it.
If you're in the wrong mode, you might be able to
return to the right one by typing `I}' or `I$' or `I\par'.

! Undefined control sequence.
\@itemlabel ...\ifx \relax ##1\relax \else \color
                                                  {##1}\fi \bfseries \arabic...
l.34     \item D
                ernière question.
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

! You can't use `macro parameter character #' in restricted horizontal mode.
\@itemlabel ...x \relax ##1\relax \else \color {##
                                                  1}\fi \bfseries \arabic {q...
l.34     \item D
                ernière question.
Sorry, but I'm not programmed to handle this case;
I'll just pretend that you didn't ask for it.
If you're in the wrong mode, you might be able to
return to the right one by typing `I}' or `I$' or `I\par'.

! Illegal parameter number in definition of \@itemlabel.
<to be read again>
                   1
l.37     \begin{questions}
                          [red]
You meant to type ## instead of #, right?
Or maybe a } was forgotten somewhere earlier, and things
are all screwed up? I'm going to assume that you meant ##.

! Illegal parameter number in definition of \@itemlabel.
<to be read again>
                   1
l.37     \begin{questions}
                          [red]
You meant to type ## instead of #, right?
Or maybe a } was forgotten somewhere earlier, and things
are all screwed up? I'm going to assume that you meant ##.


! LaTeX Error: Something's wrong--perhaps a missing \item.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                             
                                                 
l.38     \item P
                remière question.
Try typing  <return>  to proceed.
If that doesn't work, type  X <return>  to quit.


! LaTeX Error: Something's wrong--perhaps a missing \item.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                             
                                                 
l.38     \item P
                remière question.
Try typing  <return>  to proceed.
If that doesn't work, type  X <return>  to quit.


! LaTeX Error: Something's wrong--perhaps a missing \item.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                             
                                                 
l.38     \item P
                remière question.
Try typing  <return>  to proceed.
If that doesn't work, type  X <return>  to quit.

! Undefined control sequence.
\@itemlabel ...\ifx \relax ##1\relax \else \color
                                                  {##1}\fi \bfseries \arabic...
l.38     \item P
                remière question.
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

! You can't use `macro parameter character #' in restricted horizontal mode.
\@itemlabel ...x \relax ##1\relax \else \color {##
                                                  1}\fi \bfseries \arabic {q...
l.38     \item P
                remière question.
Sorry, but I'm not programmed to handle this case;
I'll just pretend that you didn't ask for it.
If you're in the wrong mode, you might be able to
return to the right one by typing `I}' or `I$' or `I\par'.


! LaTeX Error: Something's wrong--perhaps a missing \item.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                             
                                                 
l.39     \item O
                n a :
Try typing  <return>  to proceed.
If that doesn't work, type  X <return>  to quit.


! LaTeX Error: Something's wrong--perhaps a missing \item.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                             
                                                 
l.39     \item O
                n a :
Try typing  <return>  to proceed.
If that doesn't work, type  X <return>  to quit.


! LaTeX Error: Something's wrong--perhaps a missing \item.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                             
                                                 
l.39     \item O
                n a :
Try typing  <return>  to proceed.
If that doesn't work, type  X <return>  to quit.

! Undefined control sequence.
\@itemlabel ...\ifx \relax ##1\relax \else \color
                                                  {##1}\fi \bfseries \arabic...
l.39     \item O
                n a :
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

! You can't use `macro parameter character #' in restricted horizontal mode.
\@itemlabel ...x \relax ##1\relax \else \color {##
                                                  1}\fi \bfseries \arabic {q...
l.39     \item O
                n a :
Sorry, but I'm not programmed to handle this case;
I'll just pretend that you didn't ask for it.
If you're in the wrong mode, you might be able to
return to the right one by typing `I}' or `I$' or `I\par'.


! LaTeX Error: Something's wrong--perhaps a missing \item.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                             
                                                 
l.41     \item E
                tape pour commencer,
Try typing  <return>  to proceed.
If that doesn't work, type  X <return>  to quit.

! Undefined control sequence.
\@itemlabel ...\ifx \relax ##1\relax \else \color
                                                  {##1}\fi \bfseries \arabic...
l.45     \item D
                ernière question.
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

! You can't use `macro parameter character #' in restricted horizontal mode.
\@itemlabel ...x \relax ##1\relax \else \color {##
                                                  1}\fi \bfseries \arabic {q...
l.45     \item D
                ernière question.
Sorry, but I'm not programmed to handle this case;
I'll just pretend that you didn't ask for it.
If you're in the wrong mode, you might be able to
return to the right one by typing `I}' or `I$' or `I\par'.

[1

]


Merci de l'aide, je ne suis vraiment pas au niveau avec ce langage de programmation.
A bientôt.
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é

Re: Items - Options pour mise en form

Messagepar pg » Mardi 22 Février 2011, 11:36

Il manque un "[1][]" après "\newenvironment{questions}" et un "\usepackage{xcolor}" :

Code: Tout sélectionner
\documentclass[a4paper,10pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[frenchb]{babel}
\usepackage{amsmath,mathrsfs,amssymb}
\usepackage{xcolor}

\newcounter{questions}
\renewcommand{\thequestions}{\textbf{\arabic{questions})}}
\newenvironment{questions}[1][]{\begin{list}
 {\hspace{\labelsep}\ifx\relax#1\relax\else\color{#1}\fi\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}}
\begin{document}
\begin{questions}
\item Première question.
\item On a :
\begin{sousquestions}
\item Etape pour commencer,
\item pour continuer,
\item pour conclure.
\end{sousquestions}
\item Dernière question.
\end{questions}

\begin{questions}[red]
\item Première question.
\item On a :
\begin{sousquestions}
\item Etape pour commencer,
\item pour continuer,
\item pour conclure.
\end{sousquestions}
\item Dernière question.
\end{questions}
\end{document}
pg
Modérateur
 
Messages: 2585
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Options pour la mise en forme des items

Messagepar zorba » Mardi 22 Février 2011, 14:09

Super, exactement ce que je voulais.
Merci à tous les deux pour l'aide rapide et efficace.
Bonne journée.
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: Aucun utilisateur enregistré et 27 invités