2023年9月20日 LaTeX在公式中不用\text直接显示中文

前言

由于在MarkDown中的公式可以直接显示中文,例如:
行内公式 行内公式 行内公式
行间公式 行间公式 行间公式
LaTeX \rm\LaTeX LATEX中在公式中添加中文要用\text{}等命令,不然中文不显示,所以考虑是否有方法能直接在 LaTeX \rm\LaTeX LATEX的公式中直接添加中文。

过程

经过一下午和晚上不断询问文心一言、查找资料、查看文档,用了大概6小时左右,终于基本解决了。
感谢文心一言:https://yiyan.baidu.com/

完整代码

可以在Tex Live(其他的Tex环境没试过)的安装目录中找到...\texlive\2023\texmf-dist\tex\latex\mylatex这样的路径,在其中添加mylatex.sty(可能需要管理员权限)。

mylatex.sty文件内容:

\ProvidesPackage{mylatex}[2023-9-20 mylatex]
\RequirePackage{minted}
\RequirePackage{expl3}
\RequirePackage{environ}
\ExplSyntaxOn
\NewEnviron{zhongwen}{
    \str_set:NV \temp {\BODY}
    \regex_replace_all:nnN{[^\x00-\xff]+}{\\textit\{\0\}}{\temp}
    % 应该可以使用\ifwindows和\iflinux来判断临时文件目录从而把临时文件放到临时文件目录里的
    \immediate\openout0=\jobname.zhongwen
    \immediate\write0{\temp}
    \immediate\closeout0
    \input{\jobname.zhongwen}
    \DeleteFile{\jobname.zhongwen}
}
\ExplSyntaxOff

之后需要执行(可能需要管理员权限)

texhash

来刷新 LaTeX \rm\LaTeX LATEX的文件索引。

如果使用了VSCode的HyperSnips for Math插件,可以在latex.hsnips中添加如下代码:

snippet zwzm "Chinese proof" A
\begin{proof}
\ExplSyntaxOn
\begin{zhongwen}
	$$
	$1
	$$
\end{zhongwen}
\ExplSyntaxOff
\end{proof}

endsnippet

snippet zwdh "Chinese single line" A
\ExplSyntaxOn
\begin{zhongwen}
	$$1$
\end{zhongwen}
\ExplSyntaxOff

endsnippet

在编写 LaTeX \rm\LaTeX LATEX文件时,可以通过

\usepackage{mylatex}

导入自定义的宏包,通过zwzmzwdh来使用自定义的代码片段。
此时在公式中使用中文不用\text{}就可以正常显示了。

参考网址

https://yiyan.baidu.com/

https://zhuanlan.zhihu.com/p/144087254

https://www.jianshu.com/p/6dfd27b7bd90

https://blog.csdn.net/weixin_41413177/article/details/90515587

https://mirrors.tuna.tsinghua.edu.cn/CTAN/macros/latex/contrib/l3kernel/expl3.pdf

https://mirrors.tuna.tsinghua.edu.cn/CTAN/macros/latex/contrib/l3kernel/interface3.pdf

https://mirrors.tuna.tsinghua.edu.cn/CTAN/macros/latex/contrib/minted/minted.pdf

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值