Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Problème de numérotation avec \marginpar

37 views
Skip to first unread message

Mister Oliver

unread,
Apr 5, 2010, 7:14:47 AM4/5/10
to
Bonjour,

Je veux numéroter dans la marge les paragraphes d'un texte, mais
lorsque j'utilise \marginpar{...} après le 1er mot de chaque
paragraphe, seules les pages impaires indiquent les n° de paragraphes.

Je suis en [twoside] et si j'enlève cette option, le problème
disparait mais par contre je perds les spécifications passées au
travers de "fancyhdr" (normal puisque je n'ai plus alors que du
recto).

\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[RO,LE]{\textit{Blabla}, 2010, \textbf{1}}
\fancyhead[LO]{Blabla}
\fancyhead[RE]{\nouppercase{\slshape{Blabla}}}
\fancyfoot[C]{\thepage}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}


Petite indication, j'ai redéfini la taille du document avec :
\voffset 0.0cm \hoffset 0.0cm \textheight 23cm \textwidth 16cm
\topmargin 0.0cm \oddsidemargin 0cm \evensidemargin -0cm

Une idée ?

Olive.

Pétiard François

unread,
Apr 5, 2010, 7:59:23 AM4/5/10
to

Si mes souvenirs sont bons, on écrit

\marginpar[texte écrit si on est sur une page paire]{texte écrit si on
est sur une page impaire}

François

--
<Alain> Cela dit dans frenchb.ldf on a :
\AtBeginDocument{\ifx\xspace\@undefined\let\xspace\relax\fi}
Finalement il revient à la surface sous une autre forme le
xspace...
<Joss> Tant qu'il est sous cette forme, je suis relativement \relax.
-+- in fr.comp.text.tex -+-

Mister Oliver

unread,
Apr 5, 2010, 9:22:53 AM4/5/10
to
On 5 avr, 13:59, Pétiard François

Merci pour la participation... mais toujours rien sur mes pages
paires...

Qui dit mieux ?

Olive.

Mister Oliver

unread,
Apr 5, 2010, 9:56:50 AM4/5/10
to
> Olive.- Masquer le texte des messages précédents -
>
> - Afficher le texte des messages précédents -

Petite précision : si je passe sous silence ma ligne de commande de
redimensionnement (avec % devant) ça marche... pourrait-on
m'expliquer ?

Mister Oliver

unread,
Apr 5, 2010, 10:07:19 AM4/5/10
to
> m'expliquer ?- Masquer le texte des messages précédents -

>
> - Afficher le texte des messages précédents -

Après avoir testé les commandes l'une après l'autre, c'est apparement
le "\evensidemargin -0cm" qui fout le bordel...

Un conseil ?

Olive.

Pétiard François

unread,
Apr 5, 2010, 10:23:29 AM4/5/10
to

Est-ce que vous pourriez fournir un ECM ?

François


--
C'est normal, une « cellule de xymatrix » fonctionne en mode
horizontal. Il faut repasser de façon artifcielle en mode
verticale. La méthode reine pour cela, sous LaTeX, est d'utiliser
minipage mais xymatrix a l'ait chatouilleux sur ce point et j'ai dû
revenir à des primitives TeX de manipulation de boîte. Je soupçonne
xypic de malfichutisme.
-+- Jean-Côme in fr.comp.text.tex -+-

GL

unread,
Apr 5, 2010, 10:55:05 AM4/5/10
to
Le 05/04/2010 16:23, Pétiard François a écrit :
> Le 05/04/2010 16:07, Mister Oliver a écrit :
>> On 5 avr, 15:56, Mister Oliver<olivier.penel...@laposte.net> wrote:
>>> On 5 avr, 15:22, Mister Oliver<olivier.penel...@laposte.net> wrote:
>> Après avoir testé les commandes l'une après l'autre, c'est apparement
>> le "\evensidemargin -0cm" qui fout le bordel...
>>
>> Un conseil ?
>>
>> Olive.
>
> Est-ce que vous pourriez fournir un ECM ?
>
> François

Oui et utiliser peut-être (et même assez assurément) le paquet
\geometry. Il y a des options les marginpar (width, sep, reverse etc.)
et avec LaTeX en twoside, il semble que les marginpar de droite soient
réduites à zéro...

GL

unread,
Apr 5, 2010, 11:04:57 AM4/5/10
to
Le 05/04/2010 13:14, Mister Oliver a écrit :
> Bonjour,
>

\documentclass[10pt,a4paper,twoside,french]{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage{geometry,lipsum}
\geometry{top=2cm,bottom=2cm,head=1cm,foot=1cm,headsep=.5cm,%
inner=3cm,outer=2cm,voffset=0pt,hoffset=0pt,%
reversemarginpar,marginparwidth=1cm,marginparsep=.2cm,asymmetric}

\begin{document}
\newcounter{nopar}
\everypar{\stepcounter{nopar}\marginpar{\number\value{nopar}}}
\lipsum[1-12]
\end{document}\endinput

Is this good ?

GL

unread,
Apr 5, 2010, 11:11:05 AM4/5/10
to
Le 05/04/2010 17:04, GL a écrit :
> Le 05/04/2010 13:14, Mister Oliver a écrit :
>> Bonjour,
>>
>
\documentclass[10pt,a4paper,twoside,french]{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage{geometry,lipsum}
\geometry{top=2cm,bottom=2cm,head=1cm,foot=1cm,headsep=.5cm,%
inner=3cm,outer=2cm,voffset=0pt,hoffset=0pt,%
reversemarginpar,marginparwidth=1cm,marginparsep=.2cm}


\begin{document}
\newcounter{nopar}
\everypar{\stepcounter{nopar}\marginpar{\ifthispageodd{}\hfill\number\value{nopar}}}


\lipsum[1-12]
\end{document}\endinput

Is this better ?

Mister Oliver

unread,
Apr 5, 2010, 12:45:06 PM4/5/10
to
On 5 avr, 16:23, Pétiard François
> -+- Jean-Côme in fr.comp.text.tex -+-- Masquer le texte des messages précédents -

>
> - Afficher le texte des messages précédents -

Ben... ayant mis sous silence l'un après l'autre chaque package, il ne
restait plus que l'histoire des dimensions du doc et "fancyhdr" que je
voulais garder tel quel à tester... voilà pourquoi je n'ai pas posté
d'ECM...

Dommage que la FAQ ne soit pas plus précise sur le sujet.

Merci de l'intérêt,
Olive.

Mister Oliver

unread,
Apr 5, 2010, 12:47:01 PM4/5/10
to

Ben voilà... avec \geometry : problème résolu !!!
Le pb provenait bien de "twoside" + \marginpar

Merci !!!
Olive.

Mister Oliver

unread,
Apr 5, 2010, 1:12:54 PM4/5/10
to

Pas mal... sauf qu'après chaque \section{...}, \subsection{...}, etc.
la commande \everypar n'est plus active, il faut donc penser à
réitérer la commande après chaque section, sub...

Je teste la suivante...

Olive.

Mister Oliver

unread,
Apr 5, 2010, 1:22:49 PM4/5/10
to

Marche pas des masses... voici ce que j'obtiens :

-----begin-----

Package frenchb.ldf Warning: The definition of \@makecaption has been
changed,
(frenchb.ldf) frenchb will NOT customise it;
(frenchb.ldf) reported on input line 10.

*geometry* driver: auto-detecting
*geometry* detected driver: pdftex

Class scrartcl Warning: odd/even page label number 1 undefined on
input line 13
.

! Missing \endcsname inserted.
<to be read again>
\discretionary
l.13 \lipsum[1-12]

-----end-----

Vu que la précédente fonctionne bien... je garde la 1ère proposition !

Merci de ton dévouement GL.
Olive.

GL

unread,
Apr 5, 2010, 1:33:16 PM4/5/10
to
Le 05/04/2010 19:22, Mister Oliver a �crit :

> On 5 avr, 17:11, GL<gouail...@gmail.com> wrote:
>> Le 05/04/2010 17:04, GL a �crit :> Le 05/04/2010 13:14, Mister Oliver a �crit :
> Vu que la pr�c�dente fonctionne bien... je garde la 1�re proposition !
>
> Merci de ton d�vouement GL.
> Olive.

Bizarre ton truc. As-tu bien fait copi�-coll� ?
Je viens de mettre � jour mon install de MikTeX et j'ai aucun probl�me...

GL

unread,
Apr 5, 2010, 1:54:45 PM4/5/10
to
Si c'est seulement cela tu peux réactiver dans le \titleformat :
\def\numeropara{\everypar{\stepcounter{nopar}\marginpar{\the\value{nopar}}}

\sectionformat\section{...}{...}{...}{...}{\numeropara}

pas testé donc ça marchera pas du 1er coup !

Manuel Pégourié-Gonnard

unread,
Apr 5, 2010, 4:17:56 PM4/5/10
to
Mister Oliver scripsit :

> Ben voilà... avec \geometry : problème résolu !!!
> Le pb provenait bien de "twoside" + \marginpar
>

Vraisemblablement, votre manip de dimension faisait que les notes
marginales en page paire débordaient hors de la feuille de papier. Comme
j'imagine qu'elle étaien courte (un numéro), cela expliquerait qu'elles
aient paru complètement absentes.

Mais on ne peut le savoir qu'avec un ECM, et je n'ai pas compris vos
raisons pour ne pas en poster. (Au pire, s'il n'est pas tout à fait
minimal, ce n'est pas grave. Ou si un exemple minimal ne montre pas
tout, on traiter les problèmes un par un et complexifier l'exemple petit
à petit.)

--
Manuel Pégourié-Gonnard Institut de mathématiques de Jussieu
http://weblog.elzevir.fr/ http://people.math.jussieu.fr/~mpg/


Paul Gaborit

unread,
Apr 5, 2010, 8:52:29 PM4/5/10
to

À (at) Mon, 5 Apr 2010 22:17:56 +0200 (CEST),
Manuel Pégourié-Gonnard <m...@elzevir.fr> écrivait (wrote):

> Mister Oliver scripsit :
>
>> Ben voilà... avec \geometry : problème résolu !!!
>> Le pb provenait bien de "twoside" + \marginpar
>>
> Vraisemblablement, votre manip de dimension faisait que les notes
> marginales en page paire débordaient hors de la feuille de papier. Comme
> j'imagine qu'elle étaien courte (un numéro), cela expliquerait qu'elles
> aient paru complètement absentes.
>
> Mais on ne peut le savoir qu'avec un ECM, et je n'ai pas compris vos
> raisons pour ne pas en poster. (Au pire, s'il n'est pas tout à fait
> minimal, ce n'est pas grave. Ou si un exemple minimal ne montre pas
> tout, on traiter les problèmes un par un et complexifier l'exemple petit
> à petit.)

On peut aussi conseiller l'usage du package 'layout' à ceux qui ne
veulent pas utiliser geometry. Il aide bien à comprendre comment
fonctionnent les marges avec les mécanismes par défaut (qui sont un peu
complexes, il faut le reconnaître).

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>

Mister Oliver

unread,
Apr 7, 2010, 5:14:43 AM4/7/10
to


Cher M. Pégourié-Gonnard

Je me réexplique donc...

Lorsque généralement j'ai un pb avec LaTeX, ce qui arrive presqu'à
chaque fois car j'aime personnaliser mes documents, mon 1er réflexe
est la FAQ-GRAPPA. Si celle-ci se révèle essentielle lorsqu'on débute,
elle se révèle aussi assez vite insuffisante dès lors que l'on veut
obtenir des modifs particulières. Mon deuxième réflexe est donc de
"passer sous silence" un par un les packages que j'utilise, certains
nécessitant d'être placés dans un ordre précis, notamment avant ou
après le pacakge "babel" ou encore avant ou après le package
"hyperref", etc. ; d'autres posant carrément des problèmes
d'incompatibilité. Et mon dernier est de poster sur ce newsgroup.

Ce qui implique, dans le cas présent, que sans vraiment en être sûr
j'ai néanmoins eu l'intuition que le problème venait de ma façon de
redimensionner le document, voilà pourquoi j'ai simplement donné la
ligne de commandes correspondante :

\voffset 0.0cm \hoffset 0.0cm \textheight 23cm \textwidth 16cm
\topmargin 0.0cm \oddsidemargin 0cm \evensidemargin -0cm

Si j'avais donné un Exemple Complet Minimal, celui-ci se serait résumé
à :
-------------
\documentclass[11pt,a4paper,twoside]{article}
\usepackage[latin1]{inputenc}
\usepackage[ec]{aeguill}
\usepackage[frenchb]{babel}


\voffset 0.0cm \hoffset 0.0cm \textheight 23cm \textwidth 16cm
\topmargin 0.0cm \oddsidemargin 0cm \evensidemargin -0cm

\begin{document}
Texte sur au moins deux pages avec utilisation de \marginpar[n]{n}
après le 1er mot de chaque paragraphe.
\end{document}
-------------
Peut être ai-je eu tort, mais j'ai supposé que cela n'apporterait pas
d'informations supplémentaires pertinentes.

Je rajoute, que je ne connaissais pas jusqu'alors le package "ipsum"
et que je me voyais mal poster un ECM avec l'équivalent de deux pages
de "blabla blablabla..." pour rendre l'exemple effectif.

Voilà...

Encore merci de votre dévotion à ce newsgroup INDISPENSABLE !!!

Olivier Penelaud.


Mister Oliver

unread,
Apr 7, 2010, 5:16:41 AM4/7/10
to

Je vais jeter un oeil à ce fameux "layout"... merci du tuyau !

Olive.

Mister Oliver

unread,
Apr 7, 2010, 5:25:53 AM4/7/10
to
> > Olive.- Masquer le texte des messages précédents -
>
> - Afficher le texte des messages précédents -

Désolé, je ne comprends pas bien...

Un ECM peut être ?

Olive.

Mister Oliver

unread,
Apr 7, 2010, 5:59:36 AM4/7/10
to
> Je viens de mettre jour mon install de MikTeX et j'ai aucun probl me...- Masquer le texte des messages précédents -

>
> - Afficher le texte des messages précédents -

Oui et ma MAJ est ok aussi...

Olive.

Mister Oliver

unread,
Apr 7, 2010, 6:02:31 AM4/7/10
to
On 5 avr, 17:04, GL <gouail...@gmail.com> wrote:

Nouvelle surprise... le compteur s'arrête après l'environnement
"quote"...

Olive.

GL

unread,
Apr 7, 2010, 6:18:57 AM4/7/10
to

Ouais il y a un \@afterheadings (LaTeX) qui vient remettre son grain de
sel : \everypar{}.

Donc il faut bidouiller... du style :
% -----------------------------------------------------


\documentclass[10pt,a4paper,twoside,french]{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{babel}


\usepackage{geometry,lipsum}
\geometry{top=2cm,bottom=2cm,head=1cm,foot=1cm,headsep=.5cm,%
inner=3cm,outer=2cm,voffset=0pt,hoffset=0pt,%
reversemarginpar,marginparwidth=1cm,marginparsep=.2cm}

\usepackage{etextools,fmtcount}\robustify\ordinalstringnum
% ---------------------------------------------
\newcounter{nopar}
\protected\def\numeropara{\everypar{\stepcounter{nopar}\marginpar{\leavevmode\ifthispageodd{}\hfill\raise.5pt\hbox{\the\value{nopar}}}}}

\newrobustcmd\Section[1]{\section{#1}\numeropara}
% ---------------------------------------------
\begin{document}

\forcsvloop{1,2,3,4,5,6}\do{%
\Section{\ordinalstringnum{#1}[f] section}%
\lipsum[#1-\numexpr#1+1\relax]}

\end{document}\endinput

GL

unread,
Apr 7, 2010, 6:24:32 AM4/7/10
to
Mais c'est normal !
\everypar est modifié à loisir.

Le mieux serait sans doute de créer un environnement "numerotepar" au
sein duquel la numérotation est automatique.

Tout dépend de la complication de ton source. C'était juste pour dire
qu'on pouvait laisser TeX se charger de numéroter les paragraphes
séquentiellement. Je n'ai pas l'intention d'écrire un package de
numérotation des paragraphes (désolé !)

A+

as

unread,
Apr 7, 2010, 7:08:28 AM4/7/10
to
Le Wed, 7 Apr 2010 03:02:31 -0700 (PDT),
Mister Oliver <olivier....@laposte.net> a écrit :

> Nouvelle surprise... le compteur s'arrête après l'environnement
> "quote"...

\documentclass[10pt,a4paper,twoside,french]{scrartcl}


\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage{geometry,lipsum}
\geometry{top=2cm,bottom=2cm,head=1cm,foot=1cm,headsep=.5cm,%
inner=3cm,outer=2cm,voffset=0pt,hoffset=0pt,%
reversemarginpar,marginparwidth=1cm,marginparsep=.2cm,asymmetric}

\def\Everypar{%


\everypar{\stepcounter{nopar}\marginpar{\number\value{nopar}}}}

\AtBeginDocument{\Everypar}
\let\endquoteold\endquote
\def\endquote{{\endquoteold}\Everypar}

\begin{document}
\newcounter{nopar}
\lipsum[1-12]
\begin{quote} quote \end{quote}
\lipsum[1-12]
\end{document}

--
Arnaud

Manuel Pégourié-Gonnard

unread,
Apr 7, 2010, 10:13:51 AM4/7/10
to
Mister Oliver scripsit :

> Cher M. Pégourié-Gonnard
>
« Manuel » (voir « Manu ») convenait très bien :-)

> Lorsque généralement j'ai un pb avec LaTeX, ce qui arrive presqu'à
> chaque fois car j'aime personnaliser mes documents, mon 1er réflexe
> est la FAQ-GRAPPA.

Ce n'est pas un mauvais réflexe.

> Mon deuxième réflexe est donc de
> "passer sous silence" un par un les packages que j'utilise, certains
> nécessitant d'être placés dans un ordre précis, notamment avant ou
> après le pacakge "babel" ou encore avant ou après le package
> "hyperref", etc. ; d'autres posant carrément des problèmes
> d'incompatibilité.

C'est un excellent réflexe.

> Et mon dernier est de poster sur ce newsgroup.
>

C'est aussi un réflexe que je ne peux qu'approuver :-)

> \voffset 0.0cm \hoffset 0.0cm \textheight 23cm \textwidth 16cm
> \topmargin 0.0cm \oddsidemargin 0cm \evensidemargin -0cm
>
> Si j'avais donné un Exemple Complet Minimal, celui-ci se serait résumé
> à :
> -------------
> \documentclass[11pt,a4paper,twoside]{article}
> \usepackage[latin1]{inputenc}
> \usepackage[ec]{aeguill}
> \usepackage[frenchb]{babel}
> \voffset 0.0cm \hoffset 0.0cm \textheight 23cm \textwidth 16cm
> \topmargin 0.0cm \oddsidemargin 0cm \evensidemargin -0cm
>
> \begin{document}
> Texte sur au moins deux pages avec utilisation de \marginpar[n]{n}
> après le 1er mot de chaque paragraphe.
> \end{document}
> -------------
> Peut être ai-je eu tort, mais j'ai supposé que cela n'apporterait pas
> d'informations supplémentaires pertinentes.
>

Dans ce cas précis, en effet, ça n'apporte pas beaucoup d'information,
mais ça permet d'être certains que vous n'en avez pas omis
involontairement, et ça rend plus facile la reproduction du problème
chez soi.

> Je rajoute, que je ne connaissais pas jusqu'alors le package "ipsum"
> et que je me voyais mal poster un ECM avec l'équivalent de deux pages
> de "blabla blablabla..." pour rendre l'exemple effectif.
>

Je comprends.

Je précise que je ma remarque ne se voulait pas un reproche, juste un
encouragement à fournir des ECM à chaque fois que c'est possible.
Puisqu'on parle d'habitudes, mon premier réflexe pour répondre à une
question (à moins que la réponse ne me saute aux yeux) est de
copier-coller l'ECM dans mon éditeur favori « pour voir ».

--

0 new messages