caratula.sty 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. % **************************************************************************
  2. %
  3. % Package 'caratula', version 0.2 (para componer caratulas de TPs del DC).
  4. %
  5. % En caso de dudas, problemas o sugerencias sobre este package escribir a
  6. % Nico Rosner (nrosner arroba dc.uba.ar).
  7. %
  8. % **************************************************************************
  9. % ----- Informacion sobre el package para el sistema -----------------------
  10. \NeedsTeXFormat{LaTeX2e}
  11. \ProvidesPackage{caratula}[2003/4/13 v0.1 Para componer caratulas de TPs del DC]
  12. % ----- Imprimir un mensajito al procesar un .tex que use este package -----
  13. \typeout{Cargando package 'caratula' v0.2 (21/4/2003)}
  14. % ----- Algunas variables --------------------------------------------------
  15. \let\Materia\relax
  16. \let\Submateria\relax
  17. \let\Titulo\relax
  18. \let\Subtitulo\relax
  19. \let\Grupo\relax
  20. % ----- Comandos para que el usuario defina las variables ------------------
  21. \def\materia#1{\def\Materia{#1}}
  22. \def\submateria#1{\def\Submateria{#1}}
  23. \def\titulo#1{\def\Titulo{#1}}
  24. \def\subtitulo#1{\def\Subtitulo{#1}}
  25. \def\grupo#1{\def\Grupo{#1}}
  26. % ----- Token list para los integrantes ------------------------------------
  27. \newtoks\intlist\intlist={}
  28. % ----- Comando para que el usuario agregue integrantes
  29. \def\integrante#1#2#3{\intlist=\expandafter{\the\intlist
  30. \rule{0pt}{1.2em}#1&#2&\tt #3\\[0.2em]}}
  31. % ----- Macro para generar la tabla de integrantes -------------------------
  32. \def\tablaints{%
  33. \begin{tabular}{|l@{\hspace{4ex}}c@{\hspace{4ex}}l|}
  34. \hline
  35. \rule{0pt}{1.2em}Integrante & LU & Correo electr\'onico\\[0.2em]
  36. \hline
  37. \the\intlist
  38. \hline
  39. \end{tabular}}
  40. % ----- Macro para generar la parte reservada para la cátedra -------------------------
  41. \def\tablacatedra{%
  42. \\
  43. \textbf{Reservado para la c\'atedra}\par\bigskip
  44. \begin{tabular}{|c|c|c|}
  45. \hline
  46. \rule{0pt}{1.2em}Instancia & Docente & Nota\\[0.2em]
  47. \hline
  48. \rule{0pt}{1.2em}Primera entrega & \phantom{mmmmmmmmmmmmmmmmmm} & \phantom{mmmmmm} \\
  49. \hline
  50. \rule{0pt}{1.2em}Segunda entrega & & \\
  51. \hline
  52. \end{tabular}}
  53. % ----- Codigo para manejo de errores --------------------------------------
  54. \def\se{\let\ifsetuperror\iftrue}
  55. \def\ifsetuperror{%
  56. \let\ifsetuperror\iffalse
  57. \ifx\Materia\relax\se\errhelp={Te olvidaste de proveer una \materia{}.}\fi
  58. \ifx\Titulo\relax\se\errhelp={Te olvidaste de proveer un \titulo{}.}\fi
  59. \edef\mlist{\the\intlist}\ifx\mlist\empty\se%
  60. \errhelp={Tenes que proveer al menos un \integrante{nombre}{lu}{email}.}\fi
  61. \expandafter\ifsetuperror}
  62. % ----- Reemplazamos el comando \maketitle de LaTeX con el nuestro ---------
  63. \def\maketitle{%
  64. \ifsetuperror\errmessage{Faltan datos de la caratula! Ingresar 'h' para mas informacion.}\fi
  65. \thispagestyle{empty}
  66. \begin{center}
  67. \vspace*{\stretch{2}}
  68. {\LARGE\textbf{\Materia}}\\[1em]
  69. \ifx\Submateria\relax\else{\Large \Submateria}\\[0.5em]\fi
  70. \par\vspace{\stretch{1}}
  71. {\large Departamento de Computaci\'on}\\[0.5em]
  72. {\large Facultad de Ciencias Exactas y Naturales}\\[0.5em]
  73. {\large Universidad de Buenos Aires}
  74. \par\vspace{\stretch{3}}
  75. {\Large \textbf{\Titulo}}\\[0.8em]
  76. {\Large \Subtitulo}
  77. \par\vspace{\stretch{3}}
  78. \ifx\Grupo\relax\else\textbf{\Grupo}\par\bigskip\fi
  79. \tablaints
  80. \vspace*{\stretch{3}}
  81. \medskip
  82. \tablacatedra
  83. \end{center}
  84. \vspace*{\stretch{3}}
  85. \newpage
  86. }