抱歉,我的问题很愚蠢,但我一直使用编辑器中的 latex 以及最基本的命令来写数学作业。现在我需要更多资源来应用于我的文档,所以我考虑从头开始认真学习 tex,并学习包和类的内部工作原理。因此,有一条指令\show
用于显示命令的定义(以原始命令的形式)。我首先认为这个命令与其他命令一样,我可以将它放在和之间,\begin{document}
但当\end{document}
我编译文件时,它什么也不做。然后我开始寻找使用此命令的正确方法,显然它可以通过在终端中使用命令行来工作,这对我来说是一个新概念。所以我想问的是如何使用命令(特别是在 Windows 上)运行 latex,以及这是否是使用编辑器的替代方法,还是仅用于特定指令。如果您能告诉我一些我可以学习这方面的手册或书籍,那就太好了。
答案1
LaTeX 总是从命令行运行:当您按下按钮时,编辑器会为您输入命令。大多数 tex 编辑器甚至允许您自定义发送的命令。
鉴于此,您无需在命令行上编写文件。只需像平常一样编写和保存文件即可。然后打开命令行,并转到您保存它的目录。
>cd C:\Terrible\Sample\Directory
或者
>cd /usr/cthulhu/home/terrible/sample/directory
例如。(奇怪的是,如果您需要在 Windows 上更改驱动器,则必须输入驱动器名称。就像您cd D:\Terrible\Sample\Directory
在 C: 上时可以执行的操作一样,似乎什么也不会发生。输入D:
并砰的一声,您就在 D 上的正确位置。因此,只需先移动驱动器,这样就不会那么混乱了。)另一种简单的方法是在 notepad++ 中打开您的 tex 文件。在文件菜单中,它有一个选项,Open Containing Folder
可让您选择 Explorer 或 cmd。cmd 会在命令行上为您打开包含 tex 文档的文件夹。
现在您位于正确的文件夹中,这就像在资源管理器或文件管理器中打开文件一样。现在您需要运行 LaTeX。您需要在此处输入的确切命令取决于文件的复杂程度。最基本的编译版本example.tex
就是>pdflatex example
。运行后,您将example.pdf
保存在同一个文件夹中。现在,如果您需要运行biber
或bibtex
之后,请执行相同的操作:>bibtex example
,然后>pdflatex example
再次运行以更新 pdf。
当然,这会根据您的 tex 引擎而改变:如果您运行latex
而不是,pdflatex
您将获得一个 dvi,如果您使用 XeTeX 或 LuaTeX,您将必须做其他事情,但它应该是类似的。
现在,基本的 PDF?这很简单。但是,假设您有一个目录、一个引用的作品,并且正在使用包lastpage
?您将不得不编译很多次,可能至少三次。这很麻烦,所以有一些包可以为您完成此操作。我知道和autolatex
。latexmk
它们会编译您的 pdf,检查是否还有更多工作要做,然后运行 bibtex,再次编译,无论如何,为您一遍又一遍,直到完成。现在,我只用过latexmk
自己,虽然我听说有人说它autolatex
更好(我只是不想安装 Python)。要使用它,您只需输入>latexmk -pdf example
,它会为您处理所有事情。如果您不输入,它-pdf
会给您一个 dvi(您可以在配置文件中修复它,但我从来没有弄清楚在 Windows 上将它放在哪里以全局执行此操作。如果您使用的是 mac 或 *nix,手册会告诉您这一点。)
现在,假设您遇到错误或正在使用 \show。您的文档将开始编译,文本将向下滚动到屏幕上(如果您在 Windows 上,请在开始之前始终输入“color 2”,那么它将看起来像黑客帝国),然后它会遇到错误或 \show 并停止。然后它会为您提供一些选项。我从未使用过 \show,但如果您遇到错误,它会为您提供我所知道的两个选项:x
将立即终止编译,您可以去修复错误,并r
会告诉它无论如何都尝试编译,如果可以的话,它通常会让您看到您错过的愚蠢 $ 在哪里,方法是将其后的所有内容设为数学模式(或类似模式)。
这一切都说得通吗?这就是我经常编译文件的方式,而且我比这里的大多数人都更缺乏经验,所以我希望我能够澄清一些事情。
答案2
就像我说的,我的问题对于专家来说非常幼稚和愚蠢,但仅供参考,这是我到目前为止所拥有的。如果你们能帮助我完成这个答案,那将非常有帮助:
命令行界面只是一种使用代码行或命令来操作系统的不同方式,而不是通常的图形界面,在图形界面中我们使用鼠标并单击图标等。因此,即使图形界面运行良好,因为它允许同时处理多项任务,但有些高级任务可能需要使用命令行。
就我而言,我使用的是 Windows 7,并且要在命令行界面中工作,我必须使用 MS-DOS 控制台(我使用windows key + R
然后写入来打开它cmd
)。
为了处理所有可以在那里完成的事情,我只需help
在第一行后面写下,屏幕上就会出现许多命令的列表。如果我想知道其中一个命令是如何工作的,比如说指令copy
,我可以通过写下来得到它 copy /?
。
具体来说,要了解 latex 命令的定义,比如说enumerate
,我在控制台中引入latex
,然后\relax
,最后\show\enumerate
。这会产生类似这样的结果:
现在,我仍然不知道如何.tex
从命令行创建文件、将其保存在某个目录中并将其打印为文件.pdf
。更重要的是,我甚至不知道从哪里获取可以在命令行中引入的 tex 指令。我一直使用 tex 编辑器(在我的例子中是 TexMaker)来完成此操作,但我认为学习如何使用控制台来执行此操作会非常好。