开发环境用户数据不会保留;如欲参与内测请联系站务

排版 FAQ - 我拿什么来拯救你的排版?

E

发表于:

连载中
其他题材
8,349
7
9,659
16
0
5
15
789
10

补救方法:黑魔法

第 6 章
7 年前
656

「也可以使用黑魔法,但是,黑魔法会强制使用更多的能量,到最后,还是一样。」

——Twilight Sparkle

本节专门写给纯文本用户。

本节会涉及到「正则表达式」。

本节所使用的工具是 Notepad++。官网在这里:Notepad++ Home

你可以使用其他纯文本编辑器,比如

  • VSCode

  • Sublime Text

  • Atom

分段补救

回顾一下前面,分段比较好的方式是打两次回车。

如果打了一次回车应该怎么补救?

在「正则表达式」中使用 \n 来表示换行,所以只要把所有 \n 换成 \n\n 就可以把一个回车,换成两个回车。

  • 查找内容:\n

  • 替换内容:\n\n

如图演示:


技术细节

然而,有些时候,由于各个系统所使用的默认换行符是不一样的。所以可能会有混乱。

换行符有三种:CR、LF、CRLF。

  • CR

    • 代表 Carriage Return 回车(你明白「回车」这个词是怎么来的了吧)

    • 转义序列:\r

    • Unicode 区位:U+000D

  • LF

    • 代表 Line Feed 换行

    • 转义序列:\n

    • Unicode 区位:U+000A

  • CRLF = CR (U+000D) + LF (U+000A)

目前

  • LF:大多为 UNIX 与 类 UNIX(Linux、Mac OS X)

  • CRLF:大多为非 UNIX(Windows)

  • CR:Mac OS 版本 9 及以前

参考资料:

省略号补救

依然使用正则表达式

  • 查找内容:\.{2,}|。{2,}

  • 替换内容:……


技术细节

\.{2,}|。{2,} 的意思是匹配

  • 英文句号连续两个及以上

  • 中文句号连续两个及以上

的字符串。

前后引号错误

前后引号错误也是很常见的。

简单的检查方法:

  • 分别搜索前引号 “ 与后引号 ” ,统计出现次数。

这里最好是蹄动检查,因为可能有复杂的引号嵌套情况。

空格补救

空格补救有些麻烦,不过已经有好多工具了。

仓库

语言

vinta/paranoid-auto-spacing

JavaScript

huei90/pangu.node

Node.js

huacnlee/auto-correct

Ruby

sparanoid/space-lover

PHP (WordPress)

nauxliu/auto-correct

PHP

jxlwqq/chinese-typesetting

PHP

hotoo/pangu.vim

Vim

sparanoid/grunt-auto-spacing

Node.js (Grunt)

hjiang/scripts/add-space-between-latin-and-cjk

Python

hustcc/hint

Python

studygolang/autocorrect

Go

使用上述工具需要一些命令行基础。

如果有谁想要详细了解的,我再写出来详细方法吧。


哦,我们可以再次把锅甩给居正。

居正,你看有个 WordPress 插件:sparanoid/space-lover

开头空两格的情结

如果你仍有开头空两格的情结,并且想要正确缩进。

目前最好的方法是,甩锅给居正。

或者,你可以尝试使用「正则表达式」,将每一段段首,增加两个全角空格(Em 空格)。

那么 Word 用户呢?

(未完成)