¿Hay alguna manera de numerar automáticamente los encabezados en Google Docs?
Solía ser posible con CSS, pero esta característica ya no es compatible con la nueva versión de Google Docs.
¿Hay alguna manera de numerar automáticamente los encabezados en Google Docs?
Solía ser posible con CSS, pero esta característica ya no es compatible con la nueva versión de Google Docs.
Respuestas:
Bueno, parece más fácil hacerlo haciendo un script al documento de esta manera:
var pars = DocumentApp.getActiveDocument().getBody().getParagraphs();
var counterh1 = 0;
for(var i=0; i < pars.length; i++) {
var par = pars[i];
var hdg = par.getHeading();
if (hdg == DocumentApp.ParagraphHeading.HEADING1) {
counterh1++;
var content = par.getText();
var chunks = content.split('\t');
if(chunks.length > 1) {
par.setText(counterh1+'.\t'+chunks[1]);
} else {
par.setText(counterh1+'.\t'+chunks[0]);
}
}
}
En realidad es posible incluso sin editar el HTML / CSS. Le daré un ejemplo con un documento en blanco, pero una vez que descubra cómo funciona, podrá hacerlo en un documento ya existente. Además, si aún no está usando los atajos de teclado, le sugiero que comience a usarlos (en este ejemplo, estoy usando los atajos de Mac, pero puede encontrar fácilmente los correctos para su propio sistema operativo).
⌘⌥1
)⌘⇧7
)Return
⌘⌥1
), escriba "Segundo" y presioneReturn
⌘⌥1
), escriba "Tercero" y presioneReturn
En ese punto, debería tener algo parecido a esto:
Return
dos vecesAhora su documento debería verse así:
Como habrás notado, la numeración automática sigue ahí y puedes experimentar fácilmente agregando más encabezados como desees e incluso sub-encabezados numerados si es necesario. No voy a entrar en más detalles, pero aquí puede consultar un ejemplo con listas numeradas anidadas con el formato correcto para los encabezados:
Sé que esto podría no ser relevante para el OP, pero ahora existe la posibilidad de usar complementos. Hay una función en el complemento Tabla de contenido, donde puede seleccionar el esquema de numeración para el encabezado y hace lo necesario:
1
1.1
2
2.1
2.1.1
Espero que sea útil para algo.
Enlace al complemento
Descargo de responsabilidad: esto podría estar funcionando solo en Chrome, pero bueno, al menos funciona.
Cómo usar: hay un widget en el lado derecho y en la parte superior puede seleccionar su esquema de numeración y actualizar los encabezados con el botón de actualización habitual.
Tan solo configure el esquema de numeración y actualice el encabezado después de que haya terminado con la edición y tendrá section/subsection/...
números correctos y actualizados .
Ahora hay un complemento llamado Números de encabezado que puede usar para agregar cualquier estilo de numeración personalizado. Le permite elegir / definir, actualizar y eliminar números de encabezado automáticos.
Estilos predefinidos:
Lancé este complemento hace un par de semanas. Compruébalo en mi página de inicio o en la tienda de complementos .
Lo que estaba buscando era obtener los encabezados así:
1
1.1
1.1.1
1.1.1.1
etc
y no pude encontrar ninguno, así que hice mi propio script, lo publiqué aquí http://productforums.google.com/forum/#!topic/docs/w4MXeqJaefU
Espero que esto ayude
/*
Credits:
https://productforums.google.com/forum/#!topic/docs/w4MXeqJaefU
http://webapps.stackexchange.com/questions/23861/header-numbering-in-google-docs
Instructions to use:
In a Google Doc
Go to Tools > Script Editor
Select the option to create the script for Google Docs.
Replace the Content of Code.gs with the code below.
Save it and name the project as say addHeaderNumbering.
Click play icon for the function addHeaderNumbering (authorize it when asked).
*/
function addHeaderNumbering () {
var pars = DocumentApp.getActiveDocument().getBody().getParagraphs();
var counterHeader = [0, 0, 0, 0, 0, 0];
for(var i=0; i<pars.length; i++) {
var par = pars[i];
var hdg = par.getHeading();
if (hdg == DocumentApp.ParagraphHeading.HEADING1) {
_addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING1, par, 0, counterHeader);
} else if (hdg == DocumentApp.ParagraphHeading.HEADING2) {
_addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING2, par, 1, counterHeader);
} else if (hdg == DocumentApp.ParagraphHeading.HEADING3) {
_addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING3, par, 2, counterHeader);
} else if (hdg == DocumentApp.ParagraphHeading.HEADING4) {
_addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING4, par, 3, counterHeader);
} else if (hdg == DocumentApp.ParagraphHeading.HEADING5) {
_addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING5, par, 4, counterHeader);
} else if (hdg == DocumentApp.ParagraphHeading.HEADING6) {
_addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING6, par, 5, counterHeader);
}
}
}
function _addNumberingForHeaderType(headerType, paragraph, initIndex, counterHeader) {
counterHeader[initIndex] = counterHeader[initIndex] + 1;
var currCounter = _getCurrenNumbering(initIndex, counterHeader);
for(var ii = initIndex + 1; ii < counterHeader.length; ii++) {
counterHeader[ii] = 0;
}
var content = paragraph.getText();
var chunks = content.split('. ')
var result = 'ok'
if(chunks.length > 1) {
paragraph.setText(currCounter+'. '+chunks[1]);
} else {
paragraph.setText(currCounter+'. '+chunks[0]);
}
}
function _getCurrenNumbering(initIndex, counterHeader) {
var value = '';
for ( var i = 0; i <= initIndex; i++) {
if (value) {
value += '.';
}
value += counterHeader[i];
}
return value;
}
Hice una comparación rápida entre la aplicación Table of Contents y las aplicaciones Numbered Headings usando Firefox. Es cierto que esta información será obsoleta si las cosas mejoran para ambas aplicaciones: