Hola, Manuel:
Uses lo que uses, siempre te va a tocar sincronizarlo a mano, incluso en
el método que expliqué en el otro correo (que usa pdfpages sóloo en el
original y flowfram en la traducción. Yo suelo usar \clearpage. Si estás
en la parte de la edición crítica, mete siempre el comando entre un
\pend y un \pstart, nunca en medio de un párrafo de reledmac. Y si por
cualquier razón no te queda otra que cortar un párrafo entre páginas (es
mejor procurar evitarlo), mete un \linebreak y crea dos párrafos y
vuelve a cortar entre el \pend y el \pstart. Si no, te va a dar error.
Si los dos textos tienen *exactamente* el mismo número de líneas, es
mejor usar reledpar. Pero con una edición crítica a la izquierda, donde
el aparato crítico se suele comer espacio, y encima en prosa, y con la
traducción a la derecha con sus notas y todo eso, no hay más cáscaras
que equilibrar los textos visual y manualmente. Es decir, tienes que
confrontar ambos PDF e ir cortando aquí y allá. Una lata, pero no hay
más remedio. Por eso recomiendo dejar ese proceso para cuando ya esté
todo hipercorregido e inmóvil. Que luego no veas la gracia que hace
arreglar un desajuste de páginas cuando lo tenías todo colocado. Por eso
odio depender de las acciones manuales y procuro evitarlas lo más
posible. Pero, claro, aquí no se puede, pues es un tema más de contenido
que de forma, y TeX no sabe el pobre lo que dice el texto de la
traducción y el texto original, ni puede aconsejar dónde meter un corte.
Saludos,
Juan Manuel
MANUEL GONZALEZ SUAREZ <[log in para visualizar]> writes:
> Hola, Juan Manuel:
> Gracias de nuevo por compartir tus sabios (y prácticos) conocimientos. Quisiera plantearte una pequeña duda: aun en el caso de que usemos pdfpages, si queremos hacer una edición crítica bilingüe y utilizamos, por decirlo así, el método "tradicional" de componer los dos archivos por separado, y si queremos "sincronizar" la traducción con el texto original, ¿tenemos que incluir \clearpage o \newpage? ¿O cuál es el procedimiento para sincronizar los dos textos a mano?
> Gracias otra vez.
> Manuel González.
>
> -----Mensaje original-----
> De: Usuarios hispanohablantes de TeX [mailto:[log in para visualizar]] En nombre de Juan Manuel Macías
> Enviado el: domingo, 5 de septiembre de 2021 14:41
> Para: [log in para visualizar]
> Asunto: Re: [TEX] Sobre ediciones bilingües con LaTeX (¿novedades?)
>
> Hola de nuevo:
>
> Pues parece que he encontrado una solución (al menos para un escenario
> concreto) que me empieza a satisfacer: usando el paquete flowfram y todo dentro de Org Mode, sin necesidad de recurrir a Scribus.
>
> Como había comentado, el escenario es el siguiente: el texto de las páginas de la derecha, el de la traducción, debe formar parte del documento principal. Pero el de las páginas de la izquierda, que es una edición crítica en griego, consiste en un PDF compilado a partir de otro documento. Cada página de ese PDF debe enfrentarse con cada página del texto de la traducción. Y aquí es donde viene flowfram.
>
> Para entender un poco lo que viene a hacer flowfram, el texto del documento fluye a través de "flowframes" previamente definidos, cada uno con su forma y tamaño y asociados a rangos de páginas. Como en los programas de maquetación. Esto nos permite componer la traducción sólo en las páginas impares, dejando vacías las pares. Es decir, partiendo de un mínimo ejemplo, podemos definir estos dos flowframes:
>
> Uno para la parte introductoria, donde el texto irá por páginas pares e impares. En nuestro caso, este flowframe irá de la pág. 1 a la 3:
>
> \newflowframe[1-3]{\textwidth}{\textheight}{0pt}{0pt}[antes]
>
> El flowframe de la traducción estará en las páginas impares:
>
> \newflowframe[odd]{\textwidth}{\textheight}{0pt}{0pt}[traduccion]
>
> de éste excluiremos las páginas anteriores de la parte introductoria
>
> \setflowframe*{traduccion}{excludepages={1,2,3}}
>
> Vale, ya tenemos arreglada la parte de la traducción. Además, como formará parte del documento principal, podemos añadir índices, referencias cruzadas en las notas y demás. ¿Cómo solucionamos lo de colocar cada página del PDF en griego enfrentada a su correspondiente pág. de la traducción? Pues aquí es donde viene otro tipo de caja que tiene flowfram, las cajas dinámicas. Se puede definir una caja dinámica por cada página par en blanco y añadirle un contenido, que será una página del pdf insertada con pdf pages (la estructura se pude ver en este esquema que he hecho: https://ibb.co/b1j3mGv).
>
> Claro, el problema es que cada caja dinámica hay que definirla expresamente en el preámbulo, darle un nombre y luego su contenido asociado. Si el PDF que queremos insertar tiene 300 páginas no es un trago agradable, pues hay que definir 300 cajas dinámicas, junto a su
> contenido: total=600 líneas. Pero aquí es donde viene Org Mode y Elisp.
> Si trabajamos desde Org Mode, podemos escribir una función que se ejecute durante la exportación y que escriba todo eso en el preámbulo por nosotros. Esta función que he escrito admite dos argumentos: la página donde queramos que se inicie el texto en griego y el número de páginas que queremos insertar del PDF. Tan sencillo como eso. La función viene a ser esta:
>
> (defun mi-flowfram-paginas-pares (desde pags-pdf)
> (let* ((contador 0)
> (contador-desde (- desde 2)))
> (with-temp-buffer
> (dotimes (num pags-pdf)
> (let ((numero (number-to-string (setf contador (+ contador 1))))
> (numero-desde (number-to-string (setf contador-desde (+ contador-desde 2)))))
> (insert (concat
> "#+LaTeX_Header: \\newdynamicframe["
> numero-desde
> "]{\\textwidth}{\\textheight}{0pt}{0pt}[orig"
> numero
> "]\n#+LaTeX_Header: \\setdynamiccontents*{orig"
> numero
> "}{\\includepdf[pages={"
> numero
> "},noautoscale=true,pagecommand={\\thispagestyle{plain}}]{doc1.pdf}}\n\n"))))
> (setq mi-flowfram-res (buffer-string)))
> mi-flowfram-res))
>
> Luego, en cualquier lugar de mi documento de Org incluyo este cuadro de código, que llama a la función durante el proceso de la exportación. En este caso quiero que el texto del pdf comience en la página 4 de mi documento y que se carguen cuatro páginas del pdf:
>
> #+begin_src emacs-lisp :results raw :exports results :var trad-desde=4 pags-pdf=4
> (mi-flowfram-paginas-pares trad-desde pags-pdf) #+end_src
>
> Y ya con eso bastaría. Y un plus: como el PDF que viene del otro documento hay que tenerlo al día y compilarlo antes, añado también este código con un proceso centinela: primero compila el otro documento, y hasta que no esté el PDF generado no exporta el documento principal. Así todo se hace desde el documento principal, sin necesidad de compilar varias veces:
>
> #+begin_src emacs-lisp :eval never-export :exports none :results silent
> (let* ((archivo "doc1.tex")
> (comando-latexmk
> (start-process "latexmk" nil "/usr/bin/latexmk" "-lualatex" "-e" "'$lualatex=q/lualatex %O -shell-escape %S/'" archivo)))
> (set-process-sentinel
> comando-latexmk
> (lambda (p e)
> (when (= 0 (process-exit-status p))
> (org-open-file
> (org-latex-export-to-pdf))))))
> #+end_src
>
> He hecho este vídeo de muestra para ver el proceso en acción:
> https://vimeo.com/598237960
>
> Saludos,
>
> Juan Manuel
>
> ----------------------------------------------------
> Normas para el correcto uso del correo electrónico:
> http://www.rediris.es/mail/estilo.html
> ----------------------------------------------------
>
> ----------------------------------------------------
> Para darse de baja ES-TEX pincha y envia el siguiente url
> mailto:[log in para visualizar]
> ----------------------------------------------------
>
>
----------------------------------------------------
Para darse de baja ES-TEX pincha y envia el siguiente url
mailto:[log in para visualizar]
----------------------------------------------------
|