0

ExtendScriptを使用して、InDesignドキュメントの脚注参照から太字と斜体のスタイルを削除しようとしています。脚注の参照とは、本文に表示される小さな数字を意味します。つまり、実際の脚注からではなく、その小さな数字から斜体と太字を取り除きたいのです。これが私の試みです。これは、私が望んでいることとは正反対です。つまり、実際の脚注を斜体と太字から削除しますが、本文の小さな数字は削除しません。

var document = app.activeDocument,
    stories = document.stories,
    nbStories = stories.length,
    story,
    footnotes,
    nbFootnotes,
    footnote,
    texts,
    nbTexts,
    text,
    i,
    j,
    k;
  for (i = 0; i < nbStories; i += 1) {
    story = stories[i];
    footnotes = story.footnotes;
    nbFootnotes = footnotes.length;
    for (j = 0; j < nbFootnotes; j += 1) {
      footnote = footnotes[j];
      texts = footnote.texts;
      nbTexts = texts.length;
      for (k = 0; k < nbTexts; k += 1) {
        text = texts[k];
        text.fontStyle = "Regular";
      }
    }
  }

どうすれば正反対を達成できますか?(つまり、本文の小さな数字だけを削除し、実際の脚注は削除しません)

4

1 に答える 1

0

すべてのストーリーをループするのではなく、スクリプトを介してGREPを使用することをお勧めします。脚注のマーカーパターンは「〜F」です。これは、下部のキャプションのテキストマーカーとthosの両方でキャッチされます。テキストの脚注マーカーを具体的にターゲットにするには、パターンを再調整して、任意の文字に続くマーカーのみを考慮することができます。それが完了すると、脚注マーカーの配列を取得し、その上にchangeGrepを呼び出して、マーカーを希望どおりに定型化することができます。このスニペットを機能させるには、「メモ」の文字スタイルを設定する必要があります。

function editFootNotesMarkers()

{var allresults、result、doc、characterStyle;

if ( !app.documents.length){ return; }
doc = app.activeDocument;

characterStyle = doc.characterStyles.itemByName ("note");
if ( !characterStyle.isValid){ return; }

app.findGrepPreferences.findWhat = "(?<=.)~F";
app.changeGrepPreferences.appliedCharacterStyle = characterStyle;

doc.changeGrep();

alert('done');

}

editFootNotesMarkers();

もちろん、これはスクリプトなしで実現できます;)

Loic

于 2012-06-14T21:56:17.107 に答える