Ubuntu下TexStudio如何兼容中文

本文讲述了作者使用Manim制作动画时,对LaTeX及其子库如TexLive、LaTeX编译器及CTEX的深入学习过程,包括LaTeX的使用体验、CTEX在处理中文方面的必要性以及解决Ubuntu上安装和配置CTEX遇到的问题。
摘要由CSDN通过智能技术生成

怎么就想起来研究一下这个?

我使用大名鼎鼎的3Blue1Brown数学动画引擎Manim,制作了一个特别小的动画视频克里金插值。在视频中,绘制文字时,Manim使用到了texlive texlive-latex-extra这些库。专业的关系,当年的毕设没有使用过LaTex,不过它的大名还是听过的。于是视频做完后,好好研究了一下,发现这玩意书写文档,从美观度和数学公式录入的简易程度来说,简直是神器。

背景知识

LaTeX是什么不赘述了,他相当于是一个内核,往上有篇文章说的挺好,LaTeX之于Linux来说,他相当于Linux的内核,然后真正跟用户打交道的是Linux内核的各种发行版,比如Debian,Ubuntu红帽等等。LaTeX发型版也有很多,比如Tex Live,MacTex等等。但是这些发行版,一般都是命令行工具,而常见的具有语法高亮、自动补全、PDF预览等功能的应用软件,叫做LaTeX IED(软件开发中,叫做集成开发工具),是负责跟LaTeX发行版打交道的,常见的有TeXstudio,TeXworks等等。

我在我的工作电脑上,为了让Manim正常工作,是从深度软件仓库APT安装的texlive texlive-latex-extra,然后安装的TeXstudio,体验了LaTeX排版的强大和美观。但是我发现他是不支持渲染中文的,然后找了一圈,也不知道如何解决这个问题。最终,定位到要通过引入ctex包的形式,选择XeLaTex编译器或者LuaLaTex编译器才能正确处理中文。而ctex这个包,是要通过发行版的包管理器来实现的,从这里,我就开始犯难了。

如何安装CTEX

我从CTAN下载了ctex的包,仔细研读它的文档,文档上说最常见的 TEX 发行版(TEX Live 和 MiKTEX)已收录 CTEX 宏集及其依赖的宏包和宏集。如果本地安装 TEX Live 或 MiKTEX 不是完整版本,则可能需要通过这两个发行版提供的包管理器来安装宏包。实际上我当时还没理解TeXstudio和texlive的关系,总觉得从TeXstudio能安装ctex,或者,把我下载的ctex复制到某个目录,就能解决我的问题。然后文档上的那个tlmgr gui长这个样子:
在这里插入图片描述
点哪里哪里没反应,然后我运行tlmgr install ctex,它的提示是这样的:

(running on Debian, switching to user mode!)

tlmgr: Remote repository is newer than local (2018 < 2024)
Cross release updates are only supported with
  update-tlmgr-latest(.sh/.exe) --update
Please see https://tug.org/texlive/upgrade.html for details.

我想这玩意不对啊,版本不对啥都不让我安装吗?遂作罢。

不过,我弄清了texlive的包管理工具是tlmgr

在Ubuntu上折腾了一番

我的Ubuntu是个干净的系统,我重新看了下TeXstudio的安装文档和texlive的安装文档。我用在线安装的方式,安装了texlive2024,这个过程比较长,大概7个G的东西,成功后,他提示我将texlive执行目录,设置到PATH中。我没有照做,而是从TeXstudio的官网,按照添加PPA的方式,进行了安装。按照我的预期,TeXstudio编译时,由于找不到没有texlive,一定会报错。

然而,当一切就绪后,TeXstudio能正常编译,只是依然显示不了中文。而且当我运行tlmgr install ctex时,它提示我texlive没有进行初始化云云,那一堆提示,我忘记截图了

我自行安装的texlive都没有加进PATH中,它还能工作,这是怎么回事?我心里一阵嘀咕。然后默默的运行了apt depends texstudio,突然就悟了,我通过PPA安装的TeXstudio,它自己处理的依赖,把必须的一些依赖,例如 texlive-basetexlive-latex-basetexlive-latex-recommended等自己安装了,所以跟他打交道的不是我安装的那个,是通过apt自己安装的。

知道了问题根源,那就先卸载了通过添加PPA安装的TeXstudio,然后通过apt auto remove的方式,卸载了texlive相关的依赖。检查了一下我自己安装的texlive,确认了tlmgr等程序都在,然后将其目录加入PATH中,通过tlmgr命令,检查ctex是不是想网上资料描述的那样,已经集成:
在这里插入图片描述
OK,确认完毕,万事具备。然后从TeXstudio下载其APPImage格式的执行文件,运行程序,在Help > Check LaTeX Installation中检查编译器,看看所在目录,确实是我自行安装的目录。然后在编辑区引入包名,输入中文,编译,搞定:

在这里插入图片描述
想想这一套东西还是挺不人性化的,按理说,安装了新包,TeXstudio应该能在快速向导里体现才好,然而并没有。然后我验证我办公电脑上textlive是否带有ctex(想想也不会,因为apt安装的,应该属于前述那种不是完整版本的情况),它竟然也是因为版本的问题二不告诉我。

软件的行为真是千差万别,叹。
在这里插入图片描述

  • 13
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值