maieul / ledmac

package reledmac for latex
http://www.ctan.org/tex-archive/macros/latex/contrib/reledmac
54 stars 28 forks source link

Notes d'apparat pas en bas de page #145

Closed Circeb closed 10 years ago

Circeb commented 10 years ago

Bonjour,

Je souhaiterais que les notes d'apparat n'apparaissent pas à la fin de la page, mais directement sous le texte édité. Y a-t-il un moyen d'imposer l'endroit où je veux que les notes apparaissent, même si c'est en plein corps de texte ?

Merci.

maieul commented 10 years ago

sous le texte édité ?

tu veux dire quelque chose comme

Un introduction au texte Le texte édité Ses notes Un commentaire

?

si oui, il faut utiliser les environnement ledgroup (cf doc)

Circeb commented 10 years ago

Je veux plutôt faire

le texte édité ses notes

un autre texte édité ses notes

ledgroup marche en effet bien… tant qu'on n'est pas dans des Pages. Dans l'environnement Leftside, les notes d'apparat sont numérotées dans la continuité du texte. Et si je veux mettre un titre au texte, ça devient un chaos complet.

Voici le code que j'ai utilisé : \documentclass[a4paper, 12pt]{book}

%Polices \usepackage{fontspec} \setmainfont[Mapping=tex-text]{Times New Roman} \setsansfont[Mapping=tex-text]{Arial}

%Unicode \usepackage{xunicode}

%Langues \usepackage{polyglossia} \setmainlanguage{french} \setotherlanguage[variant=ancient]{greek}

\usepackage{eledmac} \usepackage{eledpar} \firstlinenum{1} \linenumincrement{1} \begin{document} \begin{pages} \begin{Leftside} \beginnumbering \pstart \begin{ledgroup} Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\edtext{quis}{\Afootnote{abc}} nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. \end{ledgroup} \pend \endnumbering \end{Leftside}

\begin{Rightside} \beginnumbering \pstart Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. \pend \endnumbering \end{Rightside} \end{pages} \Pages \end{document}

maieul commented 10 years ago

en fait tu voudrais avoir des ledgroup en // ?

Circeb commented 10 years ago

Plutôt l'apparat en-dessous de chaque texte grec (gauche) ; pour le côté droit, pas de ledgroup.

1er Texte grec Sa Traduction Apparat

2ème Texte grec Sa Traduction Apparat

maieul commented 10 years ago

fourni moi un exemple minimal de la syntaxe que tu aimerais et je vais voir ce qu'il est possible de faire

Circeb commented 10 years ago
\begin{document}
\begin{pages}
\begin{Leftside}
\beginnumbering
\pstart
\begin{ledgroup}
\section{Texte 1}
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\edtext{quis}{\Afootnote{abc}} nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
\end{ledgroup}
\pend

\pstart
\begin{ledgroup}
\section{Texte 2}
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\edtext{quis}{\Afootnote{abc}} nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
\end{ledgroup}
\pend
\endnumbering
\end{Leftside}

\begin{Rightside}
\beginnumbering
\pstart
\section{Texte 1}
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
\pend

\pstart
\section{Texte 2}
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
\pend
\endnumbering
\end{Rightside}
\end{pages}
\Pages
\end{document}
maieul commented 10 years ago

bon, j'essaierai de regarder le week-end en 8

maieul commented 10 years ago

Bon, alors je viens de faire des correctifs pour permettre ce genre de besoin.

Peux tu tester ?

Ton fichier doit être organisé comme cela :

Voir le fichier issue145.tex comme exemple

Circeb commented 10 years ago

Ca marche globalement de mon côté ; il y a cependant quelques petits problèmes :

maieul commented 10 years ago

Peux tu

Circeb commented 10 years ago

Voici le document exemple avec une subsection :

\documentclass{book} \usepackage{eledmac} \usepackage[parledgroup]{eledpar} \firstlinenum{1} \linenumincrement{1} \begin{document} \begin{pages} \begin{Leftside} \beginnumbering \pstart \section{toto}\skipnumbering \subsection{toto1}\skipnumbering \pend \pstart \begin{ledgroup}

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\edtext{quis}{\Afootnote{abc}} nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. \end{ledgroup} \pend

\pstart \subsection{toto2} \pend \pstart \begin{ledgroup}

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\edtext{quis}{\Afootnote{abc}} nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. \end{ledgroup} \pend \endnumbering \end{Leftside}

\begin{Rightside} \beginnumbering

\pstart \section{toto}\skipnumbering \subsection{toto1}\skipnumbering \pend \pstart \begin{ledgroup}

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. \end{ledgroup} \pend

\pstart \subsection{toto2} \pend \pstart \begin{ledgroup}

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. \end{ledgroup} \pend \endnumbering \end{Rightside} \Pages \end{pages}

\end{document}

La ligne 1 n'est alors pas sur Lorem ipsum mais sur la ligne entre le titre et le texte. Cela ne change rien de mettre ou pas skipnumbering ou un \pend \pstart entre les deux titres

Circeb commented 10 years ago

Par ailleurs, un détail : avec \lineation{pstart}, l'apparat indique dans quel pstart on se trouve (1. 1 ἐν…) ; ce n'est pas utile si l'apparat se trouve après chaque texte, puisqu'il n'y a pas d'ambiguité sur le texte auquel on fait référence : comment le supprimer ?

maieul commented 10 years ago

\pstartinfootnote[][false] (pour toute les séries --- a vérifer, sinon
\pstartinfootnote[A][false] pour la série A

maieul commented 10 years ago

cause du problème reperé : le premier ledgroup déclenche, systematiquement, un nouvelle ligne. C'est elle qui est numeroté. Reparer cela après le repas

maieul commented 10 years ago

A non, le déclenchement est bien conditionné par la section avant.

Honntement la manière d'intégrer \section a eledmac/eledpar est galère.

Le plus simple serait que tu mette un \skipnumbering au debut de ton premier eledpar

maieul commented 10 years ago

donc voir l'exemple dans 9657749

maieul commented 10 years ago

ok, je n'avais pas compris que "il semble y avoir une incompatibilité entre ce package et setspace." signifiait non pas incompatibilité entre eledpar et setspace mais entre eledpar et cette nouvelle fonctionalité. Donc #146 est en fait un sous produit de #145

tout ceci s'avère plus compliqué que je ne le pensais. Il faut que je regarde en detail ce week-end, tête reposée

Circeb commented 10 years ago

\pstartinfootnote[][false] marche et le \skipnumbering aussi : merci !

maieul commented 10 years ago

il y a un souci de décalage entre la p. gauche et la p. droite. Il faut que je règle cela

maieul commented 10 years ago

Hop, je viens de pousser les dernières corrections.

So:

peux tu tester la nouvelle version, et me dire si c'est ok ?

si oui, il faut que je documente cela...

Circeb commented 10 years ago

Je suis en voyage jusqu´à dimanche, je testerai la version dès mon retour.

Circeb commented 10 years ago

L'interligne marche si l'on met bien un espace entre la fin du texte et le \end{ledgroup}, et les textes ont l'air bien synchronisés. Quelques petites choses encore :

\documentclass{book}
\usepackage{eledmac}
\usepackage{polyglossia}
\setmainlanguage{french}
\usepackage{setspace}
\onehalfspacing
\usepackage[parledgroup]{eledpar}
\firstlinenum*{1}
\linenumincrement*{1}
\begin{document}

\begin{pages}
\begin{Leftside}
\beginnumbering
\pstart
\begin{ledgroup}

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\edtext{quis}{\Afootnote{Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.}} nostrud exercitation ullamco \edtext{laboris}{\Bfootnote{abc}} nisi ut aliquip ex ea commodo consequat. 

\end{ledgroup}
\pend

\endnumbering
\end{Leftside}

\begin{Rightside}
\beginnumbering

\pstart
\begin{ledgroup}

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
\end{ledgroup}
\pend

\endnumbering
\end{Rightside}
\Pages
\end{pages}

\end{document}
maieul commented 10 years ago

Pour le premier problème, c'est assez normal: si tu ne précise rien, il n'y a pas de raison que cela change.

Comme par ailleurs je ne peux pas me permettre d'intégrer dans le code tout les trucs pour compenser tous les packages existant, je ne vais pas intégrer cela directement. Par contre je te donne la solution.

Dans ton préambule, ajoute


\makeatletter\bhookXnote{\setstretch {\setspace@singlespace}}\makeatother

Explication:

Bon, faudrait trouver un endroit où en parler dans la doc ... mais franchement je m'en sort plus avec cette doc. Elle est super longue. Si tu vois une idée d'endroit et de formulation tu me dis ?

Je vais regarder pour le second problème.

maieul commented 10 years ago

a non faut pas mettre d'espace avant le \end{ledgroup} sinon tu a une ligne vide qui est ajouté, de manière numerotée. Normalement la dernière version qui est sur github ne devrait plus nécessiter cela.

maieul commented 10 years ago

Bon, tout cela s'avère plus complexe que prévu. J'ai déja corrigé pas mal de bug potentielle, mais j'ai encore des soucis de décalage.

Faut que je me repose. J'essaierais de faire cela le week-end prochain.

Notes pour moi même: deux problèmes :

Bref tous cela mérite encore pas mal de temps ... mais on tient le bon bout

Circeb commented 10 years ago

J'ai ajouté \makeatletter\bhookXnote{\setstretch {\setspace@singlespace}}\makeatother dans le préambule du fichier latex précédent (avec un apparat plus long pour faire plusieurs lignes), mais ne constate aucun effet. -> corrigé

maieul commented 10 years ago

A oui, je n'avais testé que sur un ledgroup normal, pas sur un led group en //.

Bon bah ici même topo, faut que j'ajoute cela sur la gestion du parallelism.

(notes perso : a priori simple -> il faut commencer un groupe au moment où l'on a la mark begin, mettre ensuite l'appel à la commande correspondante (plus complexe : il faut savoir le type de note + la lettre) et enfin fermer le groupe lors de la mark end

Circeb commented 10 years ago

Quelques petits problèmes encore avec certaines options d'eledmac:

maieul commented 10 years ago

Le 28 nov. 2013 à 18:19, Circeb notifications@github.com a écrit :

Quelques petits problèmes encore avec certaines options d'eledmac:

• avec \parafootsep{||} le premier apparat commence normalement avec le numéro de ligne, mais les apparats des textes suivants commencent d'abord par ||. pas compris • il semble y avoir des problèmes avec \footparagraph dans la numérotation : l'apparat se retrouve numéroté, je retrouve des problèmes avec la dernière ligne qui n'est pas numérotée.

\footparagraph est un nid a problème, alors le greffer sur un autre nid a problème. Faut que je regarde plus en détails.

maieul commented 10 years ago

@Circeb tu pourrais m'expliquer en détail ton bug avec \parafootsep{||} ?

Circeb commented 10 years ago

Ah pardon, j'avais reporté puis oublié la question. Voici à quoi ressemble l'apparat du premier texte:

  1. ααα] bbb || 3. ααα etc. Et à partir du second: || 1. ααα] bbb || 3. ααα etc.
maieul commented 10 years ago

note perso : \l@dpscL pour connaitre le numero du pstart courant.

maieul commented 10 years ago

@Circeb bug avec \parafootsep{||} corrigé. Il me me reste plus qu'à m'attaquer proprement au //isme.

maieul commented 10 years ago

Bon, pour le moment je coince encore sur le changement d'interligne en plein milieu de //isme. C'est pas très bon tout ca.

Circeb commented 10 years ago

La nouvelle version a un problème avec les vers (qui n'existait pas avec les versions précédentes) : que j'utilise \begin{verse}, \stanza ou \begin{astanza}, je n'ai que des problèmes à la compilation.

maieul commented 10 years ago

quelles nouvelles versions ?

quel code ?

Circeb commented 10 years ago

En fait, je ne suis plus sûre que ça a un rapport avec les vers. J'ai téléchargé le programme hier (version modifiée hier à 7h34), et j'ai un problème que je n'arrive pas à cerner, qui apparaît et disparaît au fil des compilations. Je continue de creuser pour trouver où il réside.

maieul commented 10 years ago

attention j'ai fait mes derniers commits à 23h30, et j'ai notamment supprimer une technique qui s'avérait plus problèmatique qu'autre chose.

Circeb commented 10 years ago

Le dossier n'indique qu'une modification à 14:40, et le problème reste. Voici les messages d'erreur que j'ai:

! Extra }, or forgotten \endgroup. \iterate ...\numpagelinesL \z@ \clearl@dleftpage } \checkpageR \l@duselanguag... l.493 \Pages I've deleted a group-closing symbol because it seems to be spurious, as in $x}$'. But perhaps the } is legitimate and you forgot something else, as in\hbox{$x}'. In such cases the way to recover is to insert both the forgotten and the deleted material, e.g., by typing I$}'. Overfull \vbox (17.51225pt too high) detected at line 493 [] [31 ] ! Extra }, or forgotten \endgroup. \Pages ...npageR }{\l@dminpagelines }\fi \repeat } \fi \flush@notes \flush@n... l.493 \Pages I've deleted a group-closing symbol because it seems to be spurious, as in$x}$'. But perhaps the } is legitimate and you forgot something else, as in \hbox{$x}'. In such cases the way to recover is to insert both the forgotten and the deleted material, e.g., by typingI$}'. ! Missing } inserted.

} l.495 \end{pages} I've inserted something that you may have forgotten. (See the above.) With luck, this will get me unwedged. But if you really didn't forget anything, try typing `2' now; then my insertion and my current dilemma will both disappear. ! Missing } inserted. } l.495 \end{pages} I've inserted something that you may have forgotten. (See the above.) With luck, this will get me unwedged. But if you really didn't forget anything, try typing`2' now; then my insertion and my current dilemma will both disappear. ! LaTeX Error: \begin{pages} on input line 204 ended by \end{document}. See the LaTeX manual or LaTeX Companion for explanation. Type H for immediate help. ... l.497 \end{document} Your command was ignored. Type I to replace it with another command, or to continue without it. Package atveryend Info: Empty hook `BeforeClearDocument' on input line 497. Package atveryend Info: Empty hook`AfterLastShipout' on input line 497. (./issue146.aux
maieul commented 10 years ago

tu a bien la dernière, dernière version ? celle que j'ai "pushé" à 23h30 ?

il faudrait aussi que j'ai un mwe

Circeb commented 10 years ago

Je télécharge sur https://github.com/maieul/ledmac/tree/issue145 à Download zip, et les fichiers sont dits dater d'hier 14:40.

Qu'est-ce qu'un mwe ?

maieul commented 10 years ago

c'est bien la bonne version. C'est juste que les serveurs de github sont aux USA, donc il y a décalage.

Pour la définition de mwe http://meta.tex.stackexchange.com/questions/228/ive-just-been-asked-to-write-a-minimal-example-what-is-that

Circeb commented 10 years ago

Le problème est que sur un gros fichier les problèmes apparaissent et que si j'essaye de le réduire ils disparaissent. C'est peut-être lié à une saturation du programme.

maieul commented 10 years ago

je ne pense pas, eledpar peut gérer des très long document.

Du reste si le problème n'apparait pas dans les anciennes version, c'est qu'il a été introduite dans les nouvelles ;-)

j'ai quelque soucis aussi dans un exemple que je m'écrit. Je t'avoue que la situation des ledgroup // est très complexe, et qu'il faudra sans doute pas mal de temps avant d'arriver à quelque chose de stable

Cela étant, ton message m'a tout l'air d'être un problème que je viens de cerner et lié aux notes qui courent sur plusieurs pages.

Peux tu tester cela : dans la dernière version, dans le fichier .sty, comment les lignes suivantes :

  \ifnum\usenamecount{l@dmaxlinesinpar\the\l@dpscL}>0%
    \ifledgroupnotesL@%
      \endgroup%
    \fi%
    \begingroup%
    \IfStrEq{\splitfirstmarks\parledgroup@type}{footnoteX}{\csuse{bhooknoteX@\splitfirstmarks\parledgroup@series}}{}%
    \IfStrEq{\splitfirstmarks\parledgroup@type}{Xfootnote}{\csuse{bhookXnote@\splitfirstmarks\parledgroup@series}}{}%
  \fi%
  \global\ledgroupnotesL@true%

et

  \ifnum\usenamecount{l@dmaxlinesinpar\the\l@dpscR}>0%
    \ifledgroupnotesR@%
      \endgroup%
    \fi%
    \begingroup%
    \IfStrEq{\splitfirstmarks\parledgroup@type}{footnoteX}{\csuse{bhooknoteX@\splitfirstmarks\parledgroup@series}}{}%
    \IfStrEq{\splitfirstmarks\parledgroup@type}{Xfootnote}{\csuse{bhookXnote@\splitfirstmarks\parledgroup@series}}{}%
  \fi%
  \global\ledgroupnotesR@true%

puis retester

Circeb commented 10 years ago

Bingo, ça marche à nouveau !

Les deux apparats A et B sont bien séparés, par contre il n'y a plus de barre horizontale entre eux, et l'espace entre eux est peut-être pour le coup exagéré.

maieul commented 10 years ago

oui, tout ca sera réglé quand on aura réglé ce pb. En un mot : il s'agit de comprendre quand commence et fini une groupe de notes dans les eledgroup // pour :

Le pb c'est que je n'avais pas songé que les notes pouvaient être divisés en 2. Du coup on entame un groupe qu'on ne finit pas.

Bref, tout cela va s'avérer bien complexe.

maieul commented 10 years ago

Bon, j'ai laissé tomber l'ancienne méthode pour gérer des notes de // ledgroup avec un interlignage différent de l'interlignage principale, qui de toute facon ne permettait pas de résoudre un certain nombre de commande.

J'ai mis en place une méthode "plus simple" : il suffit à l'utilisateur de redéfinir une commande \parledgroupnotespacing en la mettant équivalent à une commande de changement de setspace.

Par exemple \let\parledgroupnotespacing\singlespacing. Globalement ca l'air de fonctionner. Tu peux vérifier ?

Il reste également un petit problème d'alignement lié à l'espace mis avant entre la règle, qui n'est pas encore pris en compte. Si tu met \beforeXnotes{0pt}, tu te rend compte que le décalage vient de là.

Cet espace est un peu plus casse pied à prendre en compte. Mais je pense pouvoir le corriger après le gouter. Normalement cela serait le dernier problème (avec la documentation !) pour que tout soit résolu pour pouvoir mettre en // des ledgroup.

maieul commented 10 years ago

voilà, maintenant cela devrait faire l'affaire, avec compensation intégrale de l'espace ajouté par les notes. J'attend retour.

Circeb commented 10 years ago

Ca m'a l'air de fonctionner parfaitement ! Merci infiniment !

maieul commented 10 years ago

non, il y a un pb ave \skipnumbering (essaie voir dans \pstart intermediaire). J'essaie de voir d'où ca vient. Doit pas être très sorcier