0

Я пытаюсь удалить жирный и курсивный стиль из ссылок сноски в документе InDesign, используя ExtendScript. По ссылкам сноски я имею в виду небольшое число, которое появляется в основном тексте. То есть, я хочу выделить курсив и смелость из этого небольшого числа, а не из фактической сноски. Вот моя попытка. Это точно противоположно тому, что я хочу, что означает, что он удаляет фактическую сноску с ее курсивом и смелостью, но не разделяет небольшое число в основном тексте.Как удалить курсив и полужирный стиль из всех ссылок сносок в документе InDesign с помощью ExtendScript?

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». Это поймает как в текстовых маркерах, так и в нижней надписи. Чтобы специально настроить маркеры текстовых примечаний, вы можете переопределить шаблон, чтобы рассматривать маркеры, которые следуют за любым символом. После этого вы получите массив маркеров сносок, на которые вы можете вызвать changeGrep, чтобы ваши маркеры стилизовали по вашему желанию. Вы должны установить стиль символа «note», чтобы получить этот фрагмент.

function editFootNotesMarkers() 

{ вар 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

Возможно. См. Свойство fontStyle для объекта changeGrepPreferences. Затем вы можете передать полное имя шрифта (то есть: arial курсив). –

 Смежные вопросы

  • Нет связанных вопросов^_^