Modernizar la documentación
GTK-Doc ha existido durante mucho tiempo. En esta sección se listan las características nuevas junto con la versión desde la que están disponibles.

GTK-Doc 1.9
Al usar XML en lugar de SGML, actualmente se puede nombrar el documento maestro <paquete>-docs.xml.
Esta versión soporta SCAN_OPTIONS=--rebuild-sections en Makefile.am. Cuando está activada, el archivo <paquete>-sections.txt se genera automáticamente y se puede quitar del control de versiones. Esto sólo funciona en proyectos que tienen una estructura regular (ej. cada pareja .{c,h} creará una sección nueva). Si se organiza un proyecto parecido a esto, actualizar una sección mantenida manualmente puede ser tan sencillo como ejecutar meld <paquete>-decl-list.txt <paquete>-sections.txt.
La versión 1.18 ya introdujo la sintaxis para documentar secciones en las fuentes en lugar de tener que hacerlo en archivos separados bajo tmpl. Esta versión añade opciones para cambiar todo el módulo «doc» del documento para que no realice el paso de construcción de tmpl adicional, usando --flavour no-tmpl en configure.ac. Si no tiene una tmpl marcada en su sistema de control de versiones y todavía no ha cambiado, simplemente añada la opción al archivo configure.ac y lo tendrá hecho.

GTK-Doc 1.10
Esta versión soporta SCAN_OPTIONS=--rebuild-types en Makefile.am. Cuando está activado, el archivo <package>.types se genera automáticamente y se puede eliminar del control de versiones. Al usar esta característica es importante configurar la variable IGNORE_HFILES en el Makefile.am para el código que se construye de manera condicional.

GTK-Doc 1.16
Esta versión incluye una herramienta nueva llamada gtkdoc-check. Esta herramienta puede ejecutar una serie de comprobaciones de integridad de la documentación. Se activa añadiendo las siguientes líneas al final del archivo Makefile.am.

Activar gtkdoc-check

if ENABLE_GTK_DOC
TESTS_ENVIRONMENT = \
  DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
  SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
TESTS = $(GTKDOC_CHECK)
endif

GTK-Doc 1.20
La versión 1.18 incluía soporte para cierto marcado inicial. Usar el marcado en los comentarios del documento es menos intrusivo que escribir el XML del «docbook». Esta versión mejora mucho esto y añade muchos más estilos. La sección que explica la sintaxis de los comentarios contiene todos los detalles.

GTK-Doc 1.25
El makefile distribuído con esta versión genera un archivo de entidad en xml/gtkdocentities.ent, que contiene las entidades para, por ejemplo nombre_paquete y versión_paquete. Puede usar este ejemplo en el archivo main.xml para evitar escribir a mano el número de versión. A continuación se muestra un ejemplo que muestra cómo se incluye el archivo de entidad y cómo se usan las entidades. Las entidades también se pueden usar en todos los archivos generados, GTK-Doc usará la misma cabecera XML en los archivos XML generados.

Usar entidades generadas previamenet

<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
[
  <!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
  <!ENTITY % gtkdocentities SYSTEM "xml/gtkdocentities.ent">
  %gtkdocentities;
]>
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
  <bookinfo>
    <title>&package_name; Reference Manual</title>
    <releaseinfo>
      for &package_string;.
      The latest version of this documentation can be found on-line at
      <ulink role="online-location" url="http://[SERVER]/&package_name;/index.html">http://[SERVER]/&package_name;/</ulink>.
    </releaseinfo>
  </bookinfo>