Usar notas finales Y numeración de otro documento

Usar notas finales Y numeración de otro documento

¿Puedes utilizar las notas finales generadas por otro documento para alimentar el documento actual?

ingrese la descripción de la imagen aquí

Mi flujo de trabajo planificado es colocar notas finales en un sepfootnotesarchivo, marcar la ubicación de cada nota en DocA.texy luego imprimir el contenido de cada nota en DocB.tex. El MWE es DocB.tex. Estoy usando flowframpara incrustar DocA como PDF en un marco estático. Eso permite que tres columnas de cuadros de flujo impriman notas muy extensas de DocA.

\documentclass[10pt]{book}
\usepackage[T1]{fontenc}
\usepackage{newtxtext}
\usepackage{geometry}
\usepackage{graphicx}
\usepackage{lipsum}
\usepackage{flowfram}
\usepackage{ragged2e}

\geometry{margin=0pt}
\setlength{\RaggedRightParindent}{\parindent}

\makebackgroundframe

\newstaticframe*{5.497in}{7.329in}
{3.003in}{3.671in}[pagegraphic]

\newflowframe{2.493in}{9.976in}
{0.30in}{0.6in}[leftcol]

\newflowframe{2.493in}{2.780375in}
{3.003in}{0.6in}[middlecol]

\newflowframe{2.493in}{2.780375in}
{5.706in}{0.6in}[rightcol]

\newcommand{\pagebox}[1]{%
{\setlength{\fboxsep}{1pt}\setlength{\fboxrule}{1pt}%
\fcolorbox{black}{white}{#1}}}

\setstaticframe{1}{backcolor={[rgb]{0.976,0.937,0.78}}}
\setstaticframe{2}{border=pagebox, offset=-2pt, backcolor={[rgb]{1, 1, 1}}}

\begin{document}

\RaggedRight

\begin{staticcontents*}{pagegraphic}
\includegraphics[page=3, scale=0.9448]{TestiPadSize.pdf}
\end{staticcontents*}

\lipsum

\end{document}

Me doy cuenta de que podría hacerlo manualmente, simplemente escribiendo una referencia a cada nota que aparece en DocA, pero a medida que el documento cambia, preferiría usar los contadores de DocA para hacerlo, así la numeración y ubicación serían precisas. .

Lo primero que pensé sería reescribir el \newfootnotescomando sepfootnotespara usar el archivo DocA .ent. Pero no conozco suficiente LaTeX para lograrlo. ¿Es ese el mejor enfoque? ¿Existe algún paquete que ya se ocupe de esto?

leí hasta el finalesta publicaciónEl cual involucra reledmac. Sin embargo, parecía una gran cantidad de gastos generales y funciones que no necesito.

Respuesta1

No es sencillo, pero tampoco demasiado difícil. La idea básica es exactamente la que sugirió: escriba las "notas" del primer documento en un archivo externo y luego léalas en el segundo documento.

Entonces, aborde primero el primer punto:

En el primer documento, lo que usted llama DocA:

\documentclass{article}
\makeatletter
% First we need a new "write".
\newwrite\notesdoc
\immediate\openout\notesdoc=\jobname.notes
\newcounter{enotecounter}
\newcommand{\externalnote}[1]{%
  \refstepcounter{enotecounter}%
  \textsuperscript{\arabic{enotecounter}}
  \protected@write\notesdoc{}{\string\extnote{\arabic{enotecounter}}{#1}{\thepage}}}
\makeatother
\begin{document}

Here is some text.\externalnote{Here is a note. It is a long note,
and I am hoping that it will end up going over several lines.} And
here is another\externalnote{Another}

\clearpage

Here is some text on the next page\externalnote{And this is the text.}

\end{document}

Lo que esto hace es "escribir" las notas simplemente haciendo la marca apropiada y luego colocando el texto en un archivo externo "\jobname.notes". Por razones que resultarán evidentes, lo hacemos escribiendo un comando en ese archivo.

Luego el segundo archivo, que tiene que leer en ese archivo escrito previamente. Un problema: vamos a necesitar alguna facilidad para hacer coincidir la nota con la página. Para ello asumimos que empezamos en la página 1 (y colocamos expresamente la imagen estática en esa página): después miramos si el número de página de la nota ha "cambiado": si es así, también limpiamos la página e inserte la siguiente página de imagen estática.

Nota: esto fallará si hay páginas en DocA que no tienen notas: simplemente se omitirán. Pero no estamos intentando escribir un paquete, ¡sólo una solución a un problema particular!

\documentclass[10pt]{book}
\usepackage[T1]{fontenc}
\usepackage{newtxtext}
\usepackage{geometry}
\usepackage{graphicx}
\usepackage{lipsum}
\usepackage{flowfram}
\usepackage{ragged2e}

\newcommand{\thispage}{1}

\makeatletter
\newcommand{\extnote}[3]{%
  \edef\@tempa{#3}
  \if\@tempa\thispage
  \else
  \clearpage
  \begin{staticcontents*}{pagegraphic}
    \includegraphics[page=#3, scale=0.6]{200219a.pdf}
  \end{staticcontents*}
  \fi
  \par\textbf{#1}.\quad#2}
\makeatother

\geometry{margin=0pt}
\setlength{\RaggedRightParindent}{\parindent}

\makebackgroundframe

\newstaticframe*{5.497in}{7.329in}
{3.003in}{3.671in}[pagegraphic]

\newflowframe{2.493in}{9.976in}
{0.30in}{0.6in}[leftcol]

\newflowframe{2.493in}{2.780375in}
{3.003in}{0.6in}[middlecol]

\newflowframe{2.493in}{2.780375in}
{5.706in}{0.6in}[rightcol]

\newcommand{\pagebox}[1]{%
{\setlength{\fboxsep}{1pt}\setlength{\fboxrule}{1pt}%
\fcolorbox{black}{white}{#1}}}

\setstaticframe{1}{backcolor={[rgb]{0.976,0.937,0.78}}}
\setstaticframe{2}{border=pagebox, offset=-2pt, backcolor={[rgb]{1, 1, 1}}}

\begin{document}

\RaggedRight

\begin{staticcontents*}{pagegraphic}
\includegraphics[page=1, scale=0.6]{200219a.pdf}
\end{staticcontents*}

\input{200219a.notes}

\end{document}

Habiendo colocado la (primera) página de contenido estático, simplemente ingresamos el archivo de notas, que a su vez imprime las notas y cambia la página y el marco "estático" cuando sea necesario.

Luego ejecutamos DocA y luego DocB.

Resultado:

Página 1 Página 2

Como se señaló: esto no es súper robusto (ni de ninguna manera está completamente probado). Fallará tolerablemente si las notas ocupan más de una página. Y fallará estrepitosamente si hay una página que no tiene notas. Si quisieras agregar textoasí comonotas, probablemente podrías hacerlo, pero necesitarías escribir un comando adicional para que DocA lo haga. Básicamente, una vez que todo está configurado, todo lo que realmente desea ESCRIBIR va a DocA: DocB es solo una especie de contenedor, aunque perfectamente podría tener texto antes o después.

EDITADO PARA AGREGARPor cierto, diría que eso reledmaces exactamente lo correcto para esto, y no exagerado. Pero YMMV.

información relacionada