Tablas en {LaTeX, DocBookX}

Buenas noches compañeros,

Veréis, estaba pensando probar a hacer una plantilla para facturas "caseras" con LaTeX o DocBook para así obligarme a echarle un ojo a alguno de ellos. Actualmente la plantilla que tengo está hecha para oocalc y es muy simple, un par de cabeceras de datos personales y una tabla de n filas x 4 columnas y como he dicho me había planteado "portarlas" a LaTeX o DocBook.


Entonces mis dudas son:

- ¿Pensáis que mejor me quedo con oocalc y me dejo de tonterías?
- En caso contrario, ¿LaTeX o DocBook os parecen adecuados? Yo creo que si acaso, más LaTeX que DocBook pero no sé y por eso pregunto.
- ¿Alguna otra ocurrencia?

Supongo que hojas de cálculo, gnumeric... sería más adecuado pero mi idea era empezar por algún sitio con LaTeX o DocBook y de paso apañarme un interfaz con algo de C/C++, aunque luego sea más o menos usable o finalmente no lo use, intentarlo al menos a ver que sale.
De ahí mi insistencia en usar LaTeX o DocBook o algo similar, y si lo veis viable ya os comento alguna duda más que tengo.

En fin, que muchas gracias y saludos
Hombre, usando latex (no se si docbook) te puedes crear un script (o programa en C) que te cree una tabla segun unos datos de entrada y que al acabar de introducir los datos te devuelva el pdf. Listo para imprimir.
Si necesitas guardar las facturas, también será mucho mas económico guardar las fuentes de latex que un fichero de OOo. Y por supuesto tambien te lo podrias gestionar con el "programita" del que hablamos.


El programa seria algo así:
Desea:
1) Una nueva factura
2) Mostrar antigua
1
Nombre: Juanito construcciones
Concepto: Fachada
Precio: 1000€
Guardando factura.
Generando pdf...

Desde luego, al principio es mucho mas trabajo que la plantilla en OOo pero a la larga igual te es mas productivo ;).

Saludos
PD: Eso si, las tablas en latex tengo entendido que son engorrosas ^^U
Raharu escribió:PD: Eso si, las tablas en latex tengo entendido que son engorrosas ^^U


Tan fáciles como en HTML, aunque depende de si quieres multicolumnas y demás parafernalia. Algo así podría servir de ejemplo:

\textbf{Nombre:} El nombre.
\textbf{Asunto:} El asunto.

\begin{table}[!htb]
\centering
\begin{tabular}{|c|c|c|c}
\hline
x & y & z & t\\
\hline
x1 & y1 & z1 & t1\\
\hline
......
\end{tabular}
\caption{\label{tablafacturas}Tabla de facturas}
\end{table}
Vale gracias a los dos ;)

Veo que tenía razón en decantarme por LaTeX. Bueno pues llegado a este punto mi problema eran las tablas; gracias por ejemplo bpeople.
La verdad es que me he tirado unas cuantas horas buscando info sobre las tablas y no he conseguido lo que buscaba, es decir, lo básico de hacer las tablas, alinear los textos y demás sí, el problema me viene de no saber como hacer lo siguiente:

Meter la cabecera todo centrado y el resto, unas columnas alineadas a izquierda y otras a derecha. Veamos, con dos tablas separadas, una para cabecera y otra para el cuerpo, solucionado; pero si quiero hacer que tengan un ancho constante a la hora de ser impresas sólo he encontrado el "comando" p{ancho}, y este sólo alinea a izquierda, así que en principio no me valdría (todo es negociable :) ).

Entonces mi duda es: Puedo hacer lo que pretendo? Me he explicado? Veamos un poco de Ascii art:

______________________________________________________________________________________________
|    Cabecera1    |             Cabecera2           |        Cabecera3      |      Cabecera4     |
--------------------------------------------------------------------------------------------------
|         Cuerpo11| Cuerpo12                        |               Cuerpo13|            Cuerpo14|
|         Cuerpo21| Cuerpo22                        |               Cuerpo23|            Cuerpo24|
|         Cuerpo31| Cuerpo32                        |               Cuerpo33|            Cuerpo34|
|   ..........    |           ..........            |           ......      |       .......      |
--------------------------------------------------------------------------------------------------


Ahora sí, no?

Pues eso, gracias de nuevo y a ver si me podéis sacar de esta duda. Simplemente saber si alguien está seguro de si se puede o no y ya me apañaré yo.


PS: Kile viene bien para cacharrear con los botoncitos y ver las correspondencias de efecto <---> código LaTeX
Si lo que quieres conseguir son diferentes alineaciones dentro de lo que es una misma columna, una forma de hacerlo sería con \multicolumn.

Si no das con la tecla, vuelve a preguntar y te doy más pistas ;)

Saludos.
Vale perfecto, pues me pongo a ello a ver si me apaño.

Un saludo y gracias
Con DocBookX igual, con la ventaja de que puedes usar libxml2 para generar el fichero XML; quitándote así problemas. En el parser/generator.

Salu2.Ferdy
Perdona Ferdy, no te he entendido. ¿A qué problemas te refieres?

Gracias, un saludo
¿ Qué ocurre si quieres 'reparsear' una factura ? A eso me refiero

Salu2.Ferdy
Vale, imagino que quieres decir que de DocBookX puedo obtener el XML con libxml2 y partir de aquí con XSL obtener otros formatos sin mucho dolor de cabeza, no?

No creo que sea necesario en este caso, pero lo tendré en cuentas por si acaso y para futuros proyectos.

Un saludo

PS: Por cierto Ferdy, el otro día escuché las charlas que diste sobre el tema. Gracias por molestarte en grabar el audio y subirlo todo para compartirlo con los que no estabámos presentes. Están muy bien :)
No exactamente, veamos....

Imagina que quieres editar una factura. Si tienes el fichero LaTeX te puedes dar por jodido porque parsear ese formato es un trabajo de chinos. Sin embargo si lo tienes en DocBookX solo tienes que tirar de libxml2 para editar lo que necesitas y listo.

YO lo haría con DocBook porque no veo la ventaja de LaTeX aquí y si la desventaja. YMMV

Salu2.Ferdy
Bueno, yo sigo en ello.

Gracias Ferdy, ahora sí creo haberte entendido.
Más o menos ya tengo pensado como voy a manejar los ficheros y demás. Ahora tengo que leer mucho sobre xml e ir haciendo poco a poco porque no me va a resultar fácil.
Respecto a libxml2, le he echado un ojo a la web http://xmlsoft.org/ y así de primeras me ha echado para atrás, luego he vuelto y ya no me asusta, podré con ella :)

Cuando la cosa avance un poco ya miraré si me aclaro a hacer la presentación final de la factura que buscaba y comenté en otros posts del hilo ya que de momento no he encontrado la forma de hacerlo.

Creo que no me olvido de nada, ya volveré cuando tenga más dudas.

Saluidos y gracias de nuevo a todos.
Algo como esto te da la distribución que quieres. Puedes sustituir {|r|l|r|r|} por {@p{ }| ....} según gustos.

\begin{table}[!htb]
\centering
\begin{tabular}{|r|l|r|r|} \hline
\multicolumn{1}{|c|}{\bfseries Cabecera1}&
\multicolumn{1}{|c|}{\bfseries Cabecera2} &
\multicolumn{1}{|c|}{\bfseries Cabecera3} &
\multicolumn{1}{|c|}{\bfseries Cabecera4}\\ \hline
Esto es una prueba & Y esto también & Con esto otro & Y al final esto \\
Cuerpo21 & Cuerpo22 & Cuerpo23 & Cuerpo24 \\
Cuerpo31 & Cuerpo32 & Cuerpo33 & Cuerpo34 \\
Cuerpo41 & Cuerpo42 & Cuerpo43 & Cuerpo44 \\ \hline
\end{tabular}
\caption{\label{tab:etiqueta}Tabla.}
\end{table}


Por otro lado prueba lo que te ha dicho Ferdy por si te conviene más usar libxml2.

Saludos.
Gracias bpeople.

Eso sí que tenía más o menos claro como hacerlo, más que nada me refería a hacer algo similar con DocBookX (supongo que tampoco será muy complejo).

Aunque lo que creo que me puede costar más es el tema de las cabeceras (de la factura, no de la tabla) ya que al estar a la misma "altura", es decir ocupando más o menos las mismas líneas, una a la izquierda y la otra a la derecha no sé si será nada trivial.
Aunque con LaTeX y las "cajas sin borde", (creo que era mbox; como framebox pero sin frame) creo que sabría hacerlo. Imagino que con DooBook también se podrá pero aún no lo he encontrado.

De todos modos, si no lo encuentro o por algo no lo puedo hacer con DocBook, siempre puedo dejar la creación del pdf a LaTeX, una vez finalizada la factura. La cosa está en ir trasteando con ambos.

Yo seguiré a la búsqueda de información de ambos sistemas a ver qué sale al final.

Saludos y gracias
Up Up.

Soy un mandao, no os enfadeis conmigo. [+furioso]
Gracias Skrx ;)

Bueno pues yo sigo con mis investigaciones:

- Encontré como manejar las tablas: guía interesante
- Introducción a las DTD's
- Manejo básico de libxml

Dejo estos links por si a alguien le interesan. El primero referente a DocBook, no lo he ojeado mucho pero parece interesante y el tercero es muy simple pero me sirvió para entender de que iba libxml (andaba muy perdido) y a partir de aquí trabajar con esto .

Muy interesante esto de libxml, gracias por la recomendación Ferdy. Si hay algún link que sea de obligada lectura no dudes en apuntarlo.

De momento ya me he aclarado las ideas de lo que voy a hacer y he empezado con las DTD's que voy a usar.

Un saludo
15 respuestas