Open sonator opened 4 years ago
Well,
0) What error did you get exactly with your long file ?
1) I tried version 2.7.0 of reledpar, that we can get in the archive, and I have already the "problem".
2) I think it existed from the begining of ledpar. When we use bilingual document (which is the main usage of reledpar), we need to switch between the language, in order to get the correct hyphenation, and so one. And we need to do each time we switch of side in typesetting, that is twice by line in 2 column mode
3) to do it, we just call the \selectlanguage
macro of babel. That is this macro that write in the auxiliaries files your line
So solution
1) maybe you have something wrong in your bigfile. 2) maybe we could disable switching language if we are sure that left and right language are the same 3) maybe we could use an other (not existing, as far I know) babel macro which does not write in the auxiliary file.... but I am not sur it is a good idea, as, some time, we have headers inside left or right side.
So before going far in this problem, I need an answer to my question 0.
@u-fischer pointed the fact that the issue is mainly a babel issue. I will open an issue there.
However,
1) I keep this issue opened, as my point 2 as solution should be, indeed, implemented in reledpar (and maybe 3)
2) For now, as a quick fix, for your case, you can add this just after \begin{document}
\makeatletter
\renewcommand*{\l@duselanguage}[1]{}
\makeatother
Thank you for answering so quickly.
This is a log-file extract from a LaTeX run yesterday on several files with a lot of reledpar paragraphs. The corresponding toc-file has more than 12000 lines:
! TeX capacity exceeded, sorry [save size=50000].
yes of course. That is the problem with column mode : we need to switch language, and so one to write in the aux file, each time we come from left column to right column. In your case, you don't need it because you use same language in two sides, so my hack should help you.
In some other case, I should improve the code for my 3. solutions
if save size overflows like this it looks like a coding error. If found at least one macro which is changed both globally and locally:
{globally changing \bbl@hymapsel=\char"4}
{changing \bbl@hymapsel=\char"FF}
@u-fischer could you open an issue on babel repository ?
An important Message: My greater files are running comme il faut. Thanks for the hack. Thank you to Ulrike Fischer, too!
@sonator be careful with this hack. As explained, it works only if you do not switch languague between your two columns.
I use the Current versions of reledmac/reledpar
TeX Engine
pdfLaTeX
Regression
Using reledpar v2.7.1 in 2016 I did not have the problem.
Description
Running the MWE below babel writes for every \pstart \pend-paragraph two lines as "\babel@toc {german}{}" into the toc-file. The same effect in the lof-file. In a long manuscript of about 200 pages with reledpar-columns thousands of such lines cause a fatal error of Latex. Do you see a mistake in my code? How can I avoid this behaviour? Thank you.
Minimal Working Example
\documentclass{scrbook}
\usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage[german]{babel}
\usepackage[series={A,B},noeledsec,noend]{reledmac} \usepackage{reledpar}
\begin{document}
\tableofcontents
\chapter{Capitulum primum}
\section{Sectio prima}
\begin{pairs}
\begin{Leftside} \beginnumbering \pstart Columna sinistra. Particula prima. \pend \pstart Columna sinistra. Particula secunda. \pend \endnumbering \end{Leftside}
\begin{Rightside} \beginnumbering \pstart Columna dextra. Particula prima. \pend \pstart Columna dextra. Particula secunda. \pend \endnumbering \end{Rightside}
\end{pairs} \Columns
Textus Textus Textus Textus Textus Textus Textus Textus Textus Textus
\section{Sectio secunda} Textus Textus Textus Textus Textus Textus Textus Textus Textus Textus
\end{document}
Workaround