Googleドキュメントの見出しに自動的に番号を付ける方法はありますか?
以前はCSSで可能でしたが、この機能は新しいGoogleドキュメントバージョンではサポートされなくなりました。
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/...
番号と更新された番号が得られます。
現在、カスタム番号スタイルを追加するために使用できる見出し番号というアドオンがあります。自動見出し番号を選択/定義、更新、削除できます。
定義済みのスタイル:
私が探していたのは、次のような見出しを得ることでした:
1
1.1
1.1.1
1.1.1.1
etc
見つからなかったので、独自のスクリプトを作成しました。http://productforums.google.com/forum/#!topic / docs / w4MXeqJaefUに投稿しました
お役に立てれば
/*
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を使用して、目次アプリと番号付き見出しアプリを簡単に比較しました。確かに、両方のアプリで状況が改善した場合、この情報は古くなっています: