Faire référence à une ligne est assez simple avec le package lineno : on place un repère dans le texte, du type \linelabel{rep}, que l'on appelle par la suite (\lineref{rep}).

La chose se complique quand on veut faire référence à une phrase qui court sur plusieurs lignes. Une solution est de placer deux repères, l'un au début de la phrase (\linelabel{rep_beg}) et l'autre à la fin (\linelabel{rep_end}).

La référence sera de ce type : « comme on le voit l.\lineref{rep_beg}--\linelabel{rep_end}\dots ».

C'est bon, mais un peu fastidieux. M'est avis qu'il y a moyen de faire plus simple…

Posée 24 Jan '16, 23:43

fred02840's gravatar image

fred02840
4.2k17154187
Taux d'acceptation : 16%

Modifiée 25 Jan '16, 09:57

denis's gravatar image

denis ♦♦
7.0k1510

1

Mis à part se concocter une macro personnelle, disons \phraseref{rep-beg}{rep-end} qui se développe en l.~\lineref{rep-beg}--\linelabel{rep-end}, je ne vois pas comment on peut faire plus simple.

(25 Jan '16, 10:01) denis ♦♦ denis's gravatar image

Et donc faire autant de macros que de phrases à labelliser… Bon, j'en reste à la méthode que j'ai indiquée.

(25 Jan '16, 22:00) fred02840 fred02840's gravatar image

Tu peux procéder en créant trois macros :

Ouvrir dans l'éditeur
\newcommand{\debut}[1]{#1_beg}
\newcommand{\fin}[1]{#1_end}
\newcommand{\phraseref}[1]{\lineref{#1_beg}-\lineref{#1_end}}
Lien permanent

Publiée 05 Fév '16, 15:19

Ma%C3%AFeul's gravatar image

Maïeul
309514
Taux d'acceptation : 37%

Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.