2010-01-22 16 views
20

Estoy escribiendo un documento que tiene un conjunto de "listas de tareas" repartidas por todas partes. Quiero tener una lista única de todas las tareas al final. Me parece que debería poder hacer esto con el mismo tipo de archivos intermedios que se usan para la tabla de contenido, la lista de tablas y la lista de figuras. Pero simplemente no puedo encontrar la manera de hacerlo --- He intentado agregar \addtocontents con una extensión diferente, pero eso no parece funcionar. ¿Alguien tiene una idea de cómo hacer esto?escribir y leer desde un archivo temporal LaTeX?

+1

sugeriría a mover esta pregunta a tex.stackexchange – strpeter

+4

tex.stackexchange aún no ha de existir cuando hice la pregunta. – vy32

Respuesta

24

Usted puede hacer:

\newwrite\tempfile 

en su exposición de motivos para declarar un nuevo escritor de archivos.

Entonces, para abrir un archivo cuando se quiere, se puede asignar el escritor en un archivo y abrirlo:

\immediate\openout\tempfile=lists.txt 

escribir en el archivo:

\immediate\write\tempfile{this is interesting} 

Por último, cerca el archivo con:

\immediate\closeout\tempfile 

para leer un archivo, podría ser tan simple como \input, o se puede utilizar \newread, \openin, \read y \closein combinación.

¿Es esto lo que quieres hacer?

Edición: Este "funciona para mí":

\documentclass{minimal} 
\newwrite\tempfile 
\begin{document} 
\immediate\openout\tempfile=lists.tex 
\immediate\write\tempfile{this is interesting} 
\immediate\write\tempfile{} 
\immediate\write\tempfile{this too} 
\immediate\closeout\tempfile 
\input{lists} 
\end{document} 
+0

Esto es lo que quiero hacer. El problema que tengo es que cuando '' ingreso' el archivo temporal está en blanco.Necesito moverlo a otro archivo para que la entrada funcione. ¿Alguna idea de cómo abrir el archivo en el mismo contexto, la forma en que se realizan los archivos lot e lof? – vy32

+0

@ vy32: vea mi edición. –

+0

Eso es genial. Mi código no tiene el \ lockout. Gracias de nuevo. Intenté encontrar una buena documentación para estos internos de TeX y simplemente no puedo encontrarlos. ¡Realmente aprecio la ayuda! – vy32

4

no he tenido mucha suerte con el mecanismo \addtocontents. Tengo mucha mejor suerte escribiendo código LaTeX arbitrario en el archivo .aux. Los ejemplos son realmente demasiado grandes para publicar en una respuesta SO, pero puede encontrar uno en el noweb en la forma en que se manejan las "etiquetas de subpágina", y puede encontrar algo similar en mi informe técnico Teach Technical Writing in Two Hours Per Week, que acumula algunas listas de principios y prácticas. La fuente noweb es pública (y en Debian), y si alguien quiere la otra, envíame un correo electrónico.

Para cosas como esta, le recomiendo encarecidamente profundizar bajo la capa LaTeX y estudiar The TeXbook por Donald Knuth. Ese es el lugar donde realmente se explican los mecanismos disponibles.

Si su lista de tareas va realmente a llegar al final, puede evitar todas las tonterías y simplemente asignar un registro de tokens global que haya acumulado a través del documento. Encontrará algunas ideas útiles y ejemplos en el Apéndice D de The TeXbook (Trucos sucios).

5

le gustaría que el paquete todonotes para LaTeX:

\usepackage{todonotes} 

\begin{document} 

\todo{This will be a note typeset in the margin} 
\todo[inline]{This will be an in-line todo} 
\missingfigure{This will give me a box indicating a pic should go here} 

\listoftodos % will give you all of your todos from the document. 

http://www.tex.ac.uk/tex-archive/help/Catalogue/entries/todonotes.html

+0

No creo que esto sea realmente lo que el OP tenía en mente, pero lo veré. He estado usando un pequeño paquete "fixme" pirateado a mano para este propósito, pero es un poco frágil. – dmckee

+0

Sí, lo pensé, pero si obtiene el archivo .sty, podría quitar fácilmente todos los comandos tikz (que proporcionan los fondos borrosos y el fondo de color) y aún dejar la funcionalidad para obtener la lista que quería. Ahora me doy cuenta de que no estaba tan claro al respecto. Era temprano en la mañana cuando respondí: D ... Estoy tratando de desarrollar etiquetas de advertencia y precaución compatibles con ISO basadas en el comando \ missingfigure que proporciona este paquete. Sospecho que podría hacer algo similar con el comando \ todo. No está completo, pero con un mínimo esfuerzo, estoy seguro de que podría funcionar. – Mica

+0

OMG es un paquete increíble, estoy muy contenta de que me lo hayas contado, pero no es lo que necesito aquí. – vy32

Cuestiones relacionadas