![查找德语 LaTeX 文件中所有包含连字符且不属于命令的单词](https://linux22.com/image/415400/%E6%9F%A5%E6%89%BE%E5%BE%B7%E8%AF%AD%20LaTeX%20%E6%96%87%E4%BB%B6%E4%B8%AD%E6%89%80%E6%9C%89%E5%8C%85%E5%90%AB%E8%BF%9E%E5%AD%97%E7%AC%A6%E4%B8%94%E4%B8%8D%E5%B1%9E%E4%BA%8E%E5%91%BD%E4%BB%A4%E7%9A%84%E5%8D%95%E8%AF%8D.png)
这次我不确定这在 SE TeX 上是否正确,或者是否应该转到它的姊妹网站之一。我想要做的是在我的文本中查找所有包含连字符的单词(这些单词以 排版)LaTeX
,然后手动检查该连字符是否正确(在德语中,只有当连字符不跨越词素边界或只有短词尾时才使用连字符,例如 -ig)。
在我的例子中,搜索是使用 RegExp 和搜索函数执行的Notepad++
,但理论上我也可以使用其他工具。我目前所做的是:
- 使用
Search in Files
函数 - 使用搜索
[^a-zäöüßA-ZÄÖÜẞ\\@]([a-zäöüßA-ZÄÖÜẞ]*?(ff|fi|fl|ffi|ffl|fj|ffj|Th)[a-zäöüßA-ZÄÖÜẞ]*?)[^a-zäöüßA-ZÄÖÜẞ]
在所有*.tex; *.bib
文件中查找case-sensitive
背后的想法是,我找到 OR 括号中的每个连字符,(ff|fi|fl|ffi|ffl|fj|ffj|Th)
这些连字符前面和后面只能有零到多个,但至少是*?
单词的合法德语字符[a-zäöüßA-ZÄÖÜẞ]
,并且前面还有除合法德语字符之外的任何其他字符[^a-zäöüßA-ZÄÖÜẞ
,同时也避免找到既不是反斜杠也不是 @ 的命令\\@]
。
- 您觉得这看起来正确吗,还是我忽略了什么?
- 您是否有其他想法来查找包含连字的单词,也许使用 TeX 本身及其机制(我可以挂钩到一个字符来找到 TeX 输出它的位置并对所有连字执行此操作吗?)