Estoy escribiendo una especie de cuaderno usando \LaTeX
. Tengo muchas notas. (EDITAR: Mucho. Casi uno por día durante los últimos dos años. Van desde notas muy cortas, de una sola línea, hasta notas muy largas que incluyen ecuaciones, figuras, referencias, enlaces web, etc.) Para no volver a compilar todas las notas cada vez que agrego una nueva nota (EDITAR: solía tener un solo archivo tex, pero se estaba volviendo demasiado grande y se compilaba demasiado lento), ahora las coloco en carpetas separadas (EDITAR:p.ej, AAAA/MM/DD/note.tex), compila solo los nuevos y luego fusiona los archivos PDF usandogs
. (EDITAR: estoy ejecutando "gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=Notebook.pdf -dBATCH "+full_filenames
donde construyo full_filenames
usando python
) os.walk
.
Todo va bastante bien, pero la fusión es bastante lenta. ¿Hay alguna manera de fusionar rápidamente muchos archivos PDF? (EDITAR: lo intenté pdftk
antes, definitivamente es más rápido, ¡pero el pdf combinado es enorme!)
EDITAR: Otra razón por la que divido el cuaderno grande en muchas carpetas es que ahora tengo un dispositivo de escritura a mano pequeño, por lo que ahora también tomo notas manualmente y me gustaría fusionar todos los archivos PDF, desde LaTeX y el software de escritura a mano, en un solo pdf.
EDITAR: Perdón por ser sentimental, pero gracias por la ayuda chicos, ¡realmente lo aprecio!
Respuesta1
La herramienta canónica para esta tarea es pdftk
, que está disponible en la mayoría de las distribuciones de Linux listas para usar, en MacOS a través de MacPorts/fink/homebrew, en Windows a través de cygwin o como un binario desdehttps://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/.
Para concatenar todos los archivos PDF de una carpeta folder
simplemente escriba:
pdftk folder/*.pdf cat output binder.pdf
pdftk
es una utilidad bastante poderosa que también admite la fusión arbitraria (por páginas), el cifrado y el manejo de metadatos.
Respuesta2
ComoHarish sugirió, elpdfpages
El paquete parece una buena manera de hacerlo, cuando no quieras usar Ghostscript.
El siguiente ejemplo debería servirle de base para un documento principal. No sé si es más rápido que la solución que tienes ahora, pero es la que yo usaría.
\documentclass{article}
\usepackage{pdfpages}
\title{Some kind of a notebook}
\author{Martin}
\date{\today}
\begin{document}
\maketitle
Here is the introduction to \emph{some kind of notebook}.
\includepdf{somefolder/file1.pdf}
Here's maybe some text in between.
\includepdf[pages={2-3}]{anotherfolder/onlyincludepartially.pdf}
And here might be some end-notes.
\end{document}