例如,在文件裡的人名都使用底線來標示,這時如果在人名之中有個註腳,就會變成這樣:
僖D宗人名的底線被切開了,而我們希望它的底線能夠連在一起,於是我們另設了一個字元樣式叫做 footnote-anchor-underline,設定它是有底線的,並在底線選項裡將寬度設為 0.6點,偏移量設為 8.2點,這樣可以讓註標的底線向下偏移,與人名的底線對齊。
這個做法在 InDesign 裡手動操作成功了,然後需要使用 Script 來自動處理,用下面的程式碼來找出所有註標:
app.findGrepPreferences.findWhat = "(?<=.)~F";
matches = doc.findGrep();
使用 GREP 來找東西,方法可以參考 InDesign Help 的 Search using GREP expressions。表示式裡所用的語法可以參考:Metacharacters for searching。其中的 ~F 表示要搜尋的是 Footnote Reference Marker,也就是註標。但是這會連註腳裡的註標也一起找到,而我們只要內文裡的註標,所以找到的東西前面要有個任意字元,於是在表示式裡用了 Positive Lookbehind:(?<= )。設定好要找的條件之後,使用 Document 物件的 findGrep 找出符合的東西。現在 matches 是找到文件裡所有註標 (內文裡的),它是一個由 Text 物件組成的矩陣,我們要把最後一個新加上的註標 matches[matches.length-1] 套用新的字元樣式:
var c_style = doc.characterStyles.item('footnote-anchor-underline');
matches[matches.length-1].applyCharacterStyle(c_style);
大功告成!InDesign Script 參考資料:Adobe InDesign CS6 (8.0) Object Model,裡面有一個 Class Index,可以很方便找到所需的物件說明。