Googleドキュメントの見出しに自動的に番号を付ける方法はありますか?
以前はCSSで可能でしたが、この機能は新しいGoogleドキュメントバージョンではサポートされなくなりました。
さて、次のようにドキュメントをスクリプト化することで、簡単に実行できるようになります。
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]);
}
}
}
実際には、HTML/CSSを編集しなくても可能です。空白のドキュメントの例を挙げますが、どのように機能するかを理解したら、既存のドキュメントでそれを実行できるようになります。また、キーボードショートカットをまだ使用していない場合は、使用を開始することをお勧めします(この例では、Macのショートカットを使用していますが、ご使用のOSに合った正しいショートカットを簡単に見つけることができます)。
⌘⌥1
)⌘⇧7
)Return
を押します⌘⌥1
)を適用し、 "Second"と入力してReturn
を押す⌘⌥1
)を適用し、 "Third"と入力してReturn
を押すその時点で、次のようなものが必要です。
Return
を2回押すこれで、ドキュメントは次のようになります。
お気づきかもしれませんが、自動番号付けはまだあり、必要に応じてヘッダーを追加したり、必要に応じて番号付きのサブヘッダーを追加したりして、簡単に実験できます。詳細は説明しませんが、ここでは、ヘッダーの正しい書式設定を使用して、ネストされた番号付きリストの例を確認できます。
これはもうOPには関係ないかもしれませんが、アドオンを使用する可能性があります。目次アドオンには、見出しの番号付けスキームを選択できる機能があり、必要な機能を実行します。
1
1.1
2
2.1
2.1.1
何かに役立つことを願っています。
アドオン へのリンク
免責事項:これはChromeでのみ動作する可能性がありますが、少なくとも動作します。
使用方法:右側にウィジェットがあり、その上部に番号付けスキームを選択し、通常の見出しを更新できます更新ボタン。
そのため、編集の終了後に番号付けスキームを設定し、見出しを更新するだけで、section/subsection/...
番号が正しく更新されます。
現在、Heading Numbersというアドオンがあり、これを使用してカスタムの番号付けスタイルを追加できます。自動見出し番号を選択/定義、更新、削除できます。
定義済みのスタイル:
数週間前にこのアドオンをリリースしました。 my homepage または add-on store で確認してください。
お役に立てれば
/*
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;
}
Firefoxを使用して、目次アプリと番号付き見出しアプリを簡単に比較しました。確かに、両方のアプリで改善が見られる場合、この情報は古くなっています:
私が探していたのは、次のような見出しを得ることでした:
1
1.1
1.1.1
1.1.1.1
etc
見つからなかったので、独自のスクリプトを作成し、ここに投稿しました http://productforums.google.com/forum/#!topic/docs/w4MXeqJaef