maieul / ledmac

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

Notes à l'intérieur de \eledsubsection* imprimées sur page précédente #921

Open martextins opened 3 years ago

martextins commented 3 years ago

Je remarque qu'il y a un problème avec \eledsubsection avec des notes critiques. Quand il y des notes critiques à l'intérieur de \eledsubsection il arrive que la note critique est imprimè dans l'apparat de la page précédente; j'ai d'autres exemples (que celui de le MWE) où c'est juste l'indication de manuscrits, controllée para \msdata{} que passe sur la page précédente -- en tout cas, et exactemente comme il arrive dans le MWE, cela se produit quand le texte marqué avec \eledsubsection vient en tête de la page. J'ai augmenté la valeur de \renewcommand{\footfudgefiddle}{75} mais sans succès. La seule solution partiellemente capable de contourner le problème c'était d'introduir un \vspace avant les \eledsubsection, mais malhereusement cela menait à une accumulation de espaces qui étaient imprimés sur l'apparat de la dernière page (avant \newpage).

Version de Xelatex et reledmac This is XeTeX, Version 3.141592653-2.6-0.999993 (TeX Live 2021) (preloaded format=xelatex 2021.6.12) 14 JUN 2021 16:27 Package: reledmac 2021/05/30 v2.38.0 typesetting critical editions

`\documentclass{book} \usepackage[series={A,B}]{reledmac} \Xarrangement[A]{paragraph} \Xarrangement[B]{paragraph} \arrangementX[A]{paragraph} \arrangementX[B]{paragraph} \lineation{page} \fnpos{familiar-critical} \usepackage{fontspec} \setmainfont{Source Sans Pro} \newfontfamily\otherfont{Gentium}

\begin{document}

\beginnumbering

\pstart Similiter si in globo ad debitam poli eleuationem constituto nocturnam quamlibet horam scire uelis, solis \edtext{gradum}{\Afootnote{\textit{sequitur} ab o \textit{canc. C}}} ad orientalem horizontem colloca et gradum illum aequinoctialis qui tunc horizontem orientalem contigerit parua notabis cera. Deinde stellam aliquam celebriorem ex iis quae sunt in aranea uel rete, \edtext{et}{\Afootnote{et \textit{A} \textit{om. B} \textit{canc. C}}} quam in caelo noueris, in globo collocabis ad eam altitudinem quam tunc in caelo habere comperisti astrolabii adminiculo, \edtext{qua ita}{\Afootnote{qua ita \textit{AC} quieta \textit{sic B}}} persistente, illum rursus lineae aequinoctialis gradum qui horizontem contigerit cera notabis, \edtext{interceptosque}{\Afootnote{interceptosque \textit{AC} interceptusque \textit{B}}} deinde gradus inter utranque cerae notam a prima incipiendo uersus secundam per \edtext{superioremque}{\Afootnote{superioremque \textit{A} superiorumque \textit{p. c.} superioresque \textit{p. c. C} superiorumque \textit{B} }} \edtext{aequinoctialis}{\Afootnote{\textit{sequitur uerbum canc. B}}} arcum enumerabis ac tandem si pro singulis horis gradus quindecim assumas horas ab \edtext{occasu}{\Afootnote{occasu \textit{p. c.} occasus \textit{a. c. C}}} solis habebis. \pend \pstart \eledsubsection*{Qua lege inueniri possint horae inaequales diurnae et nocturnae. Caput undecimum} \pend

\pstart

Sciendum tibi imprimis erit \edtext{quaenam}{\Afootnote{quaenam \textit{AC} quae num \textit{B}}} aequalis hora siue horologialis eo tempore labatur quo inaequalem horam inuestigas illique admouebis lineam fiduciae indicis. Deinde \edtext{eidem}{\Afootnote{iidem \textit{codd.}}} lineae fiduciae ad amussim subicias gradum quem sol eo die obtinet in zodiaco. Quo peracto aduertas quam lineam \edtext{horarum}{\Afootnote{\textit{sequitur} uel \textit{canc. C}}} inaequalium tangat solis \edtext{nadir}{\Afootnote{nadir \textit{p.c.} nadit \textit{a.c. A} nadict \textit{B}}}, hoc est, gradus oppositus per diametrum in zodiaco illi quem sol ocupat. Illa enim tibi palam faciet quae tunc sit hora inaequalis --- quam dices esse primam antemeridianam si \edtext{hora}{\Afootnote{hora \textit{p. c.} horam \textit{a. c. A}}} aequalis quam inuenisti prima fuerit antemeridiana; si uero aequalis hora inuenta \edtext{fuerit}{\Afootnote{fuerit \textit{add. in marg. A}}} secunda antemeridiana, inaequalem inuentam secundam antemeridianam dices eundemque seruabis ordinem in \edtext{apellitandis}{\Afootnote{appellitandis \textit{AC} apolitandis \textit{B}}} pomeridianis inaequalibus. \pend

\pstart Ad horas uero \edtext{inaequales}{\Afootnote{inae- \textit{p.c.} int- \textit{a.c. B}}} nocturno tempore \edtext{indagandas}{\Afootnote{indagandas \textit{AC} indagandos \textit{B}}} eodem pene \edtext{modo}{\Afootnote{modo \textit{AC} nu \textit{lectio diff. B}}} te geres quo ad \edtext{diurnas}{\Afootnote{diurnas \textit{AC} diurnos \textit{sic B}}} inaequales \edtext{inuestigandas}{\Afootnote{inuestigandas \textit{AC} inuestigandos (\textit{add.} te) \textit{B}}} gerendum diximus. Inuentae enim imprimis horae nocturnae aequali eo tempore admouebis lineam fiduciae cui rursus solis gradum ad amussim subiicies deinde solis \edtext{nadir}{\Afootnote{nadir \textit{p. c.} nadith \textit{a. c. A} nadit \textit{BC}}} lineis horariis admotus tibi horam inaequalem \edtext{eo labente}{\Afootnote{eo labente \textit{BC} colabentem \textit{A}}} tempore demonstrabit --- quam primam uel secundam inaequalem ante mediam noctem dices si aequalis inuenta talis \edtext{fuerit}{\Afootnote{fuerit \textit{BC} fuit \textit{A}}}; si uero sol lineam mediae noctis centro tetigerit, sextam inaequalem nocturnam dixeris; si uero aequalis inuenta \edtext{prima}{\Afootnote{prima \textit{p. c.} talis \textit{a. c. A}}} \edtext{fuerit}{\Afootnote{si uero sol lineam mediae noctis \textit{add. cum signis in principio et fine sententiae notae in marg. quae tamen non leg. A}}} post mediam noctem, inaequalem septimam esse dices; si uero aequalis secunda fuerit, inaequalem \edtext{octauam}{\Afootnote{\textit{sequitur} p \textit{canc. C}}} appeles; si tertia, nonam; si quarta, decimam; si quinta, undecimam; si sexta, \edtext{duodecimam}{\Afootnote{duodecimam \textit{p. c.} undecimam \textit{a. c. A}}} dices inaequalem. \pend

\pstart

\eledsubsection*{Quo modo etiam possis in \edtext{dorso}{\Afootnote{dorso \textit{AC} dorsu \textit{B}}} astrolabii horas aequales inaequalesue agnoscere. Caput duodecimum} \pend

\pstart Solis imprimis \edtext{altitudinem}{\Afootnote{\textit{sequitur} uenaberis \textit{canc. C}}} meridianam uenaberis astrolabii adminiculo. Deinde \edtext{altitudini}{\Afootnote{altitudini \textit{A} altitudinis \textit{BC}}} solis a principio Ariėtis \pend

\endnumbering

\end{document}`

lenoch commented 9 months ago

Dear @maieul,

I happened to create a (not so) MWE (sorry for trying to fill the page by stupidly repeating some dummy text) of my own demonstrating this same problem independently of @martextins but I am glad he had already opened a bug report for it.

This should be reproducible with the current version of reledmac (2.40), which I am using (as a custom build with the new onlyonerule option you wrote for me) under tectonic 0.12, based on XeTeX — but this hopefully shouldn’t affect much 🙂

I found that \clearpage (which I borrowed from \beforeeledchapter) works around the bug (if I put it right before the \eledsection’s \pstart) but I’d love not to have to use it. Also, moving “The bad section title” out of \eledsection obviously helps to put the footnote on the correct page but I need the header(s) — and trying to set font sizes manually (to obtain something looking like headers) led to text layout exploding, of course.

I am not sure you’d have some time to look into this but you would save the day again for me.

(You’ll notice I am not wrapping anything in \edtext — in non-MWE files I am using a combination of \edlabel{labelname} and \linenum{|\xlineref{labelname}} because I often encounter overlapping lemmas so I prefer not to wrap anything in \edtext as I actually generate LaTeX from TEI.)

\documentclass[12pt]{article}

\usepackage[onlyonerule]{reledmac}

\Xnotenumfont{\bfseries}
\lineation{section}

\begin{document}

\begingroup
\beginnumbering

\pstart
This is a MWE trying to show an issue with footnotes in the eledsection macro
being rendered in a previous page’s apparatus if the eledsection happens to be
the first line of the second page.
\pend

\pstart
\eledsection*{
    Let’s start with a section header
    \edtext{}{\lemma{Let’s … header}\Cfootnote{first footnote}}
}
\pend

\pstart
These paragraphs should fill in the rest of the first page. Let’s just make a
lot of them.
\pend

%
% sorry for repeating this over and over
%

\pstart
\eledsection*{
    And maybe add some headers in between1.
    \edtext{}{\lemma{And … between1}\Cfootnote{footnote 1}}
}
\pend

\pstart
These paragraphs should fill in the rest of the first page. Let’s just make a
lot of them.
\pend

\pstart
\eledsection*{
    And maybe add some headers in between2.
    \edtext{}{\lemma{And … between2}\Cfootnote{footnote 2}}
}
\pend

\pstart
These paragraphs should fill in the rest of the first page. Let’s just make a
lot of them.
\pend

\pstart
\eledsection*{
    And maybe add some headers in between3.
    \edtext{}{\lemma{And … between3}\Cfootnote{footnote 3}}
}
\pend

\pstart
These paragraphs should fill in the rest of the first page. Let’s just make a
lot of them.
\pend

\pstart
\eledsection*{
    And maybe add some headers in between4.
    \edtext{}{\lemma{And … between4}\Cfootnote{footnote 4}}
}
\pend

\pstart
These paragraphs should fill in the rest of the first page. Let’s just make a
lot of them.
These paragraphs should fill in the rest of the first page. Let’s just make a
lot of them.
\pend

%
% the filler content ends here
%

% workaround (from \beforeeledchapter), simply uncomment:
% \clearpage

\pstart
\eledsection*{
    The bad section title
    \edtext{}{\lemma{The bad … title}\Cfootnote{misplaced footnote}}
}
\pend

\pstart
The section title’s footnote went right to the previous page’s apparatus.
\pend

\endnumbering
\endgroup

\end{document}
maieul commented 9 months ago

dear @lenoch

I have juste looked on this problem. I found a solution, but it break sidenote insertion in eledsection. The main problem is that reledmac do not make internally difference between each type of notes. So I have no solution without rewriting all the core of reledmac, and I have no time for that.

lenoch commented 9 months ago

Dear @maieul,

thank you for your swift response! I think I can live with the \clearpage workaround.

Best of luck with your other endeavors!

lenoch commented 9 months ago

But anyway, since I don’t use sidenotes and I use an out-of-band version of reledmac anyway – if your solution is simple and is in a form you would find comfortable sharing with us, would you, please? If it isn’t in any way ready or publishable, don’t worry 🙂

maieul commented 9 months ago

I don't think it is a good idea to have some workaround which override internal reledmac macro. When I start to be a maintener of ledmac, I lost many time to help people with there own customization, which were "officialy" documented...

lenoch commented 9 months ago

Fair enough! 🙂 And thank you for your maintainership.