Este proceso constará en general de los pasos que se describen a continuación: traer el nuevo paquete, extraer los ficheros de estilo si es necesario, colocarlos en el sitio apropiado y rehacer la base de datos.
Normalmente los paquetes nuevos se encontrarán en el CTAN, aunque en ocasiones estarán en otros lugares. En general, se debe descargar el directorio completo del paquete o el archivo comprimido que lo contiene. Esto no es necesario cuando se quiere descargar un archivo de estilo de uno de los directorios misc, que tienen contribuciones al CTAN en forma de archivos de estilo individuales completos en sí mismos. En este caso bastaría con descargar el archivo individual correspondiente.
Un paquete pequeño puede estar compuesto únicamente de un archivo de estilo
.sty
(por ejemplo paquete.sty
) con las
instrucciones de uso incluidas como comentarios en el
mismo, en un archivo separado o bien en un archivo README.
Sin embargo, es más frecuente encontrar el paquete en forma de un par de
archivos paquete.ins
y paquete.dtx
, escritos para
ser utilizados con el sistema doc de LaTeX. Los
archivos de estilo deben extraerse de éstos. Si hay un
README adicional debe leerse éste previamente.
.dtx
y .ins
En el sistema doc el manual de usuario y el código del paquete documentado
se encuentran en el archivo .dtx
, mientras que el
archivo .ins
contiene instrucciones LaTeX acerca de
la extracción del código del archvo .dtx
. Para extraer
los distintos archivos debe seguirse el siguiente
procedimiento:
paquete.ins
. Esto extraerá uno o más archivos
(normalmente un paquete.sty
, pero dependiendo del
paquete pueden generarse más archivos).paquete.dtx
para obtener el manual de usuario y
posiblemente una versión comentada del código del
paquete. paquete.dtx
. Ésto resolverá las
referencias y generará una tabla de materias si el
archivo original lo pide así.
makeindex -s ind.ist paquete
y correr de nuevo LaTeX.paquete.dvi
..dtx
. En este caso es recomendable procesarlo después
de hacer lo anterior, ya que puede necesitar elementos del
paquete que está describiendo.
En primer lugar TeX buscará archivos en el directorio actual. Salvo que se trate de una prueba o de archivos muy relacionados con el documento que se está preparando, es conveniente colocarlos en un lugar de acceso más general.
El lugar exacto en el que deben colocarse los nuevos archivos de estilo depende de la distribución TeX que se esté utilizando. Asumiendo que se utiliza una de las distribuciones modernas que son conformes al TDS (por ejemplo, teTeX, fpTeX o mikTeX) hay una serie de normas que deben tenerse en cuenta
teTeX: /usr/share/texmf.local/
fpTeX: c:\fptex\texmf.local\
mikTeX: c:\localtexmf\
que puede cambiar dependiendo de las opciones dadas durante la instalación. Por
simplicidad le denominaremos $TEXMF
en lo que sigue.
.sty, .cls o .fd: $TEXMF/tex/latex/<paquete>/
.dvi, .ps o .pdf: $TEXMF/doc/latex/<paquete>/
.tfm: $TEXMF/fonts/tfm/<suministrador>/<fuente>/
.vf: $TEXMF/fonts/vf/<suministrador>/<fuente>/
.afm: $TEXMF/fonts/afm/<suministrador>/<fuente>/
.pfb: $TEXMF/fonts/type1/<suministrador>/<fuente>/
.ttf: $TEXMF/fonts/truetype/<suministrador>/<fuente>/
donde paquete, fuente y suministrador dependen de cada archivo
individual de cada paquete.A menudo la rama local del árbol global no está activada por omisión y es necesario activarla:
En primer lugar es necesario localizar el
archivo de configuración texmf.conf
. Éste puede estar en
/etc/texmf/texmf.conf
, /etc/texmf.conf
o
/usr/share/texmf/web2c/texmf.conf
, dependiendo de la
distribución. Aunque no siempre es necesario, en la primera
línea del archivo borrar la palabra "original".
Jugando adecuadamente con texmf.cnf
, donde están los caminos de búsqueda,
se configura sin problemas. Para activar una línea debe quitarse
el carácter de comentario % al principio de la línea, para
desactivarla añadir el carácter % al principio de la
línea. Cuando se activa una línea debe desactivarse la que antes
hacía esa función, si la había. Por
ejemplo, si se tienen los archivos de la distribución bajo
/usr/share/texmf/
, archivos locales bajo
/usr/share/local.texmf
y archivos personales bajo
~/texmf
, las líneas del texmf.cnf
que lo harían
son
TEXMFMAIN = /usr/share/texmf
para la rama principal, que viene activada por omisión. Para las ramas local y
personal se añadiría (o se quitaría el comentario de la misma)
una línea del tipo
TEXMFLOCAL = /usr/share/texmf.local
HOMETEXMF = $HOME/texmf
que normalmente vienen comentadas. Finalmente se seleccionaría
TEXMF = {$HOMETEXMF,!!$TEXMFLOCAL,!!$TEXMFMAIN}
que las junta todas. Como se ha dicho antes, en la estructura de las ramas local
y personal debe clonarse la estructura de la rama principal y
como se dice en la sección siguiente debe correrse
texhash
(o mktexlsr
) después de hacer los
cambios para rehacer la base de datos de archivos. Para la rama
personal puede ser necesario rehacer la base de datos como
usuario.
El fichero de configuración está extensamente comentado con explicaciones de la función de cada una de las posibles líneas.
El paso final consiste en decirle a LaTeX que hay una serie de nuevos archivos que debe ser capaz de encontrar. En la mayor parte de los sistemas LaTeX libres recientes se mantiene una base de datos de archivos instalados, para posibilitar una búsqueda más rápida. En estos sistemas es necesario actualizar esta base de datos cada vez que se instalan nuevos archivos, mediante los programas suministrados con este fin en la distribución.
Correr
texhash
En cualquier distribución web2c reciente texhash
debiera
funcionar. Si no es así, probar con
mktexlsr
En una distribución MikTeX anterior a la v2.0, hacer con los menúes desplegables:
Start-> Programs-> MikTeX-> Maintenance-> Refresh filename database
o en una ventana DOS
initexmf -update-fndb
En una distribución MikTeX mayor o igual que la v2.0, hacer con los menúes
desplegables
Start-> Programs-> MikTeX 2-> MikTeX Options
y pulsar el botón "Update filename database".
La respuesta más general sería mirando los archivos de configuración, pero si se trata de un TeX que utiliza las rutinas kpathsearch de Karl Berry, es mucho más sencillo
% kpsepath tex
responderá con la lista de los directorios en los que busca. Una doble barra
(//
) indica que se busca recursivamente en los subdirectorios
del que pone. Es decir, que si los paquetes particulares están en
~/texmf/tex/latex/lo-que-sea
, o en
~/texmf/tex/mas-paquetes
los encontrará.
Pues depende de la fuente que se quiera usar. Normalmente hay paquetes de estilo
que lo hacen automáticamente. Por ejemplo, si pretendes usar la
familia de Times, usa el paquete times poniendo en el
preámbulo \usepackage{times}
. Otra familia disponible es
lucida-bright, que puedes cargar con el paquete
lucidabr. Si miras estos archivos (times.sty
o
lucidabr.sty
) puedes aprender la forma de usar una fuente, y
copiarlo para otros tipos.
Cuando se usa spanish-babel basta con poner en el preámbulo, después de haberse cargado babel
\addto{\captionsspanish}{\def\chaptername{}}
y queda eliminada la palabra Capítulo. Si no se usa babel basta con poner
en el preámbulo \def\chaptername{}
. Realmente esto es un
caso particular de cambio de literales, que se trata en las secciones
literales
y
sectnames
Hay dos formas, redefiniendo las órdenes que hacen las cabeceras, o utilizando
un paquete hecho que facilite el trabajo. Un paquete que permite
hacer cosas muy elaboradas con las cabeceras de los capítulos es
titlesec, disponible en
CTAN/macros/latex/contrib/supported/titlesec
Si se quiere controlar cuando se quiere o no este comportamiento en cada página con este problema, se puede definir una nueva orden,
\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}}
y teclear \clearemptydoublepage
cada vez que quieras continuar el texto
en una pagina impar.
Cuando se quiere que esto ocurra automáticamente hay que redefinir la orden
\cleardoublepage
como sugiere la documentación del paquete
fancyhdr,
\makeatletter
\def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else
\vspace*{\fill}
\thispagestyle{empty}
\newpage
\if@twocolumn\hbox{}\newpage\fi\fi\fi}
\makeatother
Cuando se utiliza el paquete titlesec de Javier Bezos para definir formatos
propios de cabeceras y pies de pagina, la opción de paquete
clearempty
ya hace el trabajo:
\usepackage[<tus_opciones>,clearempty]{titlesec}
Una forma de conseguir que TeX no corte casi nunca, (y así de paso se evita que corte mal) es poner:
\pretolerance=2000
\tolerance=3000
al principio. Si se quiere que ésto ocurra únicamente en un párrafo o en una
región, debe encerrarse lo anterior y la región deseada entre
llaves,
{\pretolerance=2000
\tolerance=3000
el párrafo o región
}
Quizás la forma más cómoda sea utilizar el paquete geometry, que se
encuentra disponible en
CTAN/macros/latex/contrib/supported/geometry
. Por ejemplo
\documentclass[a4paper, 10pt]{article}
\usepackage[a4paper,left=3cm,right=2cm]{geometry}
crea una página A4 con margen de 3cm a la izquierda y 2cm a la derecha, sin más
complicaciones.
Otra cosa mucho más complicada es cómo cambiar los márgenes dentro de un
documento, en vez de hacerlo en el preámbulo como lo hace el paquete
geometry. Un caso especial se tiene cuando se quiere alargar un
poco una página para que quepa un poco más de texto y así evitar
situaciones poco estéticas. Para ésto, LaTeX2e proporciona la orden
\enlargethispage{distancia}
donde se aumenta el tamaño
vertical de la página en la distancia especificada.
A pesar de esa dificultad, puede utilizarse el paquete chngpage, que proporciona órdenes para cambiar el aspecto de la página en el medio de un documento (por ejemplo, hacerla más estrecha o más ancha, más corta o más larga, e incluso desplazarla horizontal o verticalmente), aunque no permite cambios dentro de un párrafo.
Cuando se quiere sacar la totalidad del documento apaisada, hay que decirle a
TeX que las dimensiones horizontal y vertical están cambiadas,
comenzando el documento con la opción landscape
, algo del tipo
\documentclass[landscape,a4]{article}
donde la clase de documento puede ser también cualquier otra como
slides
. Esto intercambia las distancias horizontal y vertical,
pero no rota el documento final para que se ajuste a la posición de
la hoja. Para ello se puede utilizar el dvips, por ejemplo en
la forma siguiente
dvips -ta4 -tlandscape tu_archivo -o tu_archivo.ps
donde -tlandscape
gira la salida. La opción -ta4
es a menudo
conveniente si se utiliza papel a4, para que el giro se haga
de forma adecuada.
Para ajustar el espaciado en un documento LaTeX2e se recomienda utilizar el paquete
setspace, que se cargará en el preámbulo. Las órdenes \singlespacing
,
\onehalfspacing
, y \doublespacing
colocadas en el preámbulo establecen
el espaciado global del documento. Pueden establecerse valores intermedios
mediante la orden \setstretch{baselinestretch}
en el preámbulo. El valor
por omisión es espaciado simple. Asimismo se definen tres entornos con los
mismos nombres que las órdenes anteriores para cambios del espaciado en regiones
del documento (respecto del espaciado estándard en ese momento, doublespacing
empezará un entorno de espaciado doble que el espaciado en ese momento, si es
doble lo hará aún mayor).
Para un documento LaTeX209 puede utilizarse el paquete doublespace.
La distancia entre los elementos es la suma de los valores de \parsep
(que es también la distancia entre párrafos dentro de un mismo
elemento) e \itemsep
. Si sólo se quiere cambiar la distancia
entre elementos pero no entre párrafos de un mismo elemento, basta con
dar un nuevo valor a la distancia \itemsep
.
Es un espacio elástico, es decir, además de con
\setlength{\itemsep}{1cm}
se puede definir con algo como
\itemsep= 4pt plus 2pt minus 1pt
donde 4pt sería el espacio normal, 2pt lo máximo que podría estirarse y 1pt
lo máximo que podría encogerse. También pueden cambiarse para una
única lista delimitando mediante llaves el rango de aplicación, por
ejemplo
{\topsep=-15pt \parsep=-15pt \partopsep=-15pt
\begin{enumerate}\itemsep=-5pt
\item{ Pruebas de interespaciado}
\item{ Pruebas de interpaginado}
\item{ Pruebas de espaciado}
\end{enumerate}}
Sí, existen varias, por ejemplo
Modo BibTeX para emacs. Normalmente viene incluido con emacs, pero también se puede obtener de su página principal http://www.ida.ing.tu-bs.de/people/dirk/bibtex/
ambos excelentes y disponibles en
CTAN/support/bibdb
con su página base en
http://www.mackichan.com/BibDB/default.htm
disponible en CTAN/bibtex/utils/bibtool/
con su
página principal en
http://bibtool.sourceforge.net/
La forma más cómoda es utilizar el paquete tocbibind, que se encuentra
disponible en
CTAN/macros/latex/contrib/supported/tocbibind
y en la
mayor parte de las distribuciones, pero también puede hacerse
a mano con por ejemplo
\addcontentsline{toc}{chapter}{\bibname}
en la
definición correspondiente.
Con el paquete minitoc
Puede hacerse usando el paquete chapterbib. Para hacerlo de esta
forma debe estructurarse el documento en un archivo raíz
desde el que se incluyen las distintas secciones que están
en archivos separados del raíz, incluir al final de cada uno
de éstos las órdenes de bibliografía y procesar con
bibtex los .aux de cada una de estas partes. Si además
se quiere que no haya un salto de página al comenzar la
bibliografía en cada capítulo, debe utilizarse la opción
sectionbib
.
Otro paquete que permite una cosa similar es bibunits.sty
Los paquetes multibib.sty y bibtopic.sty permiten dividir una bibliografía global en partes separadas para los distintos temas. el primero requiere el uso de órdenes específicas para las citas bibliográficas, mientras que el segundo requiere dividir el archivo de bibliografía.
Mediante algo del tipo
\cite[pág.~29]{gar98}
donde gar98
sería la etiqueta BibTeX para la cita deseada.
url
con BibTeX?En los estilos bibliográficos estándar de BibTeX no hay un tipo para las
url
, aunque es posible que en una futura versión de
BibTeX sí lo haya.
En tanto esa versión aparece la forma más sencilla consiste en utilizar el campo howpublished del tipo misc. Una entrada de ese tipo tendría la forma
@misc{...,
...,
howpublished = "\url{http://...}"
}
También puede ocurrir que un artículo, informe o incluso libro se encuentre
disponible también en la web. En este caso se podría hacer
algo del tipo
@techreport{...,
...,
note = "También disponible como \url{http://...}"
}
donde se supone que se ha utilizado el paquete url, disponible en
CTAN/macros/latex/contrib/other/misc/url.sty/
, lo que es muy
recomendable para estas referencias por diversas razones.
O ¿cómo puedo hacer que aparezca una citación bibliográfica múltiple consecutiva,
por ejemplo, [1,2,3,4,5] como [1-5]? El paquete cite,
disponible en
CTAN/macros/latex/contrib/supported/cite
y en
teTeX permite hacer precisamente eso.
Para hacer referencias cruzadas entre documentos se puede usar el paquete
xr, de David Carlisle, disponible en las distribuciones
habituales y en
CTAN/macros/latex209/contrib/misc/xr.sty
. Su uso es
como sigue,
...
\usepackage{xr} %Referencias a otros documentos
...
\externaldocument{miotrodocumento}
...
Una vez hecho esto las referencias se declaran como si de un único documento se
tratase.
Hay dos formas de dibujar en TeX, mediante el uso de funciones primitivas TeX bien directamente (muy duro) o a través de alguno de los paquetes de más alto nivel que proveen de funciones que internamente utilizan esas primitivas, pero que a un usuario se le representan como funciones de dibujo normales en un cierto lenguaje, o bien incluyendo gráficos realizados mediante aplicaciones externas, como es el caso de gráficos en postscript encapsulado o en mapa de bits.
El problema en este segundo caso es que los datos del gráfico deben darse en el
documento mediante órdenes \special
- Véase
¿Qué son los \special
-- y que éstas órdenes son en general distintas para los distintos
conversores (drivers) a los formatos de impresión o
visualización. Para evitar al usuario tener que utilizar directamente
los \special
se pueden utilizar paquetes de más alto nivel que,
dependiendo de los conversores transforman sus órdenes a los
\special
correspondientes.
Para ello se puede utilizar el paquete graphics, que está entre los
paquetes adicionales del LaTeX2e (disponible en
CTAN/macros/latex/required/graphics/
). Dependiendo de las
opciones deseadas se le llama como graphics
(menos potente) o
graphicx
(más potente y recomendado). Un paquete más antiguo es
psfig que en la práctica ha sido sustituido en LaTeX2e por
graphics que es el paquete oficial de introducción de gráficos
externos en LaTeX2e. Sin embargo, si se usa LaTeX 209 será
necesario usar psfig (disponible en CTAN/graphics/psfig
)
También es necesario tener un conversor de DVI al lenguaje de impresora que
soporte esos \special
, lo que limita los formatos gráficos
soportados. En particular es especialmente interesante que soporten el
formato .eps
(postscript encapsulado), lo que hacen el dvips
y los conversores que vienen con OzTeX o TeXtures. La
mayor parte de los visualizadores de DVI no mostrarán correctamente
estas figuras, sino sólo su espacio. En cualquier caso, es conveniente
leer primero la documentación del paquete graphics o alguna de
las referencias que se dan a continuación.
Existe en el CTAN
documentación muy interesante acerca de este tema. El
documento de Anik K. Goel (CTAN/info/figsinltx.ps
) trata de
diferentes formas de generar figuras y de incluirlas con psfig
para LaTeX 209. El documento de Keith Reckdahl
(CTAN/info/epslatex.pdf
) está más dirigido al trabajo en
LaTeX2e y a las figuras .eps
. Una referencia excelente sobre el
tema es el LaTeX Graphics Companion, de M. Goossens, S. Rahtz y
F. Mittelbach, véase la sección
Libros en otros idiomas.
Existen una serie de formas de dibujar con TeX en vez de importar archivos externos. Desde el simple uso del entorno picture, incluso con mejoras como las proporcionadas por epic a dibujos sofisticados (aunque lentos) con las macros PicTeX. Dependiendo de lo que se quiere hacer alguno de los siguientes sistemas puede ser el más útil:
Disponible en CTAN/graphics/pstricks
, que da acceso a la potencia de
postscript desde TeX mediante un uso sofisticado de los
\special
. Necesita un conversor a postscript bueno (como
p.ej. dvips), está bien documentado y da buenos resultados.
Toda la potencia de METAFONT, pero generando figuras postscript en vez de
tipos. Para más información en castellano sobre metapost
puede consultarse la página
http://w3.mecanica.upm.es/metapost. A partir de la
versión 3.7.1 del paquete gráfico gnuplot éste ya permite
exportar sus resultados en formato metapost. gnuplot
está disponible en CTAN/graphics/gnuplot
.
pdfLaTeX también trata metapost nativamente
mediante el uso de \convertMPtoPDF
. La sintaxis es
\convertMPtoPDF {nombre} {escala x} {escala y}
Si el nombre del gráfico incluido tiene la extensión .mps
\includegraphics
llama internamente a esta orden de forma
transparente al usuario y no es necesario incluirla de forma
explícita.
El gráfico MP así incluido se puede manipular sin problema con los comandos habituales de graphicx: rotatebox, resizebox, scalebox, etc...
Los archivos metapost pueden editarse con un editor de texto y conocimiento del lenguaje metapost, pero también está disponible el editor gráfico Metagraf para METAPOST, que se encuentra en fase avanzada de desarrollo. Está escrito en Java y por tanto funciona bajo distintos sistemas operativos. Se encuentra disponible en la misma página anterior, http://w3.mecanica.upm.es/metapost.
El programa pstoedit permite pasar de postscript a otros formatos editables, entre ellos metapost, aunque es posible que en el cambio se pierdan elementos del dibujo original.
Disponible en CTAN/graphics/mfpic
. Este paquete genera código METAFONT
a partir de macros TeX como las habituales. No da toda la
potencia de METAFONT, pero es bastante más cómodo.
de Eitan Gurari. Disponible en CTAN/macros/generic
. Un paquete de
macros del tipo de PicTeX, pero mucho más manejable y
menos necesitado de recursos de ordenador.
Un ejemplo de documento en el que se incluye una figura postscript externa utilizando el paquete graphicx sería (se supone que se utiliza el conversor dvips)
...
\usepackage[dvips]{graphicx}
...
\begin{figure}
\centering
\includegraphics[width=10cm]{imagen.eps}
\caption{Esto es una imagen}
\label{fig:prueba}
\end{figure}
...
que incluiría la figura imagen.eps
con una anchura de 10cm. Nótese que el
que LaTeX haya procesado sin problemas no implica que se vaya a ver con el
visualizador ni que se vaya a imprimir a una impresora, ya que para ello los
conversores correspondientes deben saber cómo hacerlo (P.ej., dvips sabe
como incluir figuras postscript y si se ha compilado con esa opción algunos
tipos de mapas de bits). Asimismo es conveniente usar \centering
en vez del
entorno center
, ya que este último no es para centrar texto, sino para
componer un poco aparte texto centrado, con blancos antes y después. Si se usa
center en un figure habrá algo de espacio adicional que no debería estar
ahí. Además,\centering
se puede usar también como entorno, si fuera
necesario (\begin{centering}
...
\end{centering})
. Si se desea
cambiar la separación con centering
pueden cambiarse \textfloatsep
(para b y t) e \intextsep
(para h) con \setlength
.
Para contener el gasto en espacio de disco que supone usar PostScript, el
paquete graphicx permite que las figuras que se van a incluir
estén comprimidas con gzip, puesto que entiende los sufijos
.eps.gz
y .ps.gz
. Para que LaTeX sepa el tamaño de la
figura que está en el archivo, debe existir otro con extensión
.eps.bb
o .ps.bb
con la Bounding Box (medidas de la
caja) de la figura en PostScript, que se puede obtener de ese mismo
archivo (es una de las primeras líneas) o usando algún programa como
psbb, distribuido con las utilidades groff
de GNU
(
http://www.gnu.org).
En este caso la línea del \includegraphics...
anterior se convertiría en
\includegraphics[0,0][101mm,50mm]{figura.pcx}
donde suponemos que el conversor soporta este formato. Se le ha dicho
específicamente el tamaño de la figura, ya que si no fuera así, se
obtendrían distintos resultados al imprimirla en impresoras de
distinta resolución.
PDFTeX -- ver la pregunta
¿Cómo obtengo un documento PDF a partir de mi documento TeX? -- no permite la inclusión
directa de figuras PostScript. Pueden incluirse figuras en
PDFTeX siempre que éstas estén en alguno de los formatos
JPEG, TIFF, PDF ó PNG. Existen utilidades para
convertir de PostScript encapsulado a PDF y PNG
(Distiller de Adobe
(
http://www.adobe.com)
para PDF y ghostscript -- gs --
(
http://www.cs.wisc.edu/~ghost/index.html) para convertir a
PDF o a PNG). Para este último se tienen dos programas que
lo utilizan y hacen de intermediario con el usuario, ps2pdf,
incluido en ghostscript y epstopdf (disponible en
CTAN/usergrps/uktug/baskerville/epstopdf
, e incluido al
menos en teTeX) para conversión directa entre los formatos
.eps
y .pdf
Para incluir una figura en PDFTeX se deben seguir los mismos pasos que
para incluir una figura PostScript encapsulado en LaTeX. Es
recomendable omitir la extensión del archivo (.ps
, .eps
,
.ps.gz
, .eps.gz
para PostScript y .jpg
, .tif
,
.pdf
, o .png
para PDFTeX). De esta forma el
paquete graphicx tomará el archivo adecuado según que se esté
usando LaTeX o PDFLaTeX.
Esencialmente hay dos formas, mediante los paquetes psfrag y overpic,
permite sustituir cadenas de texto en el gráfico postscript por cadenas de texto TeX. Para ello la cadena de texto a sustituir debe estar en el archivo postscript de forma explícita utilizando alguno de los tipos postscript en vez de dibujada mediante líneas. Es decir, en el archivo postscript debe aparecer (cadena) donde cadena es la cadena de texto a sustituir. Esta cadena debe estar compuesta preferentemente de caracteres los alfanuméricos a-zA-Z0-9, aunque puede funcionar en algunos otros casos. Para usarlo se cargaría el paquete en el preámbulo:
\usepackage{psfrag}
y dentro de un begin-end que englobe la figura o utilizando llaves (para que su
efecto no se extienda a otras figuras salvo que se quiera) se
incluiría
\psfrag{cadena_original}{cadena_sustituta}
por cada una de las cadenas a sustituir.
Este sistema NO funciona con pdfLaTeX salvo que se utilice vtex. Véase ¿Cómo obtengo un documento PDF a partir de mi documento TeX?.
El paquete overpic permite colocar cualquier tipo de texto sobre una figura e incluso figuras sobre figuras. Tiene dos formas de introducir las coordenadas, absolutas en \% de la figura original, y relativas, en \% de la figura reescalada. Asimismo cuenta con una excelente documentación.
\usepackage{overpic}
Para ello existen distintas opciones, mediante los paquetes
CTAN/macros/latex/contrib/other/misc/wrapfig.sty
)
Contiene wraptable, para hacer lo mismo con tablas.CTAN/macros/latex/contrib/other/floatflt/
)CTAN/macros/latex209/contrib/picins/
), que también
puede utilizarse con tablas.CTAN/macros/latex209/contrib/picinpar
)CTAN
. Para casos sencillos un simple
parbox
o una minipage
pueden hacer un buen trabajo.
Para ello puede utilizarse el paquete float,
(CTAN/macros/contrib/supported/float
, que añade nuevas
funcionalidades al comportamiento normal de los elementos
flotantes como figuras y tablas.
Para giros sencillos, el paquete graphicx contiene las orden
\rotatebox
que permite conseguir giros de elementos de texto
o incluso de elementos más complejos. Sin embargo, cuando se quieren
rotar elementos complejos es recomendable aprovechar las posibilidades
del paquete rotating (disponible en
CTAN/macros/latex/contrib/supported/rotating
). Este paquete
permite girar casi cualquier tipo de elemento, incluyendo figuras o
tablas completas con sus cabeceras, mediante los entornos
sidewaystable y sidewaysfigure.
Existe una FAQ específica acerca de las conversiones entre formatos TeX y de
otros procesadores de textos, disponible en
http://www.kfa-juelich.de/isr/1/texconv/texcnv.html que se
archiva en CTAN/help/wp-conv/wp-conv.zip
. A continuación se
da sólo una pequeña parte de esa información junto con información
específica para PDF..
Existen distintas formas de producir PDF usando (La)TeX.
CTAN/dviware/dvipdfm
), que
genera PDF de alta calidad, insertando los gráficos y
permitiendo anotaciones y enlaces. Su página raíz es
http://odo.kettering.edu/dvipdfm
.eps
, así como
el uso de psfrag y de algunos otros paquetes que utilizan
postscript de alto nivel. Existen versiones para linux y
OS/2 gratuitas, disponibles en
y en CTAN/systems/vtex
. La versión para Windows es comercial
http://www.micropress-inc.comLa forma más sencilla es mediante el Acrobat Reader (véase formato-pdf utilizando La herramienta Obtener texto que se encuentra a la izquierda en el Acrobat Reader.
El programa wp2latex (disponible en CTAN/support/wp2latex
) ha sido
recientemente actualizado por Jaroslav Fojtik y ahora está
disponible tanto para DOS como para Unix.
Hay dos conversores disponibles, rtf2tex de Robert Lupton (disponible en
CTAN/support/rtf2tex
) y rtf2latex, de Erwin Wechtl
(disponible en CTAN/support/rtf2latex
), para TeX y
LaTeX respectivamente.
Aunque hay un programa de conversión (wd2latex, disponible en
CTAN/dviware/wd2latex
), se recomienda convertir el
documento a RTF y utilizar uno de los conversores de RTF
mencionados.
Los formatos de TeX son archivos que contienen las macros básicas
precompiladas para obtener una mayor eficiencia. Para rehacer un
formato es necesario utilizar la orden initex
(Este nombre cambia
para algunas distribuciones, por ejemplo para emTeX es tex
-i
). Como muestra, para rehacer el formato plain se haría
initex plain \dump
Con eso se tiene el archivo plain.fmt
; ya sólo queda reemplazarlo donde
estuviera el original y listo.
Para hacerlo por ejemplo para eplain se habría hecho initex plain
, y
cuando aparece *
se introduciría \input eplain
y
después cuando vuelve a aparecer *
se introduciría
\dump
, así tendría un formato con eplain
y no habría que
estar poniéndolo con \input
.
Cuando deben incluirse distintos archivos en el formato, a menudo es más cómodo
utilizar una archivo que los llame a todos. Por ejemplo, para
eplain
se podría haber creado el archivo eplain.ini
con las
líneas
\input plain
\input eplain
\dump
y se habría rehecho el formato con initex eplain.ini
.
En la mayor parte de las distribuciones modernas no es necesario rehacer los
formatos como se ha dicho antes, sino que hay herramientas que ayudan
a ello. Así, por ejemplo en teTeX después de configurar los
distintos parámetros del formato (idioma, tamaños de memoria...) al
salir se rehace automáticamente el formato, o en mikTeX donde
hay un elemento en un menú desplegable para rehacer los formatos ( o
desde una ventana DOS initexmf --dump
).
Dando el valor adecuado a la variable de entorno TEXEDIT
SET TEXEDIT=tu_editor +%d %s
en el autoexec.bat
o similares o
export TEXEDIT=tu_editor +%d %s
para bash y similares
Para escribir un periodo (el acento breve invertido que indica la repetición de
cifras decimales y que se pone encima de la parte periódica del
número) la solución más elegante consiste en utilizar el paquete
yhmath de Yannis Haralambous, disponible en
CTAN/macros/latex/contrib/supported/yhmath
. Este paquete
permite indicar periodos de longitud arbitraria mediante un acento
matemático \wideparen
que hace precisamente ese papel.
El paquete yhmath necesita un tipo especial que viene con el paquete y además el paquete amsmath, por lo que para uso esporádico o no tan exigente puede bastar una definición como la siguiente
\def\periodo#1{\mathop{\vbox{\ialign{##\crcr\noalign{\kern3pt}%
\ensuremath{\braceld\leaders\vrule\hfill\bracerd}%
\crcr\noalign{\kern3pt\nointerlineskip}%
\ensuremath{\hfill\displaystyle{#1}\hfill}\crcr}}}\limits}
La respuesta se puede encontrar en Lamport sección 6.3 y en el Companion sección
8.6 (Este capítulo del Companion está actualizado en
CTAN/info/companion-rev/
). LaTeX define y mantiene unos
cuantos contadores; uno de ellos es equation. Para generar una
etiqueta impresa, LaTeX ejecuta una orden cuyo nombre se forma
añadiendo \the
al comienzo del nombre del contador adecuado. Por
ejemplo, un número de ecuación se genera con la orden \theequation
.
Para cambiar la numeración de ecuaciones de modo que se indique el capítulo, la sección y un número correlativo dentro de la sección haríamos:
\renewcommand{\theequation}{\thesection.\arabic{equation}}
El problema es que ahora tendríamos que volver a poner a cero el contador de
ecuaciones al comienzo de cada sección o capítulo. Una solución
sencilla es incluir en el preámbulo (entre un \makeatletter
y un \makeatother
) lo siguiente:
\@addtoreset {equation}{section}
Esto hará que automáticamente se ponga el contador equation a 1 cuando se
encuentre un nuevo \section.
Una forma que funciona incluso en plain TeX y que no requiere cargar tipos adicionales es con definiciones del tipo
\def\CC{{\rm C\kern-.18cm\vrule width.6pt height 6pt depth-.2pt \kern.18cm}}
\def\NN{{\mathop{{\rm I}\kern-.2em{\rm N}}\nolimits}}
\def\PP{{\mathop{{\rm I}\kern-.2em{\rm P}}\nolimits}}
\def\RR{{\mathop{{\rm I}\kern-.2em{\rm R}}\nolimits}}
\def\RRt{{\fa I}\kern-.2em{\fa R}}
%% This version of \RR can be used in the title of the paper
\def\ZZ{{\mathop{{\rm Z}\kern-.28em{\rm Z}}\nolimits}}
También es posible utilizar el tipo mathbb incluido con las
amsfonts. Éstas se cargarían en el preámbulo con
\usepackage{amsfonts}
\usepackage[mathscr]{euscript}
y se llamarían como \mathbb{C}
, etc...
Otra alternativa es el uso de los tipos bbm. Estos de cargan en el preámbulo con
\usepackage{bbm}
de forma que $\mathbbm{N, Z, R, Q, I, C}$
daría el correspondiente símbolo.
Sí mediante el paquete amsmath y la orden \tag
. Por ejemplo,
\begin{equation}\label{1}
1+1=2.
\end{equation}
\begin{equation}
1+1=2.\tag{\ref{1}}
\end{equation}
Pues no es nada elemental. Sin tipos especiales no. Inicialmente no se consideró necesario que las letras griegas pudieran representar vectores y no se incluyeron tipos con ellas. La solución pasa por usar amstex y los tipos euler (más en concreto eurb).
También puede utilizarse el paquete amsmath. Así,
\usepackage{amsmath}
\begin{document}
$\boldsymbol{H}$
\end{document}
Si algún símbolo de alguna fuente no cambia a negrita con esta orden, puede
también utilizarse, con el mismo paquete, $\pmb{H}$
.
\binom{N}{k}
, disponible en el paquete amsmath.
Puede probarse con el paquete tensind, disponible en
CTAN:/macros/latex/contrib/supported/bezos/
.
Además de los símbolos básicos de LaTeX muchos otros símbolos están
disponibles a través de distintos paquetes. Una excelente referencia a
todos los símbolos disponibles se encuentra en
CTAN://tex-archive/info/symbols/comprehensive
Para hacer cuadernillos estrictamente con con TeX o LaTeX se pueden utilizar
las utilidades para manipular .dvi
(disponibles en
CTAN/dviware/dvibook
) o utilizar el paquete quire
(disponible en CTAN/macros/generic/midnight
). Ambos permiten
hacer cuadernillos, pero en ambos casos es necesario tener los tipos
para los distintos tamaños antes y después, y dan problemas con
facilidad cuando se incluyen gráficos externos.
El método más recomendable es utilizar las psutils, un conjunto de utilidades para manejar archivos postscript. Aunque el ejemplo está para un unix, también están disponibles para DOS, lo único que en vez de mandarlo a la cola de impresora se mandaría a un archivo que después se imprimiría con ghostscript/ghostview.
Para Unix por ejemplo, si se colocan adecuadamente las hojas en la impresora
psbook tu_archivo.ps | psnup -n 2 -pa4 | psselect -o | lpr
imprimiría las caras impares del librillo (cada una de ellas con dos páginas
reducidas y correctamente ordenadas). Se sacan las hojas, se ordenan
adecuadamente y se colocan adecuadamente en la impresora y
psbook tu_archivo.ps | psnup -n 2 -pa4 | psselect -e | lpr
imprimiría las caras pares del librillo, y ya está, se tiene un librillo
perfecto. La utilidad pstops también permite hacer todo eso
directamente, pero con unas opciones mucho más crípticas.
psbook también permite definir el tamaño del pliego, cuando el libro va a constar de distintos pliegos cosidos, cada uno de ellos de un número de páginas. Por ejemplo,
$ psbook -s 16 manualA4.ps
reordenaría las páginas para hacer pliegos de 16 páginas, y su salida se pasaría
después por psnup y psselect. El comportamiento por omisión
consiste en hacer un único pliego.
En primer lugar se tiene la clase de documento slides, que forma parte de LaTeX2e. Además, existen varios paquetes preparados para hacer transparencias. Los más clásicos son
CTAN/macros/latex/contrib/other/seminar
) CTAN/macros/latex/contrib/supported/foiltex
).También es posible generar directamente las transparencias en formato .pdf
¿Qué es el formato pdf? utilizando
los paquetes pdfslide
(CTAN/macros/latex/contrib/supported/pdfslide
) y
pdfscreen
(CTAN/macros/latex/contrib/supported/pdfscreen
),
quedando las presentaciones preparadas para ser proyectadas
desde un ordenador. Otra alternativa consiste en utilizar la
clase de documento foils (parte de foiltex) y
pdflatex, utilizando posteriormente el postprocesador
ppower4
(
http://www-sp.iti.informatik.tu-darmstadt.de/software/ppower4/index.html)
para tratar el archivo pdf obtenido. Un ejemplo de
presentación realizada con este sistema es la de Luis Seidel
al EGUTH99, disponible en
ftp://tex.unirioja.es/pub/tex/EGUTH99/texweb
Otra fuente de información acerca de las posibilidades de presentaciones basadas en TeX y PDF, es la página http://www.cds.caltech.edu/caltex/2000/ de Ross Moore, que incluye fuentes de documentos, ejemplos,enlaces,...
Por una parte existe un paquete llamado a0poster
(CTAN/macros/latex/contrib/supported/a0poster
) y por
otra existe una alternativa basada en un prograna C llamado
póster (CTAN/support/poster
. Este último distribuye el
texto en páginas A4 que pueden unirse para hacer un póster
grande.
La página web http://www.math.uakron.edu/~dpstory/pdf_demos.html enumera una serie de macros de LaTeX y otros programas utilizados para hacer presentaciones tipo PowerPoint.
La forma en que se debe mandar un documento a la imprenta no es única, sino que depende del tipo de proceso de impresión por el que vaya a pasar el documento. En buena parte de los casos debiera bastar con enviar un archivo postscript normal con el documento. Sin embargo, a veces se pide el documento con características especiales como las que a continuación se tratan,
Con LaTeX puede hacerse utilizando el paquete crop, en la forma
\usepackage[mirror]{crop}
La reflexión especular se puede hacer directamente en el
postscript, en las tres formas siguientes (si se tiene una
distribución completa y actual como teTeX)
dvips <archivo dvi> -h mirr.hd
dvips <archivo dvi> -Pmirr
dvips <archivo dvi> -Pmirrorprint
Realmente las dos primeras son la misma, pero llamadas de distinta forma
(config.mirr
llama a mirr.hd
). crop y
mirr.hd
están disponible en muchas distribuciones y
además pueden encontrarse en
CTAN/macros/latex/contrib/supported/crop/
y
CTAN/macros/generic/TeX-PS/mirr.hd
Para sacar el archivo en negativo puede utilizarse el paquete crop, cargándolo como
\usepackage[invert]{crop}
Para hacer los cortes, o marcas de corte (las líneas que señalan por donde
deberá cortar la guillotina) puede utilizarse el paquete
crop al que se acaba de hacer referencia. Dentro de las
midnight macros (disponibles en
CTAN/macros/generic/midnight
se puede utilizar
quire que también permite hacer marcas de corte
Es decir, como evitar que si se escribe algo como \LaTeX es ...
aparezca
como LaTeXes ...
con el texto pegado. Para ello hay varias
formas, algunas más elegantes que otras. Las más sencillas son
escribirlo bien como \LaTeX{} es ...
o como
\LaTeX\ es ...
. Sin embargo esto no resulta demasiado
elegante, aunque es inevitable cuando se utiliza con órdenes
predefinidas. Cuando estas órdenes están definidas por el autor
del documento, resulta muy cómodo utilizar el paquete xspace,
parte de las herramientas básicas de LaTeX2e. La forma de uso es
simple, debe incluirse en el preámbulo del documento la llamada al
paquete, \usepackage{xspace}
y al definir la orden se
hace como
\newcommand{\mycommand}{palabra\xspace}
De este modo cualquier llamada a \mycommand
incluirá el espacio en
blanco si es necesario, y no lo hará si no es necesario.
Para colocar una figura en el margen:
\marginpar{\includegraphics{icono}}
Perfectamente, con \label
puesto dentro de la nota al pie
(\footnote{\label{f1}Texto}
y \ref
puesto en su
lugar (\footnote
{Esta nota hace referencia a la nota
\ref{f1}
de la página \pageref{f1}})
. Mediante
\label
se establece la referencia al último contador
incrementado, en este caso el de las notas al pie.
Naturalmente, hasta que no esté la segunda nota, con su \label
correspondiente, el \ref
que se ha puesto en la primera
no tendrá valor asignado, y al componer el texto parcial, en
lugar del número de la nota aparecerán los típicos símbolos de
interrogación de cerrar.
Sí, utilizando el paquete endnotes.
Por ejemplo con
\renewcommand{\thefootnote}{\itshape\alph{footnote}}
(Las llamadas con letras deben ser con cursiva, y se suelen reservar
para cuadros y similares.)
\marginpar{\footnotemark}\footnotetext{Texto de la nota}
Más bonito que utilizar verbatim queda con cualquiera de los paquetes
listings.sty
, lgrind
o fancyvrb.sty
Utilizando el paquete eurofont de CTAN. Contiene instrucciones acerca de su uso con LaTeX.
Para obtener un resultado de mejor calidad que con ^\circ
puede utilizarse la orden \textdegree
del paquete textcomp.
Utilizando la orden \textcircled{...}
Utilizando el paquete colortbl (junto con el paquete graphicx) Algo como
\multicolumn{1}{>{\columncolor[gray]{0.8}}c}{text}
debe colorear una celda.
Mediante el paquete cancel.sty
\times
o \wedge
, según la forma que prefieras (cruz y angulito,
respectivamente).
Por ejemplo, para una figura puede hacerse de la forma siguiente:
\begin{center}
\makebox[0cm][c]{\includegraphics{tufigura.eps}}
\end{center}
o en general,
\begin{center}
\makebox[0cm][c]{
Material tabular, o cualquier otra cosa.
}
\end{center}
Si se desea usar el entorno table, para poder poner el correspondiente
\caption, la cosa se complica un poco ya que por alguna razón \makebox
no
admite el entorno table en su interior:
\begin{center}
\begin{table}
\centering\makebox[0cm[c]{
\begin{tabular}{|c|c|}
...... ....
\end{tabular}
}
\caption{Texto}
\end{table}
\end{center}
El paquete lastpage lo resuelve de forma adecuada (necesitará un par de compilaciones)
Una posibilidad consiste en fabricar la tabla dentro de un savebox
con el
entorno lrbox
y luego medirlo con \widthof
, etc. del paquete
calc. Si se usa longtable, este procedimiento no funciona, ya que se
extiende por varias páginas. Sin embargo longtable precisamente escribe la
longitud de cada fila de la tabla en el fichero .aux
, por lo que se podría
recuperar desde allí. En concreto, longtable escribe la definición de una
macro \LT@<num>
, donde <num>
es un número de orden correlativo
de cada entorno longtable (en romano y en minúsculas) que contiene las
longitudes de cada columna.
url
muy larga se me desborde por la derecha?Utilizando el paquete url. Está pensado precisamente para eso, para dividir
los url
s por puntos adecuados que no afecten a su legibilidad, como
por ejemplo en las barras separadoras de directorio.
Por ejemplo, utilizando el paquete multicol.
Por ejemplo con renewcommand{\arrayrulewidth}{1.1pt}
Con la opción openfight
. Por ejemplo
\documentclass[12pt,a4paper,openright]{report}
Para notificar errores o problemas se escribe latex latexbug
y se envía el
informe así generado a latex-bugs@rus.uni-stuttgart.de
. Se
recomienda previamente leerse las distintas FAQ y pedir ayuda en los
distintos foros acerca del problema, y sólo entonces, cuando se esté
seguro que el problema es de LaTeX2e mandar el informe de error.