我正在使用 LibreOffice Writer 编写软件文档。我经常在此文档中引用类或函数名称。例如棋盘或者获取单元格。这些都用红色波浪线划线,我对此有点恼火。
是否有一个选项或附加组件可以让我打开,以便 LO 能够识别单词中间的大写字母,表明它是一个驼峰式表达方式,因此应该逐部分进行拼写检查,而不是一次性全部检查?
答案1
我认为不存在针对驼峰式单词拼写检查的选项或附加组件,但我可以提供以下解决方法。
这个想法是使用 Unicode(例如 UTF-8)对文档文件进行编码,并插入 零宽度连接符 在单词之间。这个奇怪的字符定义为:
零宽连接符 (ZWJ) 是一种非打印字符,用于计算机排版某些复杂文字,例如阿拉伯文或任何印度文。当将 ZWJ 放在两个原本不会连接的字符之间时,ZWJ 会使它们以连接形式打印。
该字符的代码点是 U+200D ZERO WIDTH JOINER (HTML
‍ ‍
)。
只需通过简单的正则表达式替换即可轻松插入该字符。也可以通过输入Ctrl+++ 200D 来插入。ShiftU
如果这个想法可行,每个单词都会被单独检查拼写,但两个单词将始终以附加形式打印,中间没有空格或换行符。但是,我不使用 LibreOffice Writer,无法测试这个想法。
fixer1234 编辑:我在 LO Writer v6.0 中测试了此方法,并确认它有效。此外,大写的驼峰式组成词在 LO 中不会被视为大写错误(大写会被忽略)。
有关此类字符的更多信息,请参阅文章
Unicode 之美:零宽度字符。
答案2
拼写和语法检查器旨在检测人们所犯的错误。驼峰式拼写法是一种故意犯的错误。没有正确的驼峰式拼写法单词词典,任何识别都必须通过模式进行。不幸的是,驼峰式拼写法模式正是英语语言检查器寻找的那种错误:多个单词之间缺少空格,句子中间有一个不是专有名词的大写单词。
没有办法区分故意的驼峰式拼写和检查器旨在捕获的错误类型。处理它的唯一方法是忽略具有该模式的任何内容,这意味着检查器将错过一些实际错误。LibreOffice 没有原生规定只忽略驼峰式拼写模式。他们有一个扩展库,但没有添加驼峰式大小写功能的选项。如果您不想看到波浪线,则需要禁用常规检查。
Word 2010 拼写检查器因 Camel Case 而卡住多年前有人在这里问过有关 Word 的问题。在线搜索也没有发现任何证据表明 Word 的情况已经改变。
这个问题在程序文档中尤其严重,因为在普通文档中,驼峰式拼写法很常见。一些有进取心的程序员已经找到了修改拼写检查器以处理驼峰式拼写法的方法。例如,在 Stack Overflow 上的这个答案中,使用 ispell/aspell 对驼峰式单词进行拼写检查有人想出了如何修改 Ispell 拼写检查器。如果您有一些编程技能,您可以复制它。
我知道有些软件开发环境,比如用于 JavaScript 的 WebStorm 和 Visual Studio Code,可能包含处理驼峰式命名法的规定,但这可能不是处理普通文档的好方法。
除了一些类似的参考资料外,我找不到任何现成的拼写检查器,至少可以让你在工作时禁用拼写检查,然后使用忽略驼峰式大小写的单独程序检查所有内容。这样就只能在工作时禁用检查,这样你就不会被波浪线打扰,然后检查整个文档,包括驼峰式大小写和所有内容。