如何在语雀文档中输入汉语拼音

简介:

在语雀中,无法使用HTML中的标签来输入拼音,但是语雀可以支持latex公式块的插入,所以我们可以借助公式中的latex来做汉语拼音的输入,具体来说也就是通过latex中的overset指令来输入上下并排的字符。

先举一个简单的例子

\overset{bái}{白}\overset{rì}{日}\overset{yī}{依}\overset{shān}{山}\overset{jìn}{尽},\overset{huáng}{黄}\overset{hé}{河}\overset{rù}{入}\overset{hǎi}{海}\overset{liú}{流}

然后可以让这个字稍微大一些,比如(通过small,large,huge等命令来控制字体)

\huge{\overset{bái}{白}\overset{rì}{日}\overset{yī}{依}\overset{shān}{山}\overset{jìn}{尽},\overset{huáng}{黄}\overset{hé}{河}\overset{rù}{入}\overset{hǎi}{海}\overset{liú}{流}}

也可以通过text来设置不使用斜体来渲染拼音:

\huge{\overset{\text{bái}}{白}\overset{\text{rì}}{日}\overset{\text{yī}}{依}\overset{\text{shān}}{山}\overset{\text{jìn}}{尽},\overset{\text{huáng}}{
黄}\overset{\text{hé}}{河}\overset{\text{rù}}{入}\overset{\text{hǎi}}{海}\overset{\text{liú}}{流}}

如果直接编辑latex公式的话,确实是一个非常痛苦的过程。我们使用pypinyin这个工具,把成句或者成段的文字在加上拼音之后翻译成latex公式的形式(注意,受限于pypinyin的词库,自动匹配的拼音并不一定是正确的,还需要自己进行手动调整):

import pypinyin

def get_latex_pinyin(s, text=False):
    chars = []
    for group in pypinyin.core.seg(s):
        p = pypinyin.lazy_pinyin(group, style=pypinyin.Style.TONE)
        if p[0] == group:
            chars.extend(list(zip(group, group)))
        else:
            chars.extend(list(zip(list(group), p)))
    def to_latex(char, pinyin):
        if char == pinyin:
            return char
        elif text:
            return '\overset{\\text{%s}}{%s}' % (pinyin, char)
        else:
            return '\overset{%s}{%s}' % (pinyin, char)
    return ''.join([to_latex(char, pinyin) for (char, pinyin) in chars])

使用get_latex_pinyin这个函数的方式如下:

>>> print(get_latex_pinyin('白日依山尽,黄河入海流', text=True))
\overset{\text{bái}}{白}\overset{\text{rì}}{日}\overset{\text{yī}}{依}\overset{\text{shān}}{山}\overset{\text{jǐn}}{尽},\overset{\text{huáng}}{
黄}\overset{\text{hé}}{河}\overset{\text{rù}}{入}\overset{\text{hǎi}}{海}\overset{\text{liú}}{流}
目录
相关文章
|
5月前
|
C#
技术经验分享:c#拆分字符串英文和数字(包括国外所以文字)
技术经验分享:c#拆分字符串英文和数字(包括国外所以文字)
35 0
技术经验分享:c#拆分字符串英文和数字(包括国外所以文字)
|
5月前
心得经验总结:汉字转拼音城市绑定
心得经验总结:汉字转拼音城市绑定
39 0
|
6月前
EndNote参考文献英文论文的中文作者拼音姓名显示名的第二个字的首写字母
EndNote参考文献英文论文的中文作者拼音姓名显示名的第二个字的首写字母
|
存储 Java 索引
1760字,让你拿捏 [‘列表‘]
1760字,让你拿捏 [‘列表‘]
百度脑图中如果想输入换行符本身(\n)怎么输入
百度脑图中如果想输入换行符本身(\n)怎么输入
百度脑图中如果想输入换行符本身(\n)怎么输入
|
API Python
Python为文档批量注音(生僻字歌词为例)
如果不认识,你可以查字典,找度娘,然后标注上拼音啊!即娱乐又长知识了。 当然有人觉得这样一个一个的查太麻烦,那是因为----你不会Python啊! 今天,我就来教教你们,怎么把文本内容自动标注拼音。
189 0
|
存储 Java
《Java编码指南:编写安全可靠程序的75条建议(英文版)》—— 第6章 使用字符串来交流 6.1 在字符串中存储文本
Java程序将字符串作为与用户交流的主要方式。字符串是一组文本,可以包含字母、数字、标点符号及其他字符。本章将介绍如何在Java程序中使用字符串。
1332 0
下一篇
无影云桌面