0

ExtendScript를 사용하여 InDesign 문서에서 각주 참조에서 굵은 기울임 꼴 스타일을 제거하려고합니다. 각주 참조로, 나는 본문에 나타나는 작은 숫자를 의미한다. 즉, 실제 각주가 아닌 작은 숫자에서 이탤릭체와 대담을 제거하고 싶습니다. 여기 내 시도입니다. 그것은 내가 원하는 것과 정반대의 역할을합니다. 즉, 기울임 꼴과 담대함에서 실제 각주를 떼어 내고, 본문에서 작은 숫자는 제거하지 않습니다.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"; 
     } 
    } 
    } 

정확히 어떻게 반대로 할 수 있습니까? (즉, 주 텍스트의 작은 숫자 만 제거하고 실제 각주는 제거하지 마십시오)

답변

0

모든 이야기를 반복하지 않고 스크립팅을 통해 GREP을 사용하는 것이 좋습니다. 각주 표식 패턴은 "~ F"입니다. 이렇게하면 아래쪽 캡션의 텍스트 마커와 thos를 모두 잡을 수 있습니다. 텍스트 각주 표식을 구체적으로 타겟팅하려면 문자를 따르는 표식 만 고려하면됩니다. 일단 마쳤 으면 각주 표식을 배열로 가져 와서 changeGrep을 호출하여 원하는 마커를 얻을 수 있습니다. 이 스 니펫을 작동 시키려면 "노트"문자 스타일을 설정해야합니다.

function editFootNotesMarkers() 

{ VAR의 allresults, 그 결과, 의사, 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();

스크립팅없이 달성 할 수 물론

)

루이

+0

내가 직접 새 문자 스타일을 지정하는 대신 어떤 기울임 꼴 또는 굵은 스타일을 제거 할 수 있을까요? 아마 – Shawn

+0

. changeGrepPreferences 객체의 fontStyle 속성을 참조하십시오. 그런 다음 전체 글꼴 이름 (예 : arial italic)을 전달할 수 있습니다. –