답변:
글쎄, 다음과 같이 문서를 스크립팅하는 것이 더 쉬운 것 같습니다.
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
두 번 누르십시오이제 문서는 다음과 같아야합니다.
알 수 있듯이 자동 번호 매기기가 여전히 존재하며 원하는 경우 더 많은 헤더를 추가하고 필요한 경우 번호가 지정된 하위 헤더를 추가하여 쉽게 실험 할 수 있습니다. 자세한 내용은 다루지 않지만 여기에서는 헤더의 올바른 형식을 사용하여 중첩 된 번호 매기기 목록이있는 예제를 확인할 수 있습니다.
더 이상 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를 사용하여 Table of Contents 앱과 Numbered Headings 앱을 빠르게 비교했습니다. 물론 두 앱 모두 개선 된 경우이 정보는 날짜가 표시됩니다.