[排版格式]批量添加上标注解的方法


  经常会遇到需要给文字添加上标注解的情况,例如汉语拼音、注音、假名等等。下面简单说一下用正则做批量添加上标的姿势。

注解方式

1. 使用LaTeX的overset来做上标

  CSDN,有道云笔记的Markdown等支持LaTeX。可以使用\overset{注解}{正文}来做上标: a b \overset{b}{a} ab
但是这个方法对方块字似乎不太友好: 马 m a \overset{ma}{马} ma,更别说假名: 嗚 呼 あ あ \overset{ああ}{嗚呼} 。而有道云笔记甚至直接出错。
这里是出处

2. 使用HTML5的ruby来做上标

  代码如下:

<ruby>正文<rt>注解</rt></ruby>

  效果如下:正文注解
这里是出处

3. 使用Markdown的斜上标语法

  代码如下:

正文^注解^
正文~注解~

  效果如下:正文注解,正文注解
  注:该语法不支持嵌套。

4. 放弃

使用正文(注解)正文(注解),或者使用一种特殊的语法,以便于日后有条件时再做成上标。


批量注解转换

  有时候会拿到带有注解的文章,或者是写作时不方便添加注解。如:月色真美啊(我喜欢你),或者是一些歌词。我们要将其发表在其他支持上标的地方如CSDN大雾。这时可以使用正则替换。

1. 正文(注解)<ruby>正文<rt>注解</rt></ruby>

1.1 正文(注解)为 空白符+可见符+(+不含“)”的任意字符+)

# 查找表达式:
\s([^\s\(]+)[(\(]([^\))]*)[\))]
# 替换表达式:
<ruby>\1<rt>\2</rt></ruby>

  以上表达式支持匹配全角和半角括号。
  这个转换对原文要求比较严格,正文前必须要有空格。拿到这类注解格式的文章时,若要以这个表达式来做转换的话,必须人工检查每个注解,在正文前加空格。

  效果:

# 原文:
-月色真美(我喜欢你)啊,-你觉得(你喜欢我)-呢(吗)?
# 转换后:
<ruby>月色真美<rt>我喜欢你</rt></ruby>啊,<ruby>你觉得<rt>你喜欢我</rt></ruby><ruby>呢<rt>吗</rt></ruby>?
# 为凸显空格,原文的空格已替换成减号“-”。

月色真美我喜欢你啊,你觉得你喜欢我

  有时候的多数情况下正文只涉及一个字,下面这个表达式可以批量在所有可操作的括号前的一个字符前加空格。

# 查找表达式:
(.[(\(][^\))]*[\))])
# 替换表达式:
 \1
# 注意替换表达式前面有个空格。

1.2 正文(注解)为 单个字符+(+不含“)”的任意字符+)

# 查找表达式:
(.)[(\(]([^\))]*)[\))]
# 替换表达式:
<ruby>\1<rt>\2</rt></ruby>

  以上表达式支持匹配全角和半角括号。
  这个转换对原文要求比较严格,正文必须只由一个字组成。转换后还请多多检查转换结果。

  效果:

# 原文:
風(かぜ)薫(かお)る 羽織(はおり)を連(つ)れて出(て)かけて
# 转换后:
<ruby>風<rt>かぜ</rt></ruby><ruby>薫<rt>かお</rt></ruby>る 羽<ruby>織<rt>はおり</rt></ruby>を<ruby>連<rt>つ</rt></ruby>れて<ruby>出<rt>て</rt></ruby>かけて
# 转换后「羽織」二字注音转换错误,此时需要手动将「羽」字加入到ruby标签里。

かぜかおる 羽はおりれてかけて
  注:「羽織」二字注音转换错误。

2. (正文%注解)<ruby>正文<rt>注解</rt></ruby>

  (正文%注解)是我个人随手想的一个方便快捷的面向上标注解的语法。<ruby>正文<rt>注解</rt></ruby>这一长串的东西打起来真的费神,不如先打(正文%注解)出来,再替换成它,或者是别的注解语法也好。特别是在手机上打字不方便的场合。

# 查找表达式:
[\((]([^%]*)%([^\))]*)[\))]
# 替换表达式:
<ruby>\1<rt>\2</rt></ruby>

  效果:

# 原文:
(你%ní)(吼%hǒu)(啊%ā)
# 转换后:
<ruby>你<rt>ní</rt></ruby><ruby>吼<rt>hǒu</rt></ruby><ruby>啊<rt>ā</rt></ruby>

hǒuā

练习测试

  请将下面歌词中的汉字读音的注解做成上标。

落(お)ちていく砂時計(すなどけい)ばかり見(み)てるよ
さかさまにすればほら また始(はじ)まるよ
刻(きざ)んだだけ進(すす)む時間(じかん)に
いつか僕(ぼく)も入(はい)れるかな
きみだけが過(す)ぎ去(さ)った坂(さか)の途中(とちゅう)は
あたたかな日(ひ)だまりがいくつもできてた
僕(ぼく)ひとりがここで優(やさ)しい
温(あたた)かさを思(おも)い返(かえ)してる
きみだけを きみだけを
好(す)きでいたよ
風(かぜ)で目(め)が滲(にじ)んで
遠(とお)くなるよ
いつまでも 覚(おぼ)えてる
なにもかも変(か)わっても
ひとつだけ ひとつだけ
ありふれたものだけど
见(み)せてやる 辉(かがや)きに満(み)ちたそのひとつだけ
いつまでもいつまでも守(まも)っていく
肌寒(はださむ)い日(ひ)が続(つづ)く もう春(はる)なのに
目覚(めざ)まし時計(とけい)より早(はや)く起(お)きた朝(あさ)
三人分(さんにんぶん)の朝(あさ)ご飯(はん)を作(つく)るきみが
そこに立(た)っている
きみだけが きみだけが
そばにいないよ
昨日(きのう)まですぐそばで
僕(ぼく)を見(み)てたよ
きみだけを きみだけを
好(す)きでいたよ
きみだけど きみだけど
歌(うた)う唄(うた)だよ
僕(ぼく)たちの 僕(ぼく)たちの
刻(きざ)んだ時(とき)だよ
片方(かたほう)だけ続(つづ)くなんて
僕(ぼく)はいやだよ
いつまでも 覚(おぼ)えてる
この町(まち)が変(か)わっても
どれだけの悲(かな)しみと出会(であ)うことになっても
见(み)せてやる 本当(ほんとう)は強(つよ)かったときのこと
さあいくよ 歩(ある)き出(だ)す 坂(さか)の道(みち)を
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值