태그 보관물: google-apps-script

google-apps-script

Google 문서에서 헤더 번호를받을 수 있습니까? 있습니까? 이전에는 CSS에서 가능했지만이

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. 새 문서 만들기
  2. 제목 1 적용 ( ⌘⌥1)
  3. 번호 매기기 목록 적용 ( ⌘⇧7)
  4. “First”를 입력 하고Return
  5. 제목 1 ( ⌘⌥1)을 적용 하고 “Second”를 입력 한 다음Return
  6. 제목 1 ( ⌘⌥1)을 적용 하고 “Third”를 입력 한 다음Return

이 시점에서 다음과 같은 것이 있어야합니다.

  1. 첫 번째 헤더 끝에 커서를 놓습니다.
  2. Return두 번 누르십시오
  3. “Hello World!”를 입력하십시오 .
  4. 나머지 머리글에 대해서도 절차를 반복하십시오.

이제 문서는 다음과 같아야합니다.

알 수 있듯이 자동 번호 매기기가 여전히 존재하며 원하는 경우 더 많은 헤더를 추가하고 필요한 경우 번호가 지정된 하위 헤더를 추가하여 쉽게 실험 할 수 있습니다. 자세한 내용은 다루지 않지만 여기에서는 헤더의 올바른 형식을 사용하여 중첩 된 번호 매기기 목록이있는 예제를 확인할 수 있습니다.


답변

더 이상 OP와 관련이 없을 수도 있지만 이제 애드온을 사용할 수 있습니다. 목차 애드온에는 제목의 번호 매기기 체계를 선택할 수있는 기능이 있으며 필요한 기능을 수행합니다.

1
1.1
2
2.1
2.1.1

나는 그것이 무언가에 도움이되기를 바랍니다.

받는 링크 애드온

면책 조항 : 이것은 Chrome에서만 작동하지만 적어도 작동합니다.

사용 방법 : 오른쪽에는 위젯이 있으며 상단에는 번호 매기기 구성표를 선택하고 일반적인 새로 고침 버튼으로 제목을 새로 고칠 수 있습니다.

따라서 편집을 마친 후에 번호 체계를 설정하고 제목을 업데이트하면 section/subsection/...숫자 가 정확하고 업데이트 됩니다.


답변

이제 사용자 정의 번호 매기기 스타일을 추가하는 데 사용할 수있는 제목 번호 라는 추가 기능 이 있습니다. 자동 제목 번호를 선택 / 정의, 업데이트 및 제거 할 수 있습니다.

미리 정의 된 스타일 :

  • 1.2.3 – 후행 점이없는 자릿수
  • 1.2.3. – 후행 점이있는 숫자
  • abc – 소문자
  • ABC – 대문자
  • i.ii.ii – 소문자 로마자
  • I.II.III – 대문자 로마
  • 1) a) i) – 스타일 변경 후 후행 괄호

몇 주 전에이 부가 기능을 출시했습니다. 내 홈페이지 또는 추가 기능 상점 에서 확인하십시오 .


답변

내가 찾고 있던 것은 다음과 같은 제목을 얻는 것입니다.

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 앱을 빠르게 비교했습니다. 물론 두 앱 모두 개선 된 경우이 정보는 날짜가 표시됩니다.

  1. 목차 앱 사용에 대한 온라인 도움말이 없습니다 (사용하지 않았거나 중단 된 경우). 도움말 버튼은 시험판 http : //lumapps-www.appspot 을 통해 판매를 시도하는 페이지를 가리 킵니다 . 도움말을 제공하는 대신 com / en / 제목 번호는 http://www.lorut.no/add-ons/heading-numbers-for-google-docs/faq/ 에서 FAQ를 제공합니다 .
  2. 목차 및 제목 번호 앱은 제목의 번호를 다시 매기는 측면에서 잘 작동하지 않습니다. 제목 번호를 사용하여 번호가 매겨진 제목을 만들고 목차를 사용하여 비슷한 제목을 적용한 후 제목에 두 세트의 숫자를 추가했습니다. 목차를 사용하여 제목을 먼저 적용한 다음 제목 번호를 적용하여 순서를 반대로 바꾸는 경우에도 마찬가지입니다.
  3. 목차에는 제목 번호와 제목 수가 다릅니다.
  4. 그러나 목차에 사이드 바가 있으면 여전히 편리합니다. 목차 사이드 바에서있는 그대로를 선택하고 새로 고침 단추를 클릭하여 목차를보고 탐색 할 수 있습니다.
  5. 제목 번호가 명확하게 작동합니다. 목차는 그렇지 않습니다. 지우기 작업은 위에서 설명한 상호 작용 문제를 해결 하지 하므로 수동으로 수정해야하기 때문에 상당히 고통 스럽습니다.
  6. 어느 앱도 삽입 / 목차 메뉴를 통해 문서에 삽입 된 목차를 업데이트하지 않습니다.