Pastebin is 300% more awesome when you are logged in. Sign Up, it's FREE!
Guest

Texis_pream-tex

By: a guest on Feb 7th, 2013  |  syntax: Latex  |  size: 30.95 KB  |  hits: 32  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. %---------------------------------------------------------------------
  2. %
  3. %                        TeXiS_pream.tex
  4. %
  5. %---------------------------------------------------------------------
  6. %
  7. % Contiene la parte inicial del documento, antes del
  8. % \begin{document}. Carga los paquetes que se utilizarán.
  9. %
  10. %---------------------------------------------------------------------
  11.  
  12. \usepackage[bottom]{footmisc} % Agregado x mi para que los footnotes vayan bian abajo
  13.  
  14. \usepackage[font=small,labelfont=bf]{caption}
  15.  
  16. % El paquete verbatim  es utilizado por uno de  los comandos definidos
  17. % en TeXiS.  Aunque  el propio estilo indica que  necesita ese paquete
  18. % con \RequirePackage, lo  hacemos "explícito" incluyéndolo aquí antes
  19. % de incluir nuestro paquete.  Es necesario únicamente para el comando
  20. % "example",  específico del  manual y  que con  toda seguridad  no se
  21. % necesitará en  ningún otro tipo  de documento (Tesis, etc.),  por lo
  22. % que si por alguna razón  la inclusión de este paquete interfiere con
  23. % otros y se desea no tener que incluirlo, se puede cambiar TeXiS.sty,
  24. % y eliminar el comando example.
  25. \usepackage{verbatim}
  26.  
  27. % El  paquete  "layout" es  de  "depuración".  Sirve  para definir  el
  28. % comando \layout que puedes meter  en cualquier sitio del documento y
  29. % te genera  un par de páginas  con un gráfico sobre  la estructura de
  30. % las  páginas,   es  decir,  con  información   sobre  los  márgenes,
  31. % posiciones de las notas a pie, los encabezados, y demás. Recibe como
  32. % parámetro un  idioma que  le sirve para  mostrar "la leyenda"  en un
  33. % idioma diferente al inglés.
  34.  
  35. %\usepackage[spanish]{layout}
  36.  
  37. % El  paquete  glosstex  te  permite  generar listas  de  acrónimos  y
  38. % glosarios.  En  realidad  te   permite  crear  listas  múltiples  de
  39. % cualquier cosa,  con tal de que  des un identificador  a cada lista.
  40. % Luego de  manera predeterminada controla  dos listas, una  de nombre
  41. % "acr" pensada para acrónimos, y otra "glo" para el glosario.
  42.  
  43. %
  44. % La idea  es tener uno o  varios ficheros externos  donde se mantiene
  45. % una "base  de datos" de acrónimos,  de palabras para  el glosario, o
  46. % de, en  general, entradas  para cualquiera de  la lista  de términos
  47. % gestionadas por glosstex. Esos ficheros normalmente llevan extensión
  48. % .gdf (Glossary  Data File, supongo),  y, por aclarar,  son similares
  49. % conceptualmente a  los ficheros .bib. En cada  entrada se especifica
  50. % una etiqueta que  la identifica y que normalmente  se utiliza cuando
  51. % aparece dicha entrada en alguna de las listas en el documento final.
  52. % También  puede opcionalmente  especificarse un  texto en  LaTeX para
  53. % dicha entrada si  queremos poner otra o darle  formato (por ejemplo,
  54. % si  queremos meter  en  el glosario  el  término LaTeX,  normalmente
  55. % querremos usar  como etiqueta  identificativa la cadena  LaTeX, pero
  56. % luego queremos  que al escribirlo  en el documento salga  su versión
  57. % pija conseguida  mediante \LaTeX{}). También  tiene una "descripción
  58. % larga"  (útil dependiendo  de  la configuración)  y, finalmente,  la
  59. % descripción de la entrada.
  60. %
  61. %
  62. % Por ejemplo, una entrada sin descripción corta sería:
  63. %
  64. %   @entry{LaTeX, \LaTeX{}} Herramienta basada en \TeX{} para
  65. %   facilitar la creación de documentación.
  66. %
  67.  
  68. % Puedes consultar  más información sobre  el formato en  el fichero
  69. % acronimos.gdf.
  70.  
  71. % La idea es tener tantos ficheros gdf como queramos, y reutilizarlos
  72. % entre todos los documentos que necesitemos crear. Posteriormente, a
  73. % lo largo de esos documentos, referenciamos su uso. En concreto,
  74. % indicamos al sistema que queremos que una determinada entrada se
  75. % incluya en una de las listas gestionadas por GlossTeX.
  76. %
  77. % Para eso:
  78. %
  79. %  \glosstex[(<lista>)]{<etiqueta>}
  80. %
  81. % Lo de <lista> es opcional. Si no se especifica, se entiende "glo",
  82. % que se supone que contiene el glosario normal. El soporte "nativo"
  83. % para la lista de acrónimos queda patente porque para añadir uno
  84. % basta con:
  85. %
  86. %  \acronym{<etiqueta>}
  87. %
  88. % que es sinónimo de \glosstex(acr){<etiqueta>}
  89. %
  90. % La  aparición   de  estos   comandos  ocasionan  la   generación  de
  91. % anotaciones en los ficheros .aux correspondientes. Esos .aux hay que
  92. % procesarlos con la herramienta  glosstex, que genera un fichero .gxs
  93. % con información  sobre las entradas referenciadas y  su contenido, y
  94. % un .gxg con un log. El .gxs (si todo fue bien) es procesado de nuevo
  95. % para ser  ordenado y para aplicarle  estilo. Esto se  realiza con la
  96. % herramienta externa  makeindex, y usando el  estilo glosstex.ist. El
  97. % resultado es un  fichero .glx, que por fin  tiene todo correcto. Ese
  98. % fichero es  utilizado por el comando \printglosstex  dentro de algún
  99. % fichero .tex en la proxima invocación a LaTeX
  100. %
  101. % Una cosa interesante es en el uso de acrónimos. Al igual que podemos
  102. % utilizar  con natbib cosas  como \citeyear  o \citeauthor,  con esto
  103. % podemos  hacer \ac{<etiqueta>},  y el  sistema te  pone  el acrónimo
  104. % automáticamente.  Esto  no  parece   muy  útil,  si  se  piensa  que
  105. % normalmente el  acrónimo será igual a  la etiqueta ;-)  La gracia es
  106. % que, además,  la primera vez que  se hace, te  pone entre paréntesis
  107. % también la forma larga 8-)
  108. %
  109. % También puedes usar \acf si quieres  que te aparezca las siglas y el
  110. % significado  entre  paréntesis en  algún  momento.  En realidad  hay
  111. % muchas más cosas, pero no las he mirado todas.
  112. %
  113. % http://www.ctan.org/tex-archive/help/Catalogue/entries/glosstex.html
  114. \ifx\generaacronimos\undefined
  115.   % No queremos acrónimos. Como no incluiremos el paquete glosstex
  116.   % redefinimos sus comandos para que no cruja si se han usado.
  117.   \newcommand{\glosstex}[1]{}
  118.  \newcommand{\acronym}[1]{}
  119.  \newcommand{\ac}[1]{#1}
  120.  \newcommand{\acs}[1]{#1}
  121.  \newcommand{\acl}[1]{#1}
  122.  \newcommand{\acf}[1]{#1}
  123. \else
  124.  \usepackage{glosstex}
  125. \fi
  126.  
  127. % shortvrb supuestamente define algunas macros cómodas como carácteres
  128. % de escape.  Por ejemplo, para poner  un < normalmente  hay que hacer
  129. % una  ecuación:   $<$.  Este   paquete  define  algunas   macros  más
  130. % intuitivas, en este caso bastaría  con \< De igual forma, para poner
  131. % algo en  verbatim, la versión  larga es \texttt{blabla},  la versión
  132. % corta es  \verb+blabla+ (el +  puede sustituirse por  cualquier otra
  133. % cosa,  como un  |  ), y  con  este paquete  basta  con |blabla|  (es
  134. % equivalente a \verb|blabla|).  Pero vamos... a mí no me funciona :-/
  135.  
  136. \usepackage{shortvrb}
  137.  
  138. % Modifica la codificación de  entrada para LaTeX. Básicamente permite
  139. % escribir cosas con acentos (á) y  él solo lo sustituye por \'a. Para
  140. % eso, se especifica  en el primer parámetro la  página de códigos que
  141. % estamos utilizando (latin1  significa ISO Latin 1, o  sea ISO 8859-1
  142. % supongo). Para cada página de códigos (en nuestro caso latin1) tiene
  143. % un fichero de definiciones (.def)  en el que mapea cada carácter por
  144. % encima del 128 a una orden LaTeX.
  145. %
  146. % Otra posible opción sería indicar utf8 (o utf8x) en lugar de latin1,
  147. % que podría  resultar útil para  aquellos que prefieran  escribir sus
  148. % fuentes  en  UTF-8 (como  tiende  a  ocurrir  actualmente de  manera
  149. % predeterminada  en  Ubuntu). No  obstante,  una  búsqueda rápida  en
  150. % google parece indicar  que el soporte para fuentes  TeX con UTF-8 no
  151. % está demasiado  bien soportado y  podría dar algunos  problemas.  En
  152. % TeXiS, además, seguro que generará conflictos, dado que si se indica
  153. % aquí utf8  se asumirá que  *todo* usa UTF-8, incluídos  los ficheros
  154. % del propio  TeXiS que en realidad  están con ISO  8859-1. Por tanto,
  155. % usa  utf8  *bajo tu  propia  responsabilidad*.  TeXiS, desde  luego,
  156. % recomienda el uso de ISO 8859-1.
  157.  
  158. \usepackage[latin1]{inputenc}
  159.  
  160. % Incluimos el  estilo de bibliografía natbib, para  poder citarlas de
  161. % forma más compleja.  Por ejemplo,  \citep{ref} para que nos lo saque
  162. % entre  paréntesis, \citet{ref}  normal  (si lo  referenciamos en  un
  163. % texto), \citeyear{ref} para la  fecha del artículo, libro, etcétera,
  164. % \citeauthor{ref} para los autores... Hay un montón de posibilidades.
  165. % Puedes ver información en http://merkel.zoneo.net/Latex/natbib.php
  166. %
  167. % Es importante incluirlo ANTES de  babel. Si primero se añade babel y
  168. % luego natbib,  cuando se tienen apellidos  "compuestos" (por ejemplo
  169. % "Du  Boulay" natbib  añade  un  ~ de  separación  para convertir  al
  170. % espacio  en un espacio  no separable  en dos  líneas, pero  al tener
  171. % activado  babel  el ~  aparece  en lugar  de  salir  el espacio.  En
  172. % cualquier  caso,  sigue  existiendo  un potencial  problema.  Natbib
  173. % abrevia los  nombres poniendo únicamente las  iniciales (por ejemplo
  174. % para  el nombre  compuesto Francisco  Nunes Ferreira  pone Ferreira,
  175. % F. N.). El  problema es que también pone la ~  para separar, de modo
  176. % que sale Ferreira F.Ñ. El problema está en que Babel automáticamente
  177. % da significado  a ~n y lo  sustituye sin que le  digamos nada... hay
  178. % más  información en  el comentario  de babel  y  en TeXiS_bib.tex
  179. % http://chico.rediris.es/cgi-bin/wa?A2=ind0601&L=es-tex&D=0&P=1989
  180.  
  181. \usepackage[round]{natbib}
  182.  
  183. % Activa el  uso de  español. Babel es  un paquete bastante  gordo que
  184. % afecta a  otros paquetes de  LaTeX que antes tenían  cableadas cosas
  185. % para el inglés... por ejemplo, hace  que la 'Ñ' vaya después de la N
  186. % en el orden alfabético, y cosas varias sobre español.
  187. % En algún sitio leí que "activeacute" nos permite poner á en lugar de
  188. % tener que escribir  \'a ... aunque eso en teoría  lo hace el paquete
  189. % inputenc :-m
  190.  
  191. \usepackage[spanish,activeacute]{babel}
  192. \decimalpoint % Agregado x mi para que use puntos en lugar de comas como separador decimal
  193.  
  194. % El paquete url sirve para poder  poner direcciones Web y no morir en
  195. % el intento,  sobre todo  en la bibliografía.   Es útil porque  si la
  196. % dirección  no entra  en una  línea,  la divide  de forma  coherente.
  197. % Además en  la bibliografía también  cambia el formato de  la fuente.
  198. % Se utiliza poniendo la  dirección con \url{http://...}  También vale
  199. % para direcciones de correo, etc.
  200. % No conviene  quitarlo, porque con  casi toda seguridad, al  menos la
  201. % bibliografía utilizará el comando.
  202.  
  203. \usepackage{url}
  204.  
  205. % El documento está  pensado para ser compilado o  bien con pdflatex o
  206. % bien con  latex. Algunas  cosas sólo se  soportan si se  compila con
  207. % pdflatex (por  ejemplo, añadir en  el "índice del documento"  PDF un
  208. % título para una sección para luego verlo cuando se ve en el visor de
  209. % PDF el  índice). Para  meter cómodamente las  líneas que  sólo deben
  210. % "ejecutarse" si  se compila el  documento con pdflatex  definimos un
  211. % nuevo "tipo de if".
  212. % En  realidad,  en vez  de  utilizar  el  paquete, se  puede  definir
  213. % directamente, utilizando:
  214. % \newif\ifpdf\ifx\pdfoutput\undefined\pdffalse\else\pdfoutput=1\pdftrue\fi
  215. %
  216. % La idea es luego poder tener:
  217. % \ifpdf ...
  218. % \else
  219. % ...
  220. % \fi
  221.  
  222. \usepackage{ifpdf}
  223.  
  224. % Juego (solo make latex) :-p
  225. %\usepackage[mirror,invert]{crop}
  226.  
  227. % Si estamos usando  pdflatex, queremos pedir que se  creen enlaces en
  228. % las  referencias  a figuras,  capítulos  y  bibliografía para  poder
  229. % "navegar" al visualizar el PDF. También queremos que esos enlaces NO
  230. % aparezcan rodeados de un marco que queda horrible.
  231. %
  232. % La opción "pdfpagelabels"  sirve para que en el  cuadrito del número
  233. % de página del Adobe Acrobat  salga el número de "página lógico", por
  234. % ejemplo  "v (5  de  180)"  (con número  romano  porque al  principio
  235. % empieza a numerarse así).
  236.  
  237. \ifpdf
  238.    \RequirePackage[pdfborder=0,colorlinks,hyperindex,pdfpagelabels]{hyperref}
  239.   \def\pdfBorderAttrs{/Border [0 0 0] } % Ningún borde en los enlaces
  240. \fi
  241.  
  242. % Cuando se  genera el  índice, se necesita  el paquete  hyperref, que
  243. % permite referencias  (o enlaces) en el propio  documento. El paquete
  244. % aparece como \RequirePackage cuando se está usando pdflatex, gracias
  245. % al comando anterior. Si no se está en pdf, se incluye directamente
  246. \ifpdf
  247. \else
  248. \usepackage{hyperref}
  249. \fi
  250.  
  251. \hypersetup{colorlinks=false}
  252.  
  253.  
  254. % Durante  la infancia  de TeXiS  (es decir,  cuando estábamos  en las
  255. % primeras etapas de la escritura de nuestras tesis), teníamos la idea
  256. % de tener índice de palabras, es decir una lista de palabras usadas a
  257. % lo   largo  del   documento,  junto   con  las   páginas   donde  se
  258. % mencionaban. Esto aparece en algunos libros, permitiendo la búsqueda
  259. % rápida de los lugares donde se habla de ciertas cosas.
  260. %
  261. % El problema  de hacer  dicho índice no  es sólo "tecnológico"  en lo
  262. % referente al  uso de  LaTeX, sino  también a la  hora de  marcar qué
  263. % palabras (y en qué lugares) se quieren añadir a dicho índice.
  264. %
  265. % En nuestro  caso, después de haber superado  la barrera tecnológica,
  266. % decidimos que no  merecía la pena el esfuerzo  de recorrer las tesis
  267. % tras  ser  escritas  para  anotar  las palabras  importantes  y  que
  268. % aparecieran en el índice. Debido  a eso, ni siquiera el soporte está
  269. % terminado  (a  nivel, por  ejemplo,  del  Makefile).  Por lo  tanto,
  270. % podemos  decir que  TeXiS  tiene un  soporte  embrionario para  esas
  271. % listas de palabras,  pero que necesitaría algo más  de esfuerzo para
  272. % hacerlo amigable.  Para no crear  falsas expectativas, el  manual de
  273. % TeXiS, por  tanto, no menciona  nada de este asunto,  aunque dejamos
  274. % aquí esa configuración original del soporte básico.
  275. %
  276. % En realidad, para añadir un índice de palabras bastaría con:
  277. %
  278. %    - Modificar la parte final de Tesis.tex, e incluir siempre
  279. %      TeXiS/TeXiS_indice (ahora su inclusión está comentada).
  280. %    - Modificar el Makefile y descomentar las lineas
  281. %      -makeindex $(NOMBRE_LATEX)
  282. %      pare que se genere el índice de palabras.
  283. %
  284. % No se ha  hecho "oficial" este soporte (ni se  explica en el manual)
  285. % porque no se ha probado en "producción". No obstante, a continuación
  286. % se describe su uso, tanto a nivel de configuración (mucho de lo cual
  287. % TeXiS ya hace) como a nivel del usuario:
  288.  
  289.  
  290. % Permite crear  índices (de palabras)  en LaTeX (es decir,  el índice
  291. % que suele  haber al final de  los libros diciendo en  qué páginas se
  292. % habla de qué términos). La  generación no es una cosa trivial...  Lo
  293. % primero que hay que hacer  es poner '\makeindex' en el preámbulo del
  294. % documento (antes del  \begin{document}), luego poner \index{entrada}
  295. % a lo largo  de todo el documento para  indicar qué palabras queremos
  296. % que  aparezcan en  el índice  temático.  Por último,  hay que  poner
  297. % \printindex en  el lugar donde queramos  que se genere  y muestre el
  298. % índice.
  299.  
  300. % Pero  eso no  es todo...  en realidad  la generación  del  índice se
  301. % realiza con  una herramienta externa a LaTeX  llamada makeindex (que
  302. % funciona  con  la  misma  "filosofía"  que bibtex,  como  una  etapa
  303. % posterior).  Total, que  hay que ejecutar LaTeX una  primera vez, lo
  304. % que  genera un  fichero  auxiliar  con extensión  .idx  con toda  la
  305. % información sobre las  palabras que deben salir en  el índice. Luego
  306. % se ejecuta  MakeIndex, que recoge  ese fichero y utiliza  un fichero
  307. % con extensión  .ist con información  sobre estilo para  generar otro
  308. % fichero,   esta   vez   con   extensión  .ind   (que   supongo   que
  309. % conceptualmente es  semejante al "bbl"  de BibTeX).  Por  último, se
  310. % vuelve a  ejecutar LaTeX que  recompila el fichero y,  utilizando el
  311. % .ind, mete por fín el índice bueno.
  312.  
  313. % Aconsejan NO  poner los \index  según vas escribiendo  el documento,
  314. % porque el índice que te queda seguramente sea un poco malo. En lugar
  315. % de eso  dicen que utilices  "delatex" para sacar todas  las palabras
  316. % que utilizas en tu  documento, luego las "limpies" decidiendo cuales
  317. % quieres que aparezcan, y luego  metas todos los \index. En cualquier
  318. % caso,  el  programa "delatex"  no  se  instala  con la  distribución
  319. % habitual de latex.
  320.  
  321. % Puedes anular la generación del índice si quitas el \makeindex en el
  322. % preámbulo (supongo que no se generará el .idx).
  323.  
  324. % http://www.mpi.nl/world/persons/private/robstu/latex/how_to/indexes.html
  325. % http://ipagwww.med.yale.edu/latex/makeindex.pdf
  326.  
  327. \usepackage{makeidx}
  328.  
  329.  
  330. % Paquete de  depuración. Se si utiliza,  en el margen  de cada página
  331. % aparecen  las palabras  que se  añadirán  al índice  de esa  página.
  332. % Pero... parece que no funciona con el pdflatex de Linux :'( En lugar
  333. % de sacar las palabras en la esquina de la página la saca en el sitio
  334. % donde están insertadas, en mitad del párrafo... y claro, es un tanto
  335. % caótico :'(
  336. % Por  eso, aunque  estemos en  modo "depuración",  si  estamos usando
  337. % pdflatex no se incluye.
  338.  
  339. \ifpdf
  340. \else
  341.    \ifx\release\undefined
  342.       \usepackage{showidx}
  343.    \fi
  344. \fi
  345.  
  346. %\citeindextrue Activa la aparición de las referencias en el índice
  347. %\citeindexfalse La desactiva
  348.  
  349.  
  350. % Para pedir que se genere  la información para el índice de palabras.
  351. % Para  no  ralentizar la  compilación,  sólo  se  genera cuando  está
  352. % definido el símbolo correspondiente.
  353. \ifx\generaindice\undefined
  354. \else
  355. \makeindex
  356. \fi
  357.  
  358. % Pruebas con índices
  359. %\usepackage{index}
  360. %\newindex{default}{idx}{ind}{Índice}
  361. %\newindex{cite}{cdx}{cnd}{Índice de citas}
  362. %\renewcommand{\citeindextype}{cite}
  363. %\citeindextrue
  364.  
  365.  
  366. % Otro paquete  de depuración, para mostrar las  etiquetas del \label,
  367. % etc. Se  puede desactivar  el mostrado de  algunas de ellas  con las
  368. % opciones [notref]  y [notcite].  Lo tengo  desactivado, porque queda
  369. % demasiado  cargado.   Además,  provoca  errores de  compilación  con
  370. % algunas figuras  convertidas desde eps  a pdf cuando se  compila con
  371. % pdflatex.
  372.  
  373. \ifx\release\undefined
  374. %\usepackage{showkeys}
  375. \fi
  376.  
  377.  
  378. % Para poder utilizar el entorno multicol, útil en los sitios donde se
  379. % quieren poner dos figuras una al lado de la otra.
  380. \usepackage{multicol}
  381.  
  382. %
  383. % Para  poder poner  "subfiguras". El  paquete permite  incluir varias
  384. % figuras dentro  de un entorno  flotante (típicamente una  figura), y
  385. % puede  etiquetar  cada  una  con  una letra,  y  asociar  diferentes
  386. % descripciones a cada una.
  387. %
  388. % La idea  es crear  un entorno figura  tradicional, pero no  poner en
  389. % ella  directamente  el  \includegraphics  (o  cualquier  otra  cosa,
  390. % vamos), sino subdividir ese entorno  figura en varias partes. A cada
  391. % una  de   ellas  se  le   da  una  etiqueta  diferente   para  poder
  392. % referenciarlas, una descripción, etcétera.  Un ejemplo:
  393. %
  394. % \begin{figure}[t]
  395. %   \centering
  396. %   %
  397. %   \subfloat[<ParaElIndice1>][<Caption1>]{
  398. %      % Contenido para este "subelemento" (podrá ser una
  399. %      % figura, una tabla, o cualquier otra cosa).
  400. %      \includegraphics[width=5cm]{ficheroSinExtension}
  401. %      \label{fig:etiqueta1}
  402. %   }
  403. %   \subfloat[<ParaElIndice2>][<Caption2>]{
  404. %      % Contenido para este "subelemento" (podrá ser una
  405. %      % figura, una tabla, o cualquier otra cosa).
  406. %      \includegraphics[width=5cm]{ficheroSinExtension}
  407. %      \label{fig:etiqueta2}
  408. %   }
  409. %  \caption{Descripción global para la figura}
  410. %  \label{Etiqueta para toda la figura}
  411. % \end{figure}
  412. %
  413. % El sistema  automáticamente decide cuando poner  la siguiente figura
  414. % al lado, o  en otra linea. Es  posible forzar a que se  ponga en una
  415. % linea nueva si se deja una linea en blanco en el .tex. Esto tiene la
  416. % repercusión  de que  no deberías  dejar lineas  en blanco  en ningún
  417. % momento dentro  del entorno flotante,  para evitar que se  "salte de
  418. % linea"  en las  figuras.  Si quieres  por  legilibidad dejar  alguna
  419. % linea, pon un comentario vacio.
  420. %
  421. % La separación  entre dos figuras/tablas  que se colocan en  la misma
  422. % fila puede ser demasiado pequeña. Para seprarlas un poco más, puedes
  423. % poner \qquad entre el cierre llaves de un \subfloat y el siguiente:
  424. %
  425. % [...]
  426. %    \subfloat[..][..]{ ... }
  427. %    \qquad
  428. %    \subfloat[..][..]{ ... }
  429. % [...]
  430. %
  431. % Por otro lado,  el \subfloat tiene dos "parámetros",  que se colocan
  432. % entre   corchetes    justo   después.   En    realidad   ambos   son
  433. % opcionales. Podríamos poner directamente:
  434. %
  435. % \subfloat{ <comandos para el subelemento> }
  436. %
  437. % pero en ese caso no se etiquetará con una letra.
  438. %
  439. % El texto que se pone entre los primeros corchetes se utiliza para el
  440. % índice de figuras. En teoría, se mostrará en dicho índice primero la
  441. % descripción global de la figura,  y luego la de cada subelemento. Si
  442. % no  quieres que  ocurra,  deja  en blanco  el  contenido del  primer
  443. % corchete. En la  práctica... yo he puesto una cadena  y no ha salido
  444. % en el índice.
  445. % El  segundo  corchete  recibe   el  texto  con  la  descripción  del
  446. % subelemento,   es  decir  lo   que  aparecerá   junto  a   la  letra
  447. % identificativa.  Si lo  dejas vacío  (pero poniendo  los corchetes),
  448. % saldrá la letra, sin texto.  Si ni siquieras pones los corchetes, no
  449. % saldrá tampoco la letra.
  450. %
  451. % Para referenciar  uno de los subelementos  basta con \ref{etiqueta},
  452. % siendo  la   etiqueta  una  definida  mediante   \label  DENTRO  del
  453. % \subfloat. La  forma de salir  será, por ejemplo, 2.3a  Si prefieres
  454. % que salga  2.3 (a) (o quieres poner  "en la imagen (a)  de la figura
  455. % 2.3...")  puedes  utilizar  \subref{etiquitaDeSubelemento}.  \subref
  456. % escribirá el (a).  Combinándolo con la etiqueta global  de la figura
  457. % (del  entorno flotante contenedor,  vamos) que  mostrará el  2.3 del
  458. % ejemplo, puedes hacer cosas como la anterior con facilidad.
  459. %
  460. % Se pueden hacer muchas más pijadas, pero esto debería ser suficiente
  461. % la mayor parte de las veces. Mira el manual oficial para más
  462. % información (ftp://tug.ctan.org/pub/tex-archive/macros/latex/contrib/subfig/subfig.pdf)
  463. %
  464. % Por cierto,  este paquete es la  evolución de subfigure,  pero no es
  465. % compatible con él (por eso decidieron cambiarle el nombre).
  466. \usepackage{subfig}
  467.  
  468. % El  paquete anterior  tiene un  problema  cuando se  utiliza en  los
  469. % subfloat entornos verbatim (eso incluye a los lstlistings), debido a
  470. % que  no  se  pueden  anidar  entornos verbatim  (bueno,  esa  es  la
  471. % explicación que  he encontrado,  aunque no tenía  ni idea de  que se
  472. % estuvieran anidando entornos verbatim :-) ).
  473.  
  474. % Para  arreglarlo, en la  documentación de  subfig dan  una solución,
  475. % creando un  nuevo entorno,  SubFloat, que está  en una caja  LaTeX o
  476. % algo  así, y que  consigue poder  meterlos. El  entorno se  define a
  477. % continuación  (cortar  y  pegar  de  la  documentación  del  paquete
  478. % subfig).
  479. %
  480. % Los dos parámetros que teníamos  antes para el \subfloat (caption, y
  481. % caption para el índice) ahora se pasan de forma distinta:
  482. %
  483. % \begin{SubFloat}[texto indice]{Texto figura\label{<etiqueta>}
  484. %    <contenido>
  485. % \end{SubFloat}
  486. %
  487. % Es decir, hay que poner la etiqueta directamente en el parámetro del
  488. % entorno.
  489. %
  490. % Para que el SubFloat funcione,  hay que hacer algo más, no obstante,
  491. % ya que el entorno verbatim  (y lstlisting) NO definen en su creación
  492. % lo que ocupan, y por lo tanto el \subfloat no es capaz de determinar
  493. % cómo colocar las  subfiguras, ya que no conoce  su tamaño. Para eso,
  494. % el entorno verbatim (o lstlisting)  hay que enmarcarlo dentro de una
  495. % minipage en la que sí definimos (a mano) el tamaño. Un ejemplo puede
  496. % ser:
  497. %
  498. % \begin{SubFloat}{\label{fig:ejercicios1a3:2}Ejercicio 2}%
  499. % \begin{minipage}{0.4\linewidth}%
  500. % \begin{lstlisting}[frame=tb]
  501. % public void f(int b) {
  502. %     int a;
  503. %     a = 3 + b;
  504. % }
  505. % \end{lstlisting}%
  506. % \end{minipage}
  507. % \end{SubFloat}
  508. %
  509. % De esta  forma, se  hace que  el código en  el lstlisting  ocupe dos
  510. % quintas  partes del ancho  de la  página.  Se  podría pensar  que es
  511. % posible  utilizar  el  "parámetro"  linewidth  del  lstlisting,  que
  512. % permite     también     indicar      el     ancho     del     código
  513. % (\begin{lstlisting}[frame=tb,linediwth=0.4\linewidth]; sin embargo,
  514. % eso  no es  posible ya  que ese  ancho es  utilizado por  el entorno
  515. % lstlisting para  dibujar el marco  y, si tiene activado  el "romper"
  516. % las líneas  automáticamente, para romperlas; si todas  las líneas de
  517. % código  son más  cortas que  ese  espacio, el  espacio efectivo  del
  518. % código será el ancho de la línea más ancha.
  519. %
  520. % Otra desagradable sorpresa surge  con los subfloat: existe un margen
  521. % a los  lados del área reservada  a la subfigura, para  que no queden
  522. % todas  pegadas.   Esto  está  bien,  porque así  no  tienes  tú  que
  523. % encargarte de  definir el espacio; simplemente  decides cuánto ocupa
  524. % de ancho cada  subfigura, y él se encarga de  colocarlo todo. Lo que
  525. % ocurre es que parece no tener  en cuenta que, cuando a la derecha de
  526. % un subfloat NO hay otro (porque es el último de la "línea"), _sigue_
  527. % poniendo  el espacio  en blanco  para  separar con  el siguiente  (e
  528. % inexistente) subfloat, lo  que hace que, en caso  de estar centrando
  529. % los elementos, no quede perfectamente centrado :(
  530.  
  531. \makeatletter
  532. \newbox\sf@box
  533. \newenvironment{SubFloat}[2][]%
  534. {\def\sf@one{#1}%
  535. \def\sf@two{#2}%
  536. \setbox\sf@box\hbox
  537. \bgroup}%
  538. { \egroup
  539. \ifx\@empty\sf@two\@empty\relax
  540. \def\sf@two{\@empty}
  541. \fi
  542. \ifx\@empty\sf@one\@empty\relax
  543. \subfloat[\sf@two]{\box\sf@box}%
  544. \else
  545. \subfloat[\sf@one][\sf@two]{\box\sf@box}%
  546. \fi}
  547. \makeatother
  548.  
  549.  
  550. % Para poder  incluir código  fuente resaltado fácilmente.   El tamaño
  551. % básico de la letra, pequeño.
  552. \usepackage{listings}
  553. \lstset{basicstyle=\small}
  554. \lstset{showstringspaces=false}
  555. \lstset{tabsize=3}
  556.  
  557. % Para poder utilizar el entorno tabularx, que sirve para hacer tablas
  558. % con  párrafos, sin tener  que indicar  el ancho  de cada  columna de
  559. % párrafo particular.
  560. \usepackage{tabularx}
  561.  
  562. % Definimos  los  nombres para  las  tablas  y  el índice  de  tablas,
  563. % sobreescribiendo los de babel, que los llama 'cuadros'.
  564. \addto\captionsspanish{%
  565.   \def\tablename{Tabla}%
  566.   \def\listtablename{\'Indice de Tablas}%
  567.   \def\contentsname{\'Indice}%
  568.   \def\chaptername{Cap\'itulo}%
  569. }
  570.  
  571. % Supuestamente,  codificación   que  tiene  'nativas'   las  palabras
  572. % acentuadas,  para poder  tener guionado  de palabras  con acentos...
  573. % aunque no estoy yo demasiado seguro...
  574. \usepackage[T1]{fontenc}
  575.  
  576. % Paquete para poder utilizar figuras EPS
  577. \usepackage{epsfig}
  578. %\usepackage[dvips]{graphicx}
  579. %http://www.cidse.itcr.ac.cr/revistamate/HERRAmInternet/Latex/wmlatexrevista/node19.html
  580.  
  581. % Hacemos que los  párrafos se separen con algo más  de espacio que lo
  582. % habitual.
  583. \setlength{\parskip}{0.2ex}
  584.  
  585. % El paquete  psboxit permite poner  una imagen Post Script  dentro de
  586. % una  caja de  TeX. La  imagen se  parametriza con  la posición  y el
  587. % tamaño de la caja TeX.
  588.  
  589. %\usepackage{psboxit}
  590.  
  591. % Permite hacer cálculos sencillos dentro  de un documento de LaTeX Lo
  592. % necesitamos en  la portada, para  poder ajustar los márgenes  con un
  593. % poco de independencia  del tamaño de la página.  Consulta el fichero
  594. % portada.tex para más información.
  595. \usepackage{calc}
  596.  
  597. % Define el entorno  longtable que sirve para crear  tablas que ocupan
  598. % más de una página.
  599.  
  600. %\usepackage{longtable}
  601.  
  602. % Cuando en una tabla tenemos lineas dobles de separación entre filas
  603. % y columnas, LaTeX las pinta de manera que dé la sensación de que
  604. % cada celda es un rectángulo:
  605. %          | |
  606. %  [celda] | | [celda]
  607. %          | |
  608. % ---------+ +---------
  609. %                       <- hueco entre lineas
  610. % ---------+ +---------
  611. %          | |
  612. %  [celda] | | [celda]
  613. %          | |
  614. %
  615. % Si queremos que las líneas se corten:
  616. %          | |
  617. %  [celda] | | [celda]
  618. %          | |
  619. % ---------+-+---------
  620. %          | |          <- hueco entre lineas
  621. % ---------+-+---------
  622. %          | |
  623. %  [celda] | | [celda]
  624. %          | |
  625. %
  626. % podemos utilizar el paquete hhline, que permite concretar en gran
  627. % medida cómo queremos que queden los cruces
  628. % (http://www.cs.wright.edu/~jslater/hhline.pdf)
  629. %
  630. % Otro uso interesante de hhline es como sustitutivo de \cline. \cline
  631. % (nativo de LaTeX) permite poner lineas de separación entre filas que
  632. % no englobe  a todas las  columnas. El problema  es que \cline  no se
  633. % lleva bien con celdas con  fondo de color, porque queda _debajo_ del
  634. % relleno y no se ve. \hhline sin embargo queda por encima, por lo que
  635. % puede utilizarse para pintar lineas sencillas sin preocuparnos de la
  636. % interacción  con las líneas  horizontales (quizá  también sencillas)
  637. % pero aprovechar  que sí van a  verse.  En concreto, en  una tabla de
  638. % cuatro columnas  \cline{1-3} es  similar a \hhline{----~}  (el guión
  639. % indica  que  queremos  línea para  esa  columna,  y  el ~  que  no).
  640. % \usepackage{hhline}
  641.  
  642.  
  643. % \usepackage[verbose]{geometry}
  644. % \geometry{a4paper}
  645. % % \geometry{twosideshift=0pt} % obsolete?
  646. % \geometry{top=4cm,bottom=4cm,left=3.5cm,right=3.5cm,headsep=1cm}
  647.  
  648. %Agregado x mi
  649. \usepackage[width=14cm, left=3.5cm, bottom=3.5cm]{geometry}
  650. % Esta llamada a este paquete INVIERTE los márgenes de manera que queda más márgen en el lado IZQUIERDO para páginas IMPARES
  651. % y en el lado DERECHO para las PARES.
  652.  
  653. %
  654. % Paquete para  poder ampliar las  opciones de las tablas,  para poder
  655. % tener párrafos  dentro de una celda  y que nos los  ajuste el propio
  656. % LaTeX.
  657. %
  658. %\usepackage{tabulary}
  659. % Otras opciones anteriores
  660. %\usepackage{tabularx}  % Este está incluído por arriba
  661. %\usepackage{array}
  662.  
  663. %\usepackage{slashbox}
  664. % Para poder poner líneas diagonales en una tabla:
  665. %
  666. % \ b|  
  667. %  \ |  ...
  668. % a \|
  669. % ---+----------
  670. %    |
  671. %    |
  672. %
  673. % En la casilla a dividir, \backslashbox{a}{b} & ...
  674. % Vamos... no queda muy bien... en algún sitio vi que para mejorar un
  675. % poco el aspecto se podía incluír pict2e también, aunque en cualquier
  676. % caso el resultado podía seguir siendo discutible.
  677.  
  678. %
  679. % Paquete para poder poner celdas de colores en una tabla
  680. %
  681. %\usepackage{colortbl}
  682. %\usepackage{color}
  683.  
  684.  
  685. % Paquete  que permite  cambiar  el formato  en  el que  se ponen  los
  686. % títulos   de   capítulos,  secciones,   etc.    También  define   el
  687. % comando \chaptertitlename, que  equivale a \chaptername ("Capítulo")
  688. % cuando se está  dentro de un capítulo o  a \apendixname ("Apéndice")
  689. % cuando se  está en un apéndice.  Eso se utiliza en  la definición de
  690. % las cabeceras.
  691. \usepackage{titlesec}
  692.  
  693.  
  694. % Cambio del título de los capítulos (sacado de
  695. % http://aristarco.dnsalias.org/book/export/html/13)
  696.  
  697. % \newcommand{\bigrule}{\titlerule[0.5mm]}
  698.  
  699. % \titleformat{\chapter}[display] % cambiamos el formato de los capítulos
  700. % {\bfseries\Huge} % por defecto se usarán caracteres de tamaño \Huge en negrita
  701. % {% contenido de la etiqueta
  702. %  \titlerule % línea horizontal
  703. %  \filleft % texto alineado a la derecha
  704. %  \Large\chaptertitlename\ % "Capítulo" o "Apéndice" en tamaño \Large en lugar de \Huge
  705. %  \Large\thechapter} % número de capítulo en tamaño \Large
  706. % {0mm} % espacio mínimo entre etiqueta y cuerpo
  707. % {\filleft} % texto del cuerpo alineado a la derecha
  708. % [\vspace{0.5mm} \bigrule \vspace{1cm}] % después del cuerpo, dejar espacio vertical y trazar línea horizontal gruesa
  709.  
  710.  
  711.  
  712. % Variable local para emacs, para  que encuentre el fichero maestro de
  713. % compilación y funcionen mejor algunas teclas rápidas de AucTeX
  714.  
  715. %%%
  716. %%% Local Variables:
  717. %%% mode: latex
  718. %%% TeX-master: "../Tesis.tex"
  719. %%% End: