Vínculos>>Tablas de contenido

Las tablas de contenido

Ahora que ya hemos visto lo que son los vínculos o enlaces internos vamos a ver una utilidad similar a algo que tal vez hayas utilizado a en un procesador de texto. Se trata de crear un índice paginado cuando tienes un documento muy extenso y pretendes facilitar el acceso a los diferentes apartados. 

En un documento HTML podemos hacer algo similar, aunque al no representarse sobre un medio paginado como el papel no podremos numerar las páginas, ya que la pantalla de cada monitor puede contener una cantidad diferente de información según su tamaño y resolución. En lugar de utilizar un número de página se creará un listado de enlaces activos para que al pulsar sobre ellos se pueda acudir a cada epígrafe.

En la práctica se trata de un caso especial de enlace interno que se creará y se de forma automática cuando lo solicitemos.

Panel para crear una Tabla de contenido con la cabeceras H1,H2,.. del documentoEl único requisito importante es que tengamos estructurado el texto para que la rutina de creación de tablas de contenido pueda ejecutarse. Para ello, lo más habitual es que tengamos etiquetadas los títulos de cada epígrafe con cabeceras h1, h2, etc. Una vez cumplida esta condición el procedimiento es tan sencillo como 

  1. Hacer clic en la posición del documento en la que deseamos crear la tabla de contenidos.
  2. Acudir a la opción de menú insertar tabla de contenidos... insertar 
  3. Modificar, en caso de que sea necesario, el tipo de cabecera que aparecerá en cada nivel del listado.
Si el etiquetado de los títulos no coincide, o no queremos que todos los niveles de cabecera aparezcan en la tabla de contenido podemos modificar las etiquetas correspondientes a cada nivel o dejarlas en blanco.

La caja referida a clase se reserva para cuando utilizamos CSS: podemos etiquetar varios fragmentos con un tipo de cabecera, pero puede ocurrir que no deseemos que salgan todos en la tabla de contenidos, por lo que podemos aplicarle una clase a aquellos que queremos mostrar. Así, por ejemplo, podríamos hacer que el nivel 3 se generara a partir de las cabeceras h3 a las que le hemos aplicado la clase titulillo pero que no se mostraran en la tabla de contenidos las h3 que no llevaran esa clase.

Por otra parte, como al desplegar las posibilidades para cada nivel encontramos también las etiquetas <p> y <div> podríamos combinarlas con una clase específica para ir creando la tabla de contenidos, aunque realmente es más trabajoso que utlizar las etiquetas de cabeceras h1...h6 con las que no necesitamos crear clases especiales.


El código que se genera tomando los parámetros por defecto es del siguiente tipo:

<ol id="mozToc">
<!--mozToc h1 1 h2 2 h3 3 h4 4 h5 5 h6 6-->
<li><a href="#mozTocId558864">Título de apartado principal</a>
    <ol>
      <li><a href="#mozTocId437177">Título de subapartado</a></li>
      <li><a href="#mozTocId5443">Título de subapartado </a></li>
      <li><a href="#mozTocId75336">Título de subapartado </a></li>
    </ol>
<li><a href="#mozTocId68364">Título de apartado principal</a>
</ol>

Como ves ha iniciado una lista numerada, la ha identificado, pone un comentario para indicar que tipo de cabecera ocupará cada nivel y, luego va insertando elementos de la lista y anidándolos según el tipo de cabecera que lleven para que se sitúen en el nivel que les corresponde.

Lógicamente este proceso va acompañado de la inserción delante de cada una de las cabeceras de un ancla con el nombre, generado aleatoriamente, que se utiliza en la tabla de contenidos. <a class="mozTocH2" name="mozTocId5443"></a>
Si te preguntas para qué sirve la opción  hacer la tabla de contenidos de solo lectura que aparece en el panel de creación ... coincides conmigo. Según la ayuda debería hacer que los textos de la tabla no fueran vínculos activos, pero un error del programa hace que no logre el efecto perseguido.
 
Actividad 51Vamos a utilizar el mismo texto que usamos para la práctica de enlaces internos pero, en este caso, lo tienes algo más preparado y falta la lista inicial que utilizamos para crear los enlacesl. Para utilizarla puedes abrir el artículo que ya conoces, guardarlo en la carpeta de prácticas  y empezar la modificación del mismo utilizando la opción de menú archivo abrir archivo.