我在 Ubuntu 18.04 上手动安装了 TeX Live(使用来自http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz)。现在我想使用LuaLaTeX编译类似这样的文档:
\documentclass{article}
\begin{document}
Hello world!
\end{document}
但是,如果我使用该文档执行 LuaLaTeX lualatex main.tex
,则不会生成 PDF 文件,但也不会出现错误:
This is LuaTeX, Version 1.10.0 (TeX Live 2019)
restricted system commands enabled.
(./main.tex
LaTeX2e <2019-10-01> patch level 3
生成的唯一文件是main.log
:
This is LuaTeX, Version 1.10.0 (TeX Live 2019) (format=lualatex 2020.1.9) 9 JAN 2020 11:55
restricted system commands enabled.
**main.tex
(./main.tex
LaTeX2e <2019-10-01> patch level 3
Lua module: luaotfload-main 2019-11-10 3.11 luaotfload entry point
Lua module: luaotfload-init 2019-11-10 3.11 luaotfload submodule / initialization
Lua module: lualibs 2019-11-06 2.69 ConTeXt Lua standard libraries.
Lua module: lualibs-extended 2019-11-06 2.69 ConTeXt Lua libraries -- extended collection.
Lua module: luaotfload-log 2019-11-10 3.11 luaotfload submodule / logging
使用 pdfLaTeX 或 XeLaTeX 进行编译没有任何问题。有人知道问题可能出在哪里吗?
答案1
luaotfload
需要存储一些缓存相关文件,这些文件通常存储$TEXMFVAR
在 TeX Live 中为生成数据保留的目录中。为此,您需要授予 LuaTeX 对此目录的写入权限。
基本上有两个原因导致这种情况可能不会发生:
- 您有一些非常特殊的设置,不允许您进入自己的主目录,因此 TeX 无法
TEXMFVAR
在 处创建默认目录~/.texlive2019/texmf-var
。 或者您在安装 TeX Live 时(或之后)更改了位置,
TEXMFVAR
并且新位置不可写。texmf.cnf
你可以通过查看TeX Live 安装目录中的文件来查看 TEXMFVAR 是否已更改,例如/usr/local/texlive/2019/
。如果有以 开头的行TEXMFVAR
,则表示你有一个自定义的TEXMFVAR
,你必须确保此目录可以写入。如果您没有任何充分的理由更改默认设置,最简单的解决方法通常是通过删除此行来恢复默认设置。