看此贴前,我们应该向“真疯”致敬,她校对的文本真的没得说。
一、关于多文本比对选优的方法
引言:这又是一个常见的问题,做过精校的可能会碰到过一本书自己校对了一次,但是看到别人也校对了,就会想知道别人都改了什么,自己哪里有遗漏的,都希望通过文本比对能使自己的文本更好一些,那么我就给大家介绍一款比较好用的比对软件,那就是beyond compare。
1.下载安装运行,打开软件选择文本比较(此软件部分电脑会报毒,没事,软件没问题,我一直在用,估计是注册表和病毒太像的缘故);
2.在软件左右两侧分别打开需要比对的两个文本;
3.开始运行比对,标题栏的上下箭头就是查找不同之处的按钮;
4.发现不同的地方时,人为判断保留哪个(光标点中软件界面下方的不同之处,文本界面也会跟着走,鼠标右键不同之处就可以有操作了,比如常见的“复制到左/右侧”,当然,手动改也没问题。需要注意的是保留哪个文本修改哪个文本不要弄错了,就这些,改完记得保存。
二、关于文本章节计数重排的处理方法。
这个又是一个网文中很常见的情况,比如说有两个“第一百五十二章”,缺少“第三百四十一章”等,很多人都想要重新正确的排布一下,手动当然很麻烦,几十章尚可以忍,几百上千的用手动就非常不现实了。我来告诉大家,非常简单,一个emeditor脚本搞定!
QUOTE:
这脚本非常简单,搜索条件是:
第.+章
即:行首两个全角空格+第任意章+一个半角空格
这几个条件必须满足,否则就会跳过,所以有这种问题的标题要预先处理。
正因为这脚本非常简单,所以适用于标题比较统一规范的文本,有兴趣的朋友可以试试。PS:
1.不上图了,关于emeditor的用法以及脚本的导入和运行详见我的精华教程帖(本版蓝色置顶);
2.打开文本,把光标放到文本开始,点击脚本即可自动运行;
3.因为本脚本默认形式是“章”,所以如果文本的章节不是章,是其他的,比如“回”“卷”“集”等,请修改脚本;
很容易,直接像处理txt一样打开jsee脚本修改;
4.因为匹配的章后面还有一个空格,即标准形式为“第XX章 XXXX”,但是有时可能会有某一章标题是没有内容的——“第XX章”,这事就需要自行添加半角空格,否则章节计数重排的时候就会跳过此章。很简单,手动查找一下这些章节就行了,应用正则表达式查找“章\r\n”即可(借助txtformat或emeditor,不会的看我的精华教程帖);
5.此脚本重排后,章节格式是阿拉伯数字形式的,如果想要转换成汉字形式的也很简单,使用太阳系脚本标题处理一下即可,详见我的精华帖;
6.因为此脚本排章节会从同排到尾,但是有的小说是每一卷都重新计数的,可能有的朋友不想改变这种形式。处理方法也不难的,切割一下文本,然后分别处理一下即可。
QUOTE:
附录:按卷切割文本通常有两种方法:
①.使用txt**按章节切割txt,然后用txt合成器按卷合成txt。
②.使用mybookmaker导入txt,做好后转入umd炮手,然后把每一卷都独立另存为一个umd,然后用txtformat把这几个umd分别转换成txt。
——个人习惯用第二种
PS:感谢易水西风提供的此脚本,比之前的那些更优更好!
三、关于文本中重复段落的查找和处理。
引言:文本中含有重复段落也是一个比较常见的现象,靠人力的话是个比较棘手的问题,不过,有一款软件可以很好地解决此问题!那就是DupliFind(相同文件搜索)。
下面简述一下使用方法,很简单:
1.打开软件(双击即可,绿色版,无需安装),选择要查找的文本,软件会自动处理并查找出重复段落,非常快捷,
2.在重复的段落前打勾,然后鼠标右键,勾选“所有选定的重复项”,然后复制,
3.打开文本(我用的是emeditor,这款软件完全可以替代自带的记事本,功能非常强大,这里不多说,详细的见我的精华教程帖,即使你不作书,我也极力推荐!),双击标题栏在新建一个文本框,作为临时剪贴板(这里就可以体现出emeditor的一处优点了,因为它新建文本可以先做完再决定是否保存成txt,相反的是自带记事本必须得先新建txt才能进入编辑。)右键粘贴(因为在DupliFind里复制的文本是整段的,直接贴到搜索栏里是贴不了的)。
4.再重新复制一小段文字来查找,此时就能看到重复的段落了,然后只需要去除重复即可。
PS:1.建议每处理一次都保存一下,然后重新启动DupliFind。因为每处的重复段落未必是只有一段,这样做可以降低干扰项。
2.这款软件不要更新,因为这款3.0汉化版用着最好(最新的6.0版本汉化不完全、又得安装、有的可能还会报错拦截)
三、浅谈正则表达式在文本排版及校对中的应用(txtformat+emeditor)
正则表达式”可以理解为高级搜索替换功能。传统搜索功能只能是输入什么就查找什么,必须完全匹配。“正则表达式”可以查找一些规定的格式,只要符合条件的内容都将被搜索到。简单来说就是模糊匹配。现在举一些例子,说明正则的用途。 比如我们在处理文本时,经常会遇到这些信息: 发布时间 2010-6-7 本章字数:3533,每个章节都有,而且每一章都不一样!要删除很麻烦,用以往的复制查找,全部替换,无法做到全部清除,怎么办?一句一句删除吗?那太慢了,现在,我们就可以使用正则来删除,一步就搞定。在查找框输入 发布时间\s*\d{4}.+本章字数.+\d+,然后全部替换,就能把所有的这类信息删除。想知道更多关于正则表达式的内容吗?向下看吧…… (PS:其实如果把正则表达式全部掌握不亚于学习一门新的计算机语言,但是仅仅是为做书的需要却是不必要了,掌握一些基础的就好,毕竟看书做书是娱乐,如果成为负担压迫就得不尝失了,其实笔者掌握的也不算太多,但不得不说学习一些常用的对于排版校对是非常方便的,而且还好我们有emeditor和txtformat这两款神器,有了他们,只需了解一些简单的足够了。)
1.正则表达式的组成
由多个元字符(也有叫通配符的)组成,按写者本身的需要组成一定的顺序。也可以和汉字及其他我们需要查找的符号连用,达到精确查找的目的。
例如:(以下为举例,不需要理解)
\d+
\s*\w+\d{3}.+$
电子书.+更新时间.+字数.+$
\$手打[url=]\\\[/url][小说\]
【元字符】:用来替代某一类型的字符。
2.元字符
以下为排版常用元字符的含义:(元字符为半角格式)
元字符代码 | 元字符含义 | . 句号的半角形式 | 能替代除了换行符以外的任意字符(做书常用) | \w w为小写 | 能替代字母、数字、下划线及汉字(因匹配包含太多,所以做书不需使用) | \W W为大写 | 与\w互补,即\w+\W=全部字符(不包括换行符),\W能替代除了字母、数字、下划线、汉字及换行符以外的字符(因匹配包含太多,所以做书不需使用) | \s s为小写 | 能替代任意的空白符(文字小说中一般为半角及全角空格)(因空格可以直接用空格本身匹配,所以做书这个不常用) | \S S为大写 | 与\s互补,能替代除了空白符、换行符以外的任意字符(做书不用) | \d d为小写 | 能替代数字(很常用,重点掌握) | \D D为大写 | 与\d互补,替代除数字、换行符以外的任意字符(做书不用) | \t t为小写 | 制表符,也就是我们键盘上的Tab键,相当于输入一个大空格,长度等于8个半角空格(因大部分小说文本无制表符,且制表符可以直接常规查找,所以做书不需使用) | \n 换行符 | EM中为每行行末的蓝色“↓”(很常用,重点掌握) | ^ | 对应位置为一行的开始(较常用) | $ | 对应位置为一行的末端(很常用)
|
下面配合例子说明用法:
这里有个地方需要注意一下,中文的标点符号及其他特殊符号只能由.来替代。
我的电话是:123456789
用正则匹配就是:
\w\w\w\w\w(5个汉字).(冒号)\d\d\d\d\d\d\d\d\d(9个数字)
好长一串……这里就需要用到正则的另外一类元字符——重复
3.重复
元字符代码 | 元字符含义 | * | 重复零次或更多次,意思就是可有可无,无数量限制(很常用) | + | 重复一次或更多次,意思就是一定有,最少有一个(很常用) | ? | 重复零次或一次,意思就是可有可无,有的话最多只能有一个(不常用) | {n}(n为自然数……) | 重复指定的n次,就是说有且只有n个(很常用) | {n,}(同上,且n后为半角逗号) | 重复n次或更多次,就是说最少n个,大于等于n(很常用) | {n,m} | 重复n到m次,就是说做少n个,最多m个(很常用) |
配合前面那个例子说明用法:
我的电话是:123456789
这句话用重复就可以写为:
\w{5}.\d{9}
查找被引号包围的句子,“不敢当,耿照见过代掌门。”表示为:
“.*”
“”与原文对应,.对应除了换行以外的所有字符,包括中文标点符号。*重复任意次,.*指的就是任意个字符。
查找章节及其后四字的章节名称,第十章 勾心斗角。表示为:
第.*章 \w{4}
在不确定章节与名称之间有没有空格的情况下,可以写为:
第.*章\s*\w{4}
查找文中的1000以内的数字:
\d{1,3}(这里就比较有趣了,如果是1,4就是10000以内的数,如果是2,5就是10到100000之间的数)
那如果我们要查找的内容包含元字符本身呢?
比如:
我的电话是:159********
写成这样\w{5}.\d{3}*{8}肯定是错误的,表达式将运行出错。因为*在这正则里是重复的作用,{3}与*都是重复,连用
两个是冲突的,那如何表达*本身呢?这里就需要一个新规则——字符转义
4.字符转义
因为我们在正则表达式里已经给“*”“[]”“\”这些符号下了定义,使用它们将达到特殊的效果,那如果我们要查找这些符号的本身呢?我们就需要使用字符转义了。
字符转义的作用就是把正则中用到的元字符所替代的含义取消,直接输出本身。使用方法为:
在你想输出的元字符前面加一个\,想查找文中的半角句号就是\.查找[]就是\[\],查找\本身就是\\。
那刚才那句 我的电话是:159******** 就可以写成:
\w{5}.\d{3}\*{8}
5.集合
接下来说下集合的使用,什么是集合?
例如“[1234567890]”就代表任意数字,意思就是只要满足[]中的任意一个,也可以写成[0-9],搜索文章中的他她它,写为[他她它]。
集合也有互补模式,格式为[^],比如[59]是查找数字5或9,[^59]就是查找除了数字5和9及换行符以外的任意字符。
如果要查找第X章XXXX,章数与章名之间没有空格,如果表示成第.*章\w{4},就有可能出错,比如:XXX天下第一。XXX毫无章法乱七八糟的,XXXXXX,红字部分也符合表达式要求。这里我们就需要用到集合来精确匹配。第[一二三四五六七八九十两百零〇]{1,5}章\w{4},这样第和章之间只有中文数字可以匹配。
另外还有一种形式与集合类似,但比集合的使用更为灵活,叫分枝条件。我把它理解为或,是并列的关系。
分枝条件所使用的元字符为 | 一条竖线,使用方法为:
他|它|她,效果与[他它她]一样,都是搜索他它她三个中的任意一个。把他理解为他或它或她就好懂了。
分枝条件的其他用法将在后面配合其他功能一起讲解。
6.分组
分组也很简单,但是要解释起来还很麻烦。
打个比方吧:
我们要查找一个叠词“嘭嘭”,那我们就可以写成这样:嘭+或者嘭{2};那如果我们要查找这样的呢?
欢迎欢迎,正则写为欢迎+,肯定是错误的,它只匹配欢迎迎迎这样的。这时候我们就要给欢迎加上个小括号,也就是分组。(欢迎)+或(欢迎){2},这样就对了。
分组配合分枝条件使用,妙用无穷~下面就说下用法。
“的”后面跟名词,“地”后面跟动词,“得”后面跟形容词。这是基本常识,但是现在的网络文学很不注重这些。那一些精校文本就要改正这些错误。怎么实现呢?
高兴的说,认真的写,兴奋的叫。这些的字的用法都是错的,搜索它们的正则就是(高兴|认真|兴奋)的[说写叫]。
前面部分不能写成[高兴认真兴奋],写成这样,它的搜索范围只是单字,只对应这样的情况,比如:高的叫某某某,矮的叫某某某的红字部分。后面部分因为都是单字,所以没有这种顾虑。但是如果我们要查找的目标多了一个“端正的坐着”呢?
表达式就要改为:(高兴|认真|兴奋)的(说|写|叫|坐着)。
接下来说另外一个与分组有密切关系的用法——后向引用。
7.后向引用
前面只提到如何搜索,但是如果我们要将搜索到的内容进行修改就会出现一些问题。
比如我们想要把第X章 XXXX,中间的那个半角空格替换为全角,其他地方保留不变,怎么办?
搜索第[一二三四五六七八九十两百零〇]{1,5}章 (半角空格).+替换为第[一二三四五六七八九十两百零〇]{1,5}章 (全角空格).+吗?肯定是错误的。
因为正则只在搜索框中起作用,替换框是你写什么就替换成什么。
这里就需要使用分组的引伸用法——后向引用。
搜索的正则改为:(第[一二三四五六七八九十两百零〇]{1,5}章) (.+)替换为\1 \2。
将除了半角空格以外的部分分成2组,这个括号的作用就是将括号中的内容命名。以每个括号的左括号为准,从左往右,第一个遇到的括号为1,第二个为2,依此类推。
这里的\1就是第一个括号中的内容,\2就是第二个括号中的内容,\0则表示整个正则表达式本身。
再举一个例子:
文本排版的时候,经常需要消除错误的分段。
通常情况下,如果一个段落是以汉字结尾,同时下一个段落又是以汉字开头,那么这个段落应该就是分段错误。
在EmEditor中,匹配单个汉字是用的是“[\x{4e00}-\x{9fa5}]”。因此,消除错误分段的方法就是:
1.用txtformat格式整理,去除段首空格;
2.在emeditor的“查找”中填入“([\x{4e00}-\x{9fa5}])\n([\x{4e00}-\x{9fa5}])”,在“替换为”中填入“\1\2”(注意都不包括引号),然后点击“替换全部”就可以了。
3.用txtformat格式整理,恢复段首缩进。
关于正则表达式的基础就说这些,下面开始实际的应用,
四、文本排版中的引号匹配和缺失错用问题的解决方法。
引言:文本中的引号匹配缺失问题一直是排版中的一大难题,即使是一字一句的校对,也很容易忽略掉遗缺失或不匹配的引号:
1.因为有时句子往往很长,很容易遗漏后引号;
2.因为成对使用的符号在键盘上仅仅只有引号是用一个按键输入的—— 一个按键代表了(“”‘’)四种;
一.常见的引号匹配错误:
1.漏掉一半:冒号后漏掉前引号或末尾漏掉后引号等;
2.用反了:冒号后面接的是后引号或者句尾接前引号等;
3.单双引号使用错误:正常的语法是双引号中再次引用则需要换成单引号,单引号中再再次引用就又需要换成双引号。总而言之就是单双交替出现。很多小说都是只有双引号,这个是要改正的;
4.繁体版引号:如(『』「」)请用txtformat或者emeditor分别替换成左右引号(“”)
二.特殊情况:
1.网络小说习惯用法:
例:
QUOTE: 杨老太爷干咳了两声道:“幼娘啊,你年纪尚小,独立支撑这个门户不易,你现在是我们杨家的人了,咱杨家在本地也算是个大族,总不成让你一个人辛苦渡日,叫旁人取笑咱们。
我跟族里几个老人商议,想把你这四亩山田交给你泉儿耕种,由泉儿家负责你的一日三餐,你一个妇**家,说起来算是他的弟妇,田地给他耕种,你也求个衣食地忧,也还说得过去,你看可好?”
——即一个人说的话如果分段就首段前方加上左引号,末段后面加上右引号,中间部分没有引号。
2.实体出版书习惯用法:
例:
QUOTE: 续道:“要是咱们的大木排在海中沉了,或是飘得无影无踪,那也罢了,一切休提。但若真的能回中土,我跟你说,世上人心险恶,谁都不要相信。除了父母之外,谁都会存着害你的心思。就可惜年轻时没人跟我说这番话。唉,便是说了,当时我也不会相信。
“我在十岁那一年,因意外机缘,拜在一个武功极高之人的门下学艺。我师父见我资质不差,对我青眼有加,将他的绝艺倾囊以授。我师徒情若父子,五弟,当时我对我师父的敬爱仰慕,大概跟你对尊师没差分毫。我在二十三岁那年离开师门,远赴西域,结交了一群大有来历的朋友,蒙他们瞧得起我,当我兄弟相待。五妹,令尊白眉鹰王,就在那时跟我结交的。后来我娶妻生子,一家人融融泄泄,过得极是快活。
“在我二十八岁那年上,我师父到我家来盘桓数日,我自是高兴得了不得,全家竭诚款待,我师父空闲下来,又指点我的功夫。哪知这位武林中的成名高手,竟是人面兽心,在七月十五日那日酒后,忽对我妻施行强暴……”
——即一个人说的话如果分段就每一段前方都加上左引号,表示引用,除最后一段以外其他的段落都不加右引号,表示的是引用未完,只有最后一段有右引号,表示引用结束。个人很喜欢实体书的这种引号使用规则。
3.分段错误造成的引号匹配问题:
例:
QUOTE: 许泰急急走回案前俯看地图,疑道:“他们向黄河
逃窜,莫非要渡河南下?”
——很显然,第二段其实是直接接第一段的,只是中间错误换行了,导致了引号匹配错误,非本部分第一种情况,此时就需要改正了。其实此种错误说是硬回车问题也可以。 三.引号匹配错误的查找和修正:
QUOTE:通过emeditor的引号匹配脚本查找:
1.下载软件解压后运行绿化工具并完成安装;
2.导入“宏”脚本:宏,选择,导入jsee格式的脚本。
| 处理方法:
把“宏”切换到“检测引号匹配”,点击运行,逐一查找并修改。
|
——通过此脚本查找会发现所有的引号匹配错误问题。不过对于本帖所说的第二部分前两种非错误的地方也会查找出来。这样检查的时候很麻烦。那么我们不妨用(*“)或(”*)补齐,这样软件就会认为你已经修复了此处。待全部做完后再把(*“)和(”*)替换为空。这样就方便很多了。 |