13.01.2015 Views

Pensar en C++ (Volumen 1) - Grupo ARCO

Pensar en C++ (Volumen 1) - Grupo ARCO

Pensar en C++ (Volumen 1) - Grupo ARCO

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

✐<br />

✐<br />

✐<br />

“Volum<strong>en</strong>1” — 2012/1/12 — 13:52 — page XXIII — #23<br />

✐<br />

Producción<br />

ro XML que conti<strong>en</strong>e el texto de todo el libro, y es ese fichero resultante el que se<br />

procesa.<br />

Código fu<strong>en</strong>te<br />

También se utiliza XInclude para añadir <strong>en</strong> su lugar el cont<strong>en</strong>ido de los ficheros<br />

de código fu<strong>en</strong>te escritos <strong>en</strong> <strong>C++</strong>. De ese modo, el texto de los listados que aparec<strong>en</strong><br />

<strong>en</strong> el libro es idéntico a los ficheros <strong>C++</strong> que distribuye el autor. De ese modo, la<br />

edición es mucha más limpia y sobretodo se evitan posibles errores de transcripción<br />

de los listados.<br />

Utilizando un pequeño programa escrito <strong>en</strong> l<strong>en</strong>guaje Python 5 , se substituy<strong>en</strong> los<br />

nombres etiquetados de los ficheros por la s<strong>en</strong>t<strong>en</strong>cia XInclude correspondi<strong>en</strong>te:<br />

//: V1C02:Hello.cpp<br />

pasa a ser:<br />

<br />

C02/Hello.cpp<br />

<br />

<br />

<br />

<br />

Una ver realizada esta substitución, se utiliza de nuevo xsltproc para montar<br />

tanto el texto como los listados <strong>en</strong> un único fichero XML.<br />

Conv<strong>en</strong>ciones tipográficas<br />

Palabras reservadas: struct<br />

Código fu<strong>en</strong>te: printf("Hello world");<br />

Nombres de ficheros: fichero.cpp<br />

Aplicación o fichero binario: make<br />

Entrecomillado: «upcasting»<br />

Esquemas y diagramas<br />

Los dibujos y diagramas originales se han rehecho <strong>en</strong> formato .svg usando la<br />

herrami<strong>en</strong>ta inkscape 6 . A partir del fichero fu<strong>en</strong>te .svg se g<strong>en</strong>eran versiones <strong>en</strong><br />

formato .png para la versión HTML y .pdf para la versión PDF.<br />

G<strong>en</strong>eración de productos<br />

A partir del docum<strong>en</strong>to completo <strong>en</strong> formato DocBook se g<strong>en</strong>eran dos resultados<br />

distintos;<br />

5 ./utils/fix_includes.py<br />

6 http://inkscape.org/<br />

XXIII<br />

✐<br />

✐<br />

✐<br />

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!