阡陌居

 找回密码
 立即注册
搜索
热搜: 新人报到
查看: 131|回复: 0

[软件] 【FixText】测测引号——引号应该怎么处理比较合理?

[复制链接]

用户组:儒士

      UID
1796
      积分
448
      回帖
95
      主题
14
      发书数
7
      威望
381
      铜币
10917
      贡献
0
      阅读权限
30
      注册时间
2025-3-1
      在线时间
74 小时
      最后登录
2025-5-10
发表于 2025-5-3 20:02 | 显示全部楼层 |阅读模式
本帖最后由 edennow 于 2025-5-4 08:57 编辑

中文单双引号的各种嵌套和配对混乱的问题在阅读没有经过校对的、质量较低的文本时,可以说是“俯拾皆是”。

个人再分享下之前写的脚本:https://www.1000qm.vip/forum.php?mod=viewthread&tid=2282,内含引号检查的相关命令,尝试解决大部分中文单双引号的配对和规范问题。



用法和之前的差不多,把你需要查引号的书籍放置到 books 文件夹中,然后执行 8.检查中文单双引号问题(1-图形界面方式,推荐).bat 这个命令就能调出这个界面。
需要本地安装 python(可以查看上面链接中的 python 安装方式,只要点两下鼠标就行)

如果没装 python,可以尝试用以前的 8.检查中文单双引号问题(2-命令行方式).bat (操作不便,极不推荐)进行查错。

每次在右边的文本编辑框中更改了内容后,需要记得点击右边那个“保存文件”的按钮进行保存(或者按 Alt+S 快捷键),
否则修改无法生效,改完之后可以随时使用 BC 检查修改结果。

底下的一排按钮是用来向 php 脚本发送对应的操作指令的,每次发送前可以读一下左边界面的操作提示,大概了解下每个值有什么用。

在部分情况下(尤其是碰到一些单双引号写反和双引号嵌套的经典错误),如果左边给出的修改建议是正确的,
可直接用鼠标点击或者直接按快捷键发送修改指令(输入 1 就行),会省事不少。

当然,你也可以根本不管左边的这些按钮的具体作用(弄这些按钮的初衷是自动处理一些错误,在很多情况下给出的修改建议不一定准确)
直接根据报错信息在右边的编辑框中手动修正文本。

(在右边的界面会高亮错误行,有时候可能会碰到在第一次跳转的光标附近找不到报错的高亮行,好像是因为没处理好 pyqt 的定位,自己上下滚动一下滚动条也能很快找到高亮的行)

改完之后保存文件,脚本会自动跳到下一个报错行,继续往下查错。

另外还有个“预测错误总数”的按钮,会从头扫描一遍当前文件,统计出总共还有多少处引号错误未改。
因为脚本无法处理三层及以上的引号嵌套情况,统一都会当成错误,这里的统计数量不一定准确,可能会统计得过多,不过基本也满足了获知大概引号错误数量的需求。



单双引号的用法举例

详细的规范条例什么的我就不贴了,这里提一下单双引号的几种常见用法,应该是争议不大的。

1. 正文中应优先使用双引号

比如一段话:

“屠龙刀”和“倚天剑”是两柄神兵,在江湖中名气很大。

在正文中没有其他对话之类的嵌套引号的情况下,应该首先使用双引号来表示引用和需要强调的内容。

但看不少网文里面,都是随心所欲地用单引号,比如上面的句子经常看到有人写:

‘屠龙刀’和‘倚天剑’是两柄神兵,在江湖中名气很大。

这种基本可视为单引号的不当用法,直接批量自动改为双引号即可(在下面会说明这个操作)

不过在有些书里作者会特意使用单引号来表示人物的心理活动或者作为特殊的标识之类的,例如:

她心里想着:‘啊啊啊啊啊啊啊。’
她念起了台词:‘啦啦啦啦啦啦啦啦。’


这种可以酌情把单引号改为对应的直角引号或者其他的【】〖〗[] 进行规避。
当然其实直接统一成双引号也是符合标点规范的,只是可能满足不了一些特殊的排版需求之类的。

2. 当引号中还需要使用引号时,外面一层用双引号,里面一层用单引号

这种多见于对话,例如:

谢逊说:“你要找的‘屠龙刀’在我手上。”

除此之外,很少能看到有需要特别用到单引号的地方。

如果引号再多一层嵌套,似乎规范用法应该是变成用单引号套下一层双引号,
再多一层,则又变成用双引号套下一层单引号,如此交替使用单双引号循环往复进行嵌套。

例如:

他讲了个故事:“从前有座庙,庙里有个老和尚讲故事:
‘从前有座庙,庙里有个老和尚讲故事:
“从前有座庙,庙里有个老和尚讲故事……”(最里层的双引号)(外一层的单引号)(最外层的双引号)


多层引号嵌套(三层或以上)情况比较复杂,用这个脚本来检测的话都会报错,暂时只能另请高明吧……
或者可以在脚本报错的时候输入 “x”(也就是点击上面的那个 x 按钮),强制跳过误报错误的行(当你确认高亮的那行是没有错误时),继续往下检测。
相信一般的书里很少会出现这样的内容。

3. 表示连续引用或对话内容时,建议前面的段落都只加前引号,最后一段才同时加完整的前后引号

例如:

“我是第一段话。
“我是第二段话。
“我是最后一段话。”


网文中常见写成:

“我是第一段话。
我是第二段话。
我是最后一段话。”


这种只有第一行和最后一行有前后引号的写法,不严格要求其实也不算错,尤其是一些诗文、歌词引用的地方,例如:

“床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。”


这样写看上去比写成:

“床前明月光,
“疑是地上霜。
“举头望明月,
“低头思故乡。”


好像更有整体性。

据个人观察,大部分实体书中碰到诗文引用时也基本只保留首尾行前后引号,但碰到连续的对话行时,则中间的行统一只加前引号,不加后引号。

如果需要在这两种形式间进行统一切换,可以使用排版脚本(https://www.1000qm.vip/forum.php?mod=viewthread&tid=23383)的
索引-4: 规范部分常见【标点符号】来处理。

说到这里不得不提一下  txtFormat,里面的引号处理过于杂乱和粗暴,如上的两种正确写法,都会被它判为引号不匹配或者硬回车。
已经见过不止一两份使用 txtFormat 进行校对的文本,将作者本身这样的写法强行改成每一行都加完整的前后引号,以此来绕过 txtFormat 的报错了。

如下一段校对文本:

油腻中年皱眉道:“TMD!说起这个我就来气!凭什么我们成为预备玩家后,食欲没有减弱,而那些家伙却减弱了?”
“还有天赋,我们也没有。”
“连好不容易获得的动物能力,吃完人后也消失了。”
“MD!要不是吃人力量会变大,我都怀疑游戏在搞区别对待了!”
“可不是吗!”
范肖叹气道:“不给天赋也就算了,吃动物获得的基因能力,也给回收了,过分!话说哥们你获得过几种动物能力?我获得过五种,现在全没了。”


请问具体哪些段落是【油腻中年】说的,哪些段落是【范肖】说的?

去正版平台看原文,哦,原来作者写的是:

油腻中年皱眉道:“TMD!说起这个我就来气!凭什么我们成为预备玩家后,食欲没有减弱,而那些家伙却减弱了?
还有天赋,我们也没有。
连好不容易获得的动物能力,吃完人后也消失了。
MD!要不是吃人力量会变大,我都怀疑游戏在搞区别对待了!”

“可不是吗!”
范肖叹气道:“不给天赋也就算了,吃动物获得的基因能力,也给回收了,过分!话说哥们你获得过几种动物能力?我获得过五种,现在全没了。”


所以原文不是更能清楚地分辨角色各自说的话吗?
为什么要强行给每行加完整的前后引号,做这种徒增困惑度的处理呢?……

如果一定要用 txtFormat 来查引号,其实可以考虑加上:

油腻中年皱眉道:“TMD!说起这个我就来气!凭什么我们成为预备玩家后,食欲没有减弱,而那些家伙却减弱了?【特殊后引号】”
“还有天赋,我们也没有。【特殊后引号】”
“连好不容易获得的动物能力,吃完人后也消失了。【特殊后引号】”
“MD!要不是吃人力量会变大,我都怀疑游戏在搞区别对待了!【特殊后引号】”
“可不是吗!”
范肖叹气道:“不给天赋也就算了,吃动物获得的基因能力,也给回收了,过分!话说哥们你获得过几种动物能力?我获得过五种,现在全没了。”


这样的临时特殊标记,让 txtFormat 不对这种正确用法进行误报。
等查完之后再统一移除多余的【特殊后引号】”就好了(同理也可以按自己的需求,加上【特殊前引号】“的临时标记,最后再移除掉)。
否则一改就是成百上千处,很多省略了人称的对话直接变成只能靠猜才能分辨出不同角色说的内容,也无法快速恢复成作者的写法,看着就头大。

当然如果你用现在这个脚本来进行引号查错,上面的两种连续上下文的引号用法都会判定正确,肯定不用去做这种“流毒甚广”的迷惑操作就是了。



补充说明

1. 脚本支持批量修正“单引号独用”的写法,只要在开始查错时输入 1,就会将【双引号外的单引号】统一规范为双引号

但是当前脚本无法支持三层及以上嵌套引号的正确查错,而之前的逻辑是只要有引号报错,就不进行对单引号的统一修正,
因此在遇到多重引号的误报时,需要输入 f 来进行对单引号强制修正。
当然,前提也是已经确认过当前行确实没有引号错误。

针对含有多重引号嵌套内容的文件,最好是同一个文件查两遍引号:
第一次检查的时候,统一使用 x 来跳过引号错误的误报行,在此次检查过程中需要通过手动操作把原文件中的所有引号错误都修正好;
第二次检查的时候,统一使用 f 来跳过误报行,并强制修正单引号,此次检查过程中不要对文件进行任何额外的手动编辑修改(所有的引号错误应该在第一遍查错的时候就已处理完成,第二次检查的时候只要简单通过 f 来跳过就行),否则不知道是否会产生其他的问题。

修正完这种单引号后建议使用 BC 检查结果。

2. 有部分的错误,单纯使用引号脚本无法检测出来

错误一:单双引号完全写反,同时又有引号缺失。

例如:他取出了“圣火令”屠龙刀“和”倚天剑。

这里显然正确的写法应该是:他取出了“圣火令”“屠龙刀”和“倚天剑”。

但是出于未知原因变成了上面那种错误写法,如果只是机械地判断引号的匹配情况,是无法检测出实际有错的,txtFormat 也一样不行。

错误二:连续多行的引号确实缺少行尾的后引号。

比如:

他吟道:
“欲穷千里目,更上一层楼。
又吟道:
好风凭借力,送我上青云。”


这里应该修正为:

他吟道:
“欲穷千里目,更上一层楼。”
又吟道:
“好风凭借力,送我上青云。”


但是脚本会直接判断为和:

“床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。”


一样的连续上下文,导致无法查出错误。

针对这两种错误,可以到文件全局搜索.bathttps://www.1000qm.vip/forum.php?mod=viewthread&tid=70983),
使用【手动排查是否存在写反的单双引号】【手动排查行尾是否确实缺少后引号】的规则单独过一遍,应该也能比较快速地查出。

这样查完之后,应该说文本中能处理的明显引号错误基本都已经被消除了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|阡陌居

GMT+8, 2025-5-11 06:03 , Processed in 0.074746 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表