2011-03-15 38 views
5

Me gustaría agregar un apéndice de código a mi documento LyX. Hay algunas opciones que ya consideré, pero todas tienen sus problemas.¿Cómo agregar un apéndice de código (grande) en LaTeX/LyX?

Sé un poco acerca de las listas, pero un problema con ellas es que, si copio & pego mi código en ellas, pierdo todas las entradas/nuevas líneas. Como el código es demasiado grande para corregirlo a mano, me preguntaba si existe una alternativa.

En LyX existe la posibilidad de insertar documentos secundarios, pero eso parece ser solo para archivos .tex. Hubiera sido ideal si pudiera simplemente insertar mi archivo .java como un documento secundario.

Podría imprimir el código a PDF, pero incluirá los márgenes que arruinan el documento final, ya que el PDF se coloca en el margen izquierdo del documento final y y luego existe el margen del PDF. Además, este PDF siempre contiene el código completo y las áreas blancas donde no se ha llenado toda la página.

¿Alguien tiene una buena alternativa?

+0

YConsider publicación su pregunta en http://tex.stackexchange.com/. – BernardMarx

+0

@Bernard @Remix considera que se ha migrado esta pregunta ... se desaconseja la interposición cruzada. Si quieres migrar, solo marca para la atención de mod. – Will

Respuesta

6

El paquete de máquinas encontradas aquí

http://www.ctan.org/tex-archive/macros/latex/contrib/listings/

permite el include de archivos de código fuente externa (mirar en la referencia para \lstinputlisting).

EDIT: Aquí encontrará algunas muestras de cómo usarlo:

http://en.wikibooks.org/wiki/LaTeX/Packages/Listings

+0

Creo que el recurso externo debe ser del tipo .sty o .tex. Si pongo un archivo .java, da el error: *** (no se puede leer desde el terminal en modos ininterrumpidos). Sin embargo, no sé lo que realmente significa. – RemiX

+0

@RemiX: eche un vistazo al segundo enlace que publiqué arriba. –

+0

Gracias. También decidí exportar el documento LyX a LaTeX, así que podría usar los comandos reales para tener más control. – RemiX

1

Sí, si copia & pegar el código en el cuadro de lista de LyX, se pierden todos los saltos de línea, pero se puede preprocesar su código (insertar un salto de línea extra debajo de cada línea):

$ cat foo.java | sed -e 's/$/\n/' > bar.java 

A continuación, puede copiar & pegar el nuevo archivo bar.java y todo estar bien

3

Si necesita copiar y pegar código en el cuadro de lista de LyX, utilice Editar -> Pegado especial -> Seleción o Ctrl + Alt + V.

+0

Lo recordaré para la próxima vez, gracias. – RemiX

2

Por lo que vale la pena, al menos las versiones 2.0 de LyX tienen la capacidad de incluir listados como documentos secundarios. Inserte, archivo, documento secundario, y elija de la lista desplegable "Lista de programas". Esto usa el paquete listings y le permite mantener su fuente en su propio archivo.

Si listados no es compatible con su idioma, siempre se puede usar algo como highlight o source-highlight para generar un fragmento de código de látex sintaxis resaltado que se puede añadir al documento secundario de tipo "entrada"

Cuestiones relacionadas