summaryrefslogtreecommitdiff
path: root/support/fancyhdrBoxed/MiniBloquiHeader.tex
blob: 551a27332987c0bc89faadfc79c0425ad60bb126 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
%*
% * Header.py   Implementa un mini lenguaje de bloques para crear
% * cabeceras con fancyhdr
% *
% * Copyright (C) Manuel Gutierrez Algaba, 2000
% *
% * This program is free software% you can redistribute it and/or modif
%y
% * it under the terms of the GNU General Public License as published b
%y
% * the Free Software Foundation% either version 2 of the License, or
% * (at your option) any later version.
% *
% * This program is distributed in the hope that it will be useful,
% * but WITHOUT ANY WARRANTY% without even the implied warranty of
% * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
% * GNU General Public License for more details.
% * 
%*/                 

\documentclass[10pt,a4paper]{article}
\begin{document}
\title{Documentacion de MiniBloquiHeader 1.0}
\author{ Manuel Gutierrez Algaba, irmina@ctv.es }
\date{ Enero 2000 }
\maketitle

\section{Copyright issues}
Header.py y este documentos son ambos GPL, es decir, puedes copiarlos
y reusarlos indefinidamente, basicamente. Por cierto, por cuestiones
de tiempo este documento esta en Espanyol, sin acentos y sin nada,
en cualquier caso explica a la perfeccion de que va MiniBloquiHeader.
Por cierto, la pagina ``gueb'' de este proyecto es:
\verb|www.ctv.es/USERS/irmina/MiniBloquiHeader.html|

\section{El problema}
El problema es que en Informatica se generan documentacion que suele
tener unas cabeceras de pagina muy ricas y complejas, del tipo:
\begin{verbatim}
-----------------------------------------------
|       | Nombre capitulo                      |
|       |                                      |
|Adornos|--------------------------------------| 
|       |  Nombre Seccion              | Fecha |  
|       |                              | Hora  |  
|----------------------------------------------
\end{verbatim}

Dado mi desconocimiento de TeX y las pocas ganas que tengo 
de bregar con TeXnicismos he encontrado que la solucion mas
simple pasa por usar fancyhdr y dibujar con Pstricks , insertando
alli donde convenga los letreros. Esto se traduce por ejemplo en:
\begin{figure}
\caption{Ejemplo de uso }
\label{fig1}
\begin{verbatim}
\documentclass[10pt]{article}
\usepackage{fancyhdr}
\usepackage{pstricks}
\usepackage{pst-node}
\begin{document}
\voffset=0cm
\headheight=1cm
\lhead{
\psline{-}(-3, 0) (-3, 3) (1, 3) (1, 0) (-3, 0) 
\rput(-2.16, 0.3) {\Asunto}
\psline{-}(1, 0) (1, 1.5) (13, 1.5) (13, 0) (1, 0) 
\psline{-}(1, 1.5) (1, 3.0) (13, 3.0) (13, 1.5) (1, 1.5) 
}
\rhead{}
\chead{}

\lfoot{}
\rfoot{}
\cfoot{}
\renewcommand{\footrulewidth}{0.4 pt}
\renewcommand{\headrulewidth}{0.0 pt}
\newcommand{\Asunto}{Asi manualmente. Capitulo 1}
....
...
\renewcommand{\Asunto}{Capitulo 2}

\end{document}
\end{verbatim}
\end{figure}
Efectivamente el macro \verb|\Asunto| es la prueba de que puedo
insertar en los cuadros y que puedo ir variando lo que inserto
en cada pagina. Lo ideal seria hacerlo de manera automatica
con un section mark o le que fuese, pero carezco del conocimiento
y del tiempo.
\subsection{Como dibujar los cuadros}
Ahora el problema queda reducido a encontrar una manera facil de
dibujar esos cuadros. Aqui entra en accion \verb|Header.py|.
Esta escrito en python (\verb|www.python.org|)
Esta miniherramienta hace lo que tiene que hacer dibujar cuadros 
y poner letreros. Para ver como funciona lo mejor es hacer pruebas.
Basicamente es un lenguaje formado por los siguientes comandos:

\begin{itemize}
\item{Bloque: Esto crea un bloque de tamanyo (y,x), generalmente
yo suelo crear un bloque principal y los demas son descritos 
en funcion de este, }
\item{lado: Indica que un bloque se ha anyadido a uno de los lados
del bloque en cuestion, c.lado(``inf'',''der'') devuelve un Bloque
del mismo tamanyo que c, pero situado en la esquina inferior derecha
de c.
}
\item{tamanyo\_y(o \_x): Estos varian la dimension del cuadrado
derivado. c.tamanyo\_x(0.3) devuelve un cuadrado cuya longitud 
es un tercio la de c }
\item{traslada: Desplaza al cuadrado y a todos sus derivados}
\item{escribe\_hacia: Escribe en cierto lugar del rectangulo,
siempre ``dentro'' de el, escribe\_hacia(0.5, 0.5, ``Alfa''),
escribe ``Alfa'' en el ``medio'' del rectangulo. }
\end{itemize}
El ejemplo de \ref{fig1} ha sido generado con la secuencia:
\begin{verbatim}
    b = Bloque(3,4)
    c= b.anyade(b.lado("inf","der").tamanyo_y(0.5).tamanyo_x(3))
    b.escribe_hacia(0.12, 0.1, "\\Asunto")
    d = b.anyade(c.lado("sup", "izq"))
    b.traslada_x(-3)
    b.genera_bloque()

\end{verbatim}
Como se puede ver, se generan tres rectangulos y un letrero ( que 
en este caso es un macro).

Es facil imaginar lo que se puede llegar a hacer de manera simple. 

\section{Translation issues}
If you want to you can translate this, I lack the time.
\end{document}