
¿Existe algún paquete que permita el código fuente en LaTeX como texto? Prefiero no utilizar el listings
paquete porque el código ocupa demasiado espacio. Copiar y pegar es tedioso porque los espacios no se conservan.
Respuesta1
Puedo darte un par de consejos sobre paquetes y herramientas con los que comenzar a experimentar. Probé varias herramientas en el pasado:
Me gustan los entornos
verbatim
yverbatim*
en TeX. Es una manera fácil y directa de componer una pequeña porción de código de inmediato. Sin embargo, no puede ajustar líneas.Estuve usando el
fancyvrb
paquete hace algún tiempo,http://ctan.org/pkg/fancyvrb. Ese fue el primer paquete en el que noté que es posible (en absoluto) hacer referencias cruzadas a los números de línea del código fuente; consulte las páginas 14 y 15 de la documentación.Utilizo el
listings
paquete con bastante frecuencia,http://ctan.org/pkg/listings. Es un paquete bastante complejo, pero satisface mis necesidades, especialmente su opción de formatear un archivo externo (el\lstinputlisting
comando). También puede ajustar líneas y agregar un símbolo de apertura y cierre a dichas líneas. Recuerdo que creé mi propio filtro para el lenguaje VBA (Visual Basic para Aplicaciones), fue divertido intentarlo. Hay un nuevo paquete cuando se trata de caracteres codificados en UTF-8; consulte ellistingsutf8
paquete.http://ctan.org/pkg/listingsutf8. Estaba usando secuencias de escapelistings
para resolver ese problema en particular. Estaba escribiendo CJKV (chino, japonés, coreano, vietnamita) en mi código fuente, por ejemplo, さようなら (eso es¡Sayōnara!en japonés es¡Adiós!en Inglés). Una vez estaba presentando la preparación de mis postales PF.Si se trata del
R
código, hoy en día existen excelentes herramientas con las que trabajarknitr
(http://yihui.name/knitr/) y una herramienta bastante antigua llamadaSweave
(http://www.stat.uni-muenchen.de/~leisch/Sweave/).Si está tratando con el
Sage
código, pruebe elSageTeX
estilo,http://ctan.org/pkg/sagetex. Está programado por Robert Mařík de Brno, República Checa, una persona/desarrollador que conocí cara a cara una vez.:-)
También uso el
Highlight
programa (http://www.andre-simon.de/). Existe una opción para mezclar varios idiomas en un código fuente que se resaltará (LaTeX+Lua, HTML+CSS, etc.). Se llama formateo y reconocimiento de los idiomas anidados dentro de un archivo. Solicité esa característica cuando nació LuaTeX, estoy orgulloso de haberlo hecho. Ambos programas (este y Pygments) proporcionan el formato LaTeX como opción de exportación para otros idiomas. Un estilo se puede extraer a un archivo separado del resto del documento.Vale la pena mencionar una herramienta muy poderosa llamada
Pygments
(http://pygmentos.org/). Lo estoy usando directamente desde la línea de comandos (o como una biblioteca desde Python) y además en el mundo TeX hay (al menos) dos paquetes para facilitar la conversión:TeXments
(http://ctan.org/pkg/texments) yMinted
(http://ctan.org/pkg/minted). Hablando de Python, también hay un paquete llamadoPythonTeX
, consultehttp://ctan.org/pkg/pythontex. ¡Darle una oportunidad!Recientemente aprendí sobre la
pandoc
herramienta,http://johnmacfarlane.net/pandoc/. Es más bien un conversor de formato a formato, pero merece la pena probarlo. Además de los ejecutables independientes para todos los principales sistemas operativos, existe una versión en línea,http://johnmacfarlane.net/pandoc/try/. El formato LaTeX es una opción tanto en el lado de entrada como en el de salida del convertidor. ¡Parece que esta herramienta es (del) futuro!
¡Buena suerte con la composición tipográfica de los códigos fuente!
Respuesta2
Este es el modismo que uso para darles a mis alumnos (que aprenden TeX) el código fuente de la tarea, para que puedan estudiarlo y editarlo cuando escriban sus matemáticas.
\documentclass{article}
\usepackage{verbatim}
\begin{document}
Homework exercises here \ldots
\newpage
Here is the \LaTeX{} source for this document. You can cut it from the
pdf and use it to start your answers. I used the \verb!\jobname! macro
for the source file name, so you can call your file by any name you like.
\verbatiminput{\jobname}
\end{document}
Respuesta3
Este sirve verbatimbox
para colocarlo en una caja a un tamaño reducido. Es posible reducir aún más el tamaño de la caja con un \scalebox
. Mientras que un cuadro no atravesará el límite de una página, el paquete también ofrece versiones "nobox" de algunas de sus macros, que atravesarán una página. Sin embargo, la función de cuadro es útil para incluir palabra por palabra en figuras, tablas y moverla directamente sobre la línea o centrarla.
En este MWE, agregué manualmente \fbox
adjuntos alrededor de todos los cuadros textuales, para mayor claridad, pero no son parte del cuadro textual.
\documentclass{article}
\usepackage{verbatimbox}
\usepackage{graphicx}
\parskip 1ex
\parindent 0in
\begin{document}
With verbatimbox, you can tell the macro to make the code ``footnotesize.''\par
\begin{verbbox}[\footnotesize]
Here is my input code text
Line two of my $%& code text
Done now.
\end{verbbox}
\fbox{\theverbbox}\par
If it is from a file, I can do that, too, this time \verb|\scriptsize|:\par
\verbfilebox[\scriptsize]{junk.tex}
\fbox{\theverbbox}\par
Alternately, you could shrink it further with a \verb|\scalebox|:\par
\fbox{\scalebox{.5}{\theverbbox}}\par
If you have need to break across pages, the package offers ``nobox'' versions
of some of its macros.
\end{document}
También está elnumberedblock
paquete que permite formatear pequeños bloques de código de una manera como (nota: imagen tomada de los documentos del paquete):
Respuesta4
El problema con textualmente es que no divide largas líneas de código, así que uso el spverbatim
paquete en su lugar.
\documentclass{article}
\usepackage{spverbatim}
\begin{document}
\begin{spverbatim}
code
code with a very long line that does not fit on the page and so needs to be broken or wrapped
code
\end{spverbatim}
\end{document}