尽管我可以在互联网的某个地方找到这个命令,但我认为将它在这里发布给整个 LaTeX 社区可能会很有用。
如何从 Linux 中的命令行界面(终端)运行 TeX?是否有任何必需的参数?如果命令是更大脚本的一部分,脚本如何知道 TeX 处理何时完成以继续执行任何后续操作?是否有关于此的明确手册?
起点可能是:
pdflatex [options] filename.tex
latex [options] filename.tex
xelatex [options] filename.tex
答案1
你是对的:latex filename.tex
上面的其他命令意味着从命令行运行 TeX 的一种风格。
它们实际上不需要参数,但您也可以查看 Texmaker 等 GUI 软件的配置,或在命令行中输入latex --help
以显示可用选项的完整列表。例如,该选项-interaction=nonstopmode
使 latex 不会在每次出现错误时停止...
这些程序一次性运行:它们不会采取行动。为此,在 Linux 中,您可以编写一个 Makefile 来安排所需的编译步骤,如下所示这里或者这里。
对于手册,您可以尝试man latex
,但我认为这不是一个好的答案或问题。上述命令以与 GUI 编辑器相同的方式运行 Latex/Pdflatex/...。
答案2
为了使此功能正常工作,您需要确保 TeX 二进制文件在您的路径中,并且您要运行的版本在您的路径中位于任何其他同名二进制文件之前。如果您从操作系统包管理器安装 TeX,它应该会为您设置好这一点。
然而,许多发行版都打包了旧版本的 TeX Live,你可能需要安装一个更新的。 在这种情况下,您将需要设置您的PATH
二进制文件才能运行,以及您的MANPATH
和INFOPATH
命令行文档。
为了使 TeX live 安装程序正常工作,你必须添加到登录脚本中的命令类似于
PATH=/usr/local/texlive/2021/bin/x86_64-linux:$PATH
export PATH
INFOPATH=/usr/local/texlive/2021/texmf-dist/doc/info:$INFOPATH
export INFOPATH
MANPATH=/usr/local/texlive/2021/texmf-dist/doc/man:$MANPATH
export MANPATH
要为所有用户启用它们,请将它们保存到一个文件中,将其命名为/etc/profile.d/texlive.sh
、 和chmod 755
。要仅为您自己的用户帐户启用它们,您需要将它们保存到~/.bash_profile
以及~/.bashrc
,或保存到您可以从这两个文件中获取的单个文件source
中。(如果您更改了登录 shell,则不需要这些说明。)
我个人设置了另一个命令,即一个 shell 别名来更新我的 TeX 安装。我以系统用户的身份安装了 TeX Live tex
,理论上来说,TeX Live 中的漏洞至少不应该被利用root
。
alias update-tex='sudo -u tex -E $(which tlmgr) update --self --all'
答案3
首先,通过执行以下命令确保安装了 latex 包:
sudo apt install texlive-latex-base
第二,执行:
latex Filename.tex
答案4
使用makefile
并拥有更多自由。例如:
# Generate your PDF
%.pdf : %.tex
@echo '.........: pdflatex running pass 1...'
pdflatex $< -o $@ 2>&1 | tee errors.err
@echo '.........: bibtex running...'
bibtex $(basename $<) 2>&1 | tee errors.err
@echo '.........: pdflatex running pass 2...'
pdflatex $< -o $@ 2>&1 | tee errors.err
@echo '.........: pdflatex and bibtex run finished.'
# Clean temp files
clean :
rm -f *.o errors.err
rm -f *.aux *.bbl *.blg *.log *.out
rm -f *.synctex.gz
rm -f BUILD
@echo
命令:$ make article.pdf
这将做到:
pdflatex article.tex -o article.pdf
:传递 1 来生成 PDFbibtex article
:这将更新你的参考书目pdflatex article.tex -o article.pdf
:更新参考书目后,你需要通过 2 号密码来更新你的 PDF
命令:$ make clean
此命令将删除编译过程中生成的所有临时文件。