0
567 次瀏覽

在專案中使用全大寫文字(ALL CAPITAL TEXT)對排版人員來說是大忌,原因有很多。他們可以在 InDesign 中直接使用樣式將文字設為全大寫。然而,在製作印刷草稿(Print Draft)或將文字上傳到 DBL 供 YouVersion 使用時,如果文字本身不是全大寫,就無法確保其顯示為全大寫。(如果樣式表中能有一個 AllCap 設定該有多好。)

因此,我想出了一個巧妙的計畫,利用 DBLChanges.txt 和 PrintDraftChanges.txt 檔案中未記錄在案的 RegEx Pal 大寫功能 ^^^,來將選定欄位中的小寫字母轉為大寫。

例如,我們的斯瓦希里語(Swahili)譯本希望銘文文字(以 \sc …\sc* 標記)顯示為全大寫,而不是小型大寫(Small Cap)。所以我認為可以在 PrintDraftChanges.txt 中使用以下程式碼,將 \sc 文字匯出為全大寫:

in '(?<=\\sc\s)[^\\]*?(?=\\)': '(\p{Ll})' > '^^^\1'

但結果是 Bwana 變成了 BWANA,卻變成了 B^^^w^^^a^^^n^^^a

顯然,Changes.txt 檔案的正則引擎並不支援這個在 RegEx Pal 中好用的未記錄功能。

如果大小寫轉換能成為 Changes.txt 檔案和 RegEx Pal 的正式記錄功能,那就太棒了。我真的很不希望在主出版檔案中保留全大寫文字,但如果我不這樣做,有時我會需要臨時生成全大寫文字。

  • 有什麼建議嗎? 您是否遇到過這個問題,又是如何決定處理的?
  • 還有其他人希望在 Paratext 的正則表達式中獲得大小寫轉換功能嗎?
  • 我應該將此提交為功能請求嗎?
機器翻譯自 English
Paratext (1.8k 點) 提出
已重新顯示 | 567 次瀏覽

4 個回答

0
最佳回答

如果有效,就不算笨辦法:

in '(?<=\\sc\s)[^\\]*?(?=\\)': 'a' > 'A'
in '(?<=\\sc\s)[^\\]*?(?=\\)': 'b' > 'B'
in '(?<=\\sc\s)[^\\]*?(?=\\)': 'c' > 'C'
in '(?<=\\sc\s)[^\\]*?(?=\\)': 'd' > 'D'
in '(?<=\\sc\s)[^\\]*?(?=\\)': 'e' > 'E'
in '(?<=\\sc\s)[^\\]*?(?=\\)': 'f' > 'F'
in '(?<=\\sc\s)[^\\]*?(?=\\)': 'g' > 'G'
in '(?<=\\sc\s)[^\\]*?(?=\\)': 'h' > 'H'
in '(?<=\\sc\s)[^\\]*?(?=\\)': 'i' > 'I'
in '(?<=\\sc\s)[^\\]*?(?=\\)': 'j' > 'J'
in '(?<=\\sc\s)[^\\]*?(?=\\)': 'k' > 'K'
in '(?<=\\sc\s)[^\\]*?(?=\\)': 'l' > 'L'
in '(?<=\\sc\s)[^\\]*?(?=\\)': 'm' > 'M'
in '(?<=\\sc\s)[^\\]*?(?=\\)': 'n' > 'N'
in '(?<=\\sc\s)[^\\]*?(?=\\)': 'o' > 'O'
in '(?<=\\sc\s)[^\\]*?(?=\\)': 'p' > 'P'
in '(?<=\\sc\s)[^\\]*?(?=\\)': 'q' > 'Q'
in '(?<=\\sc\s)[^\\]*?(?=\\)': 'r' > 'R'
in '(?<=\\sc\s)[^\\]*?(?=\\)': 's' > 'S'
in '(?<=\\sc\s)[^\\]*?(?=\\)': 't' > 'T'
in '(?<=\\sc\s)[^\\]*?(?=\\)': 'u' > 'U'
in '(?<=\\sc\s)[^\\]*?(?=\\)': 'v' > 'V'
in '(?<=\\sc\s)[^\\]*?(?=\\)': 'w' > 'W'
in '(?<=\\sc\s)[^\\]*?(?=\\)': 'x' > 'X'
in '(?<=\\sc\s)[^\\]*?(?=\\)': 'y' > 'Y'
in '(?<=\\sc\s)[^\\]*?(?=\\)': 'z' > 'Z'
機器翻譯自 English
(872 點) 提出

嗨,CrazyRocky 和 anon719148

您可以在檔案中儲存多個搜尋/取代規則,並在 RegExPal 中執行指向該檔案的
表達式。語法是使用
"–>",然後在搜尋框中指向包含取代規則的檔案名稱。
類似以下範例:

–>\Users\HastyDR\Desktop\smallcaps.txt

注意:如果路徑名稱包含任何空格,我認為它不會運作,
這就是為什麼我選擇將檔案放在桌面上。

在該檔案中,針對您語言中所有小寫到大寫的組合,
放置類似以下陳述式的內容。

(?<=\\sc\s[^\\]*?)a-->A
(?<=\\sc\s[^\\]*?)e-->E
(?<=\\sc\s[^\\]*?)i-->I

建立檔案後,執行 RegExPal,在搜尋框中輸入 -->filename
並作為取代執行。請注意,這種類型的取代會忽略
取代對話框中可能存在的任何文字。

請參閱下方 RegExPal 螢幕截圖中的範例。

此變更的運作方式是,它會在章節中的第一個匹配處停止,
並選取該章節的其餘部分。您會看到每個
取代變更都以粉紅色突出顯示。請注意,黃色突出顯示中的小寫
元音在粉紅色突出顯示中變成了大寫。

請注意,這會變更專案中的實際文字。透過
切換匹配和取代的大小寫來復原變更,以恢復
原始編碼。

D anon467281

Global Publishing Services
聖經排版訓練師 & 正規表達式「專家」
德州達拉斯

機器翻譯自 English

嗨,anon467281
我在另一個討論串中也有類似的疑問。[連結已移除] 幸好 anon719148 將我引導到這個連結。

我嘗試在 Devanagiri 文字中使用 RegExPal 技巧,但它沒有搜尋到文字。而羅馬文字運作良好

(?<=\xt\s[^\]?)यूह–>यूहन्‌ना
(?<=\xt\s[^\]
?)baba–>BABA

在上述兩個範例中,我在交叉引用中搜尋,RegExPal 只能找到第二個(即 baba),但找不到第一個(即 यूह - 這是 Devanagiri 文字)

你知道為什麼非羅馬文字不起作用嗎?

感謝建議……

機器翻譯自 English
0

這似乎完全沒有文件記錄。我們可以在哪裡獲得更多資訊?
(在這裡回覆,但這應該是一個獨立的主題。)

機器翻譯自 English
(872 點) 提出
0

我進行了一些測試,因為這似乎可能是一個有用的功能。但它對我來說似乎非常不穩定。然而,在我的測試中,有時使用 Unicode 字元編號似乎效果更好(使用 BabelPad 轉換),例如:

(?<=\xt\s[^\]?)\u092F\u0942\u0939–>यूहन्‌ना

但我從來無法讓 RegExPal 找到這兩行;它似乎只有在 “baba” 不存在時才會搜尋第一行。

機器翻譯自 English
(607 點) 提出
0

這裡是另一篇關於在 RegEx Pal 中使用清單的帖子。

機器翻譯自 English
(9.9k 點) 提出

相關問題

0
8 個回答 1.5k 次瀏覽
We have a user who has inserted a lot of \pn and some \nd inside of footnotes. We now know we need those to be ... the search to inside of a single footnote? Thank you, MSEAIT/LT
MSEAIT_LT 478 提出 已提問 8月 20, 2018
0
5 個回答 756 次瀏覽
It appears that for all projects that I have created in PT8 RegEx Pal displays text in the find and replace windows using ... What do I need to do to stop this from happening?
Kent Spielmann 1.8k 提出 已提問 2月 26, 2018
0
3 個回答 978 次瀏覽
[There is no Help topic for RegEx Pal, so I'll start this thread for myself or anyone else to add helpful ... History panic (post #3) Key terms for search: regular expression
wdavidhj 1.4k 提出 已提問 6月 5, 2019
0
8 個回答 1.5k 次瀏覽
Can someone answer definitively: What flavour of regex is used in RegEx Pal? Scope in my title is to encourage people ... used in this context. See next post for an example.
wdavidhj 1.4k 提出 已提問 7月 20, 2016
+1
5 個回答 912 次瀏覽
我希望在特定情況下將小寫字母改為大寫--例如,我希望將冒號後的所有小寫字母改為大寫 在 RegEx Pal 中,我找不到單一的規則來實現這一點,但有一個未記錄在案的功能,允許我建立一個簡單變更的列表來執行 (注意:確實有正則表達式可以做到 ... 可能還有其他一些事情不會完全按預期工作 如果您想嘗試此方法,我建議從一個非常簡單的列表開始,然後逐步添加內容
Phil_Leckrone 9.9k 提出 已提問 3月 2, 2022
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
Accept the one whose faith is weak, without quarreling over disputable matters.
Romans 14:1
3,047 個問題
6,007 個回答
5,672 則評論
2,027 位使用者