如何在语雀文档中输入汉语拼音
在语雀中,无法使用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ú}}{流}