TeXstudio调用LuaLaTeX时Locale配置异常问题求助
解决Fedora 37下TeXstudio调用LuaLaTeX/Latexmk时的Locale配置异常问题
问题根源
TeXstudio启动时未继承终端的Locale环境变量,导致内部执行命令时LANG被设为Default.UTF-8,引发Perl(latexmk依赖)和LuaLaTeX的Locale初始化错误;而终端/TeXstudio集成终端能正常读取系统Locale,是因为它们直接继承了shell的环境变量。
解决方案
1. 强制TeXstudio启动时加载正确Locale
- 复制系统TeXstudio桌面文件到用户自定义目录:
cp /usr/share/applications/texstudio.desktop ~/.local/share/applications/ - 编辑该文件,修改
Exec行以注入Locale变量:Exec=env LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 texstudio %F - 保存后从系统菜单重新启动TeXstudio,测试编译。
2. 在TeXstudio内部配置环境变量
- 打开TeXstudio,依次进入
选项→配置TeXstudio→构建→ 点击默认编译器旁的环境按钮。 - 在弹出的窗口中添加以下环境变量:
LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 - 确认保存后重启TeXstudio,尝试编译LuaLaTeX文档。
3. 确保TeXLive路径在TeXstudio中正确识别
- 检查手动安装的TeXLive bin目录是否在系统PATH中(终端执行
echo $PATH,应包含类似/usr/local/texlive/2023/bin/x86_64-linux的路径)。 - 如果TeXstudio未自动识别,进入
配置TeXstudio→构建→命令,手动指定LuaLaTeX和latexmk的完整路径:- LuaLaTeX命令:
/usr/local/texlive/2023/bin/x86_64-linux/lualatex -synctex=1 -interaction=nonstopmode %.tex - Latexmk命令:
/usr/local/texlive/2023/bin/x86_64-linux/latexmk -lualatex -synctex=1 -interaction=nonstopmode %.tex
2023为你的TeXLive版本号) - LuaLaTeX命令:
验证方法
在TeXstudio中添加自定义命令:
- 进入
选项→配置TeXstudio→构建→用户命令,添加一条命令:locale - 执行该命令,检查输出是否显示
LANG=en_US.UTF-8且无无法设置LC_CTYPE类错误,再尝试编译LuaLaTeX文档。
内容的提问来源于stack exchange,提问作者Thargon
相关产品推荐
相关产品推荐

