Esta es una colección de apuntes que los alumnos del doble grado en Informática-Matemáticas de la Universidad Autónoma de Madrid hemos ido tomando a lo largo de la carrera. Están disponibles libremente (licencia CC-BY-NC-SA). Si encuentras algún fallo o quieres contribuir, puedes mandarnos un pull request o abrir un issue en Github.
La documentación de los paquetes está en el manual en PDF, junto con una introducción a LaTeX básico y algunas pinceladas de cosas un poco más avanzadas.
Puedes descargar los apuntes en PDF, actualizados diariamente, aquí.
- Víctor de Juan Sanz
- Guillermo Julián Moreno
- Guillermo Ruiz Álvarez
- Pedro Valero Mejía
- Jorge Martín Pérez
- Eduardo Miravalls Sierra
- Alberto Parramón Castillo
- Cristina Kasner Tourné
- Elena Gutiérrez Viedma
- Guillermo Guridi Mateos
- Alvaro García Gutiérrez
Los apuntes necesitan los archivos en la carpeta Cosas Guays LaTeX
para compilar (hay clases de documentos y algunos paquetes). Se pueden o bien instalar directamente en el sistem usando el script install
del directorio o bien copiarlos al directorio del archivo .tex
para que el compilador los reconozca.
Además, hay un script en la raíz compilar.sh
que recorre todos los directorios compilando los PDFs, con capacidad de exportarlos a otras carpetas.
Es recomendable también usar latexmk
para compilar de forma continua los apuntes mientras se editan. El comando completo sería
latexmk -shell-escape -synctex=1 -pdf -silent -interaction=nonstopmode -pvc <archivo .tex>
Sobre los argumentos: -shell-escape
permite crear subprocesos de LaTeX para compilar archivos auxilares, -synctex=1
genera un archivo synctex.gz que permite a ciertos lectores de PDF (Skim en OS X, Okular en Linux) relacionar una posición en el PDF con la parte correspondiente del tex, -silent
reduce la salida del compilador, -interaction=nonstopmode
evita que el compilador se pare cuando se encuentra un error, y por último -pvc
habilita la compilación continua cuando se guarda el archivo tex.
En el directorio Cosas Guays LaTeX
se encuentran varios paquetes y clases para facilitar la escritura de apuntes y mantener un formato coherente. Los comentarios explican qué hace cada comando, y también hay un manual en PDF.
Para facilitar las cosas, hay un script cwlmaker.py
que genera un archivo .cwl
a partir de los comandos declarados en un fichero de LaTeX. Este archivo permite a TeXstudio dar sugerencias de los comandos que hemos creado.
El archivo .cwl
también funciona en Sublime Text si se tienen instalados los plugins Latexing y LaTeX-cwl. El script de instalación de los paquetes extras (install
) copia automáticamente el .cwl
al directorio de LaTeX-cwl en OS X / Sublime Text 3. Si usas otro sistema, añade la ruta correspondiente en el script.
Para que git meta en el control de código archivos PDF, hay que renombrarlos con una barra baja al principio, para denotar que son archivos auxiliares y no generados por LaTeX.
- Hay que instalar prácticamente todos los paquetes de LaTeX. En Ubuntu, suele ser texlive-latex-full, texlive-lang-spanish, texlive-fonts-extra, y con cuidado de que instale los paquetes imakeidx y alguno más, que a veces desaparece sin dejar rastro.
- Tal y como está hecho el comando
\makefirstuc
, que se usa en el entorno de definiciones, peta por todo lo alto cuando el primer carácter es una tilde. Por ejemplo,\begin{defn}[Índice]
no funciona, con un error raro de UTF8. La solución es meter la primera letra entre llaves, así:\begin{defn}[{Í}ndice]
. Ya, es raro, pero no hay otra. - Cada vez que se cambian los paquetes hay que volver a instalarlos. Así que si por lo que sea dejan de compilar los apuntes con errores de comandos sin definir, vuelve a ejecutar el script de instalación (
Cosas guays LaTeX/install
) por si acaso. - Para que la compilación sea más rápida cuando hay dibujos Tikz, hay una instrucción que los "precompila" y los guarda para no recrearlos mientras no cambien (
\precompileTikz
dentro del paquetetikztools
, por si tenéis curiosidad). Esa "caché" se guarda en el directoriotikzgen
de cada carpeta de apuntes. Por desgracia, LaTeX es muy puñetero y si no encuentra ese directorio se va a quejar con un error raro, así que si no os compilan apuntes y tienen dibujos, probad a crear ese directorio. Otra opción si no funciona eso es asegurarse de que el compilador de LaTeX es libre como el viento, pasándole la opción-shell-escape
.
Recomendada instalación a través de MacPorts. En la página están todos los paquetes y lo que incluye cada uno, aunque por resumir: texlive-basic, texlive-bin-extra (para texdoc), texlive-fonts-extra, texlive-lang-spanish, texlive-latex, texlive-latex-extra, texlive-math-extra.
Hay que instalar el paquete base y también los extras ya que se usan varios paquetes presentes ahí: texlive-latex-base, texlive-latex-extra, texlive-latex-recommended. También es interesante instalarse la documentación de cada de uno de esos paquetes.
La idea original de este proyecto era tomar apuntes en clase directamente a LaTeX. Para ello, evidentemente, es necesario tener una buena velocidad de escritura a máquina, un dominio bastante extenso de los comandos desarrollados en este proyecto y una customización del teclado a gusto del usuario.
En un principio, cada vez que queramos escribir una letra griega (algo extremadamente frecuente en matemáticas), deberemos escribir un comando de la forma \sigma o \Sigma para representar σ y Σ respectivamente.
Esto no resulta nada eficiente y resta mucho dinamismo a la hora de transcribir a LaTeX una clase en directo. Para ello, lo más cómo es modificar la configuración del teclado para tener la siguiente combinación de teclas, normalmente sin usar:
- AltGr + letra = letra griega minúscula.
- AltGr + shift + letra = letra griega mayúscula.
En ubuntu, la forma más cómoda de cambiar esta configuración es a través del siguiente README
Estos apuntes se comparten bajo la licencia Creative Commons - No Commercial - Share Alike: se pueden usar libremente siempre y cuando se de crédito a los autores originales, no se usen con propósitos comerciales y los trabajos derivados se compartan bajo esta misma licencia.