问题标签 [latexmk]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
latex - 不要让我在出现错误时手动中止 LaTeX 编译
正如这里所建议的,这latexmk
是一种在源代码更改时不断编译文档的便捷方法。但是,当您处理文档时,通常会遇到错误,然后latex
会惊慌失措并等待用户输入,然后再继续。这会变得非常烦人,尤其是最近当我破解了一些东西以latex
直接从etherpad文档编译时,它会在您键入时不断保存。
如果无法编译,是否有设置latex
或latexmk
使其只是中止并显示错误消息?或者,如果有必要,我将如何设置某种 Expect 脚本来自动消除 LaTeX 的投诉?
(我曾认为pdflatex
's 选项-halt-on-error
可以解决问题,但显然不是。)
额外的问题:Mac OSX 上的 Skim 是一个不错的 pdf 查看器,它会在 pdf 更改时自动刷新(与预览不同),除了每当出现乳胶错误时,它会让您重新确认您想要自动刷新。Texniscope 没有这个问题,但由于其他原因我不得不放弃 Texniscope 。有没有办法让 Skim 总是自动刷新,或者是否有其他查看器可以做到这一点?
latexmk
添加:基于此问题的答案的迷你教程:
latexmk
到这里: http : //www.phys.psu.edu/~collins/software/latexmk-jcc/将以下内容添加到您的
~/.latexmkrc
文件中:(对于带有脱脂的 OS X)
/li>在编辑源文件时
/li>foo.tex
,在终端中运行以下命令:使用Skim或其他实时 pdf 查看器查看 foo.pdf。对于 Skim,只需查看 Skim 首选项中的“同步”选项卡并为您的编辑器进行设置。
瞧!现在点击保存foo.tex
将导致foo.pdf
刷新而不接触任何东西。
emacs - 如何在emacs中调用latexmk,并跳转到next-error
我想使用latexmk在 Emacs 中编译我的 LaTeX 文档。特别是我需要 Emacs 功能next-error
,它通常用 Cx ` 调用,并跳转到文档中的下一个 LaTeX 错误。
我想调用latexmk
usingC-x compile
或 AUCTeX C-c C-c
。
首先,我设置latexmk
使用
选项 1:Cx 编译
我按下C-x compile
并键入latexmk -pdf foo
,它运行pdflatex
。但next-error
不会跳转到错误,即使 *compilation* 缓冲区包含错误:
如何在第 48 行自动跳转到此错误?
latexmk
请注意,解析乳胶输出的这个问题与直接无关。当我这样做时也会出现同样的问题C-x compile pdflatex -interaction=nonstopmode foo
。
选项 2:AUCTeX
如何将 AUCTeX 设置为调用latexmk -pdf
而不是pdflatex
在我的 .tex 文件上调用?当然,我也想next-error
在这里工作。
更新:我开始了赏金,因为如果这可行,它将成为许多人的好工具。如果给出的解决方案可以让我在 Emacs 中轻松编译我的 LaTeX 文档latexmk
并使用跳转到错误next-error
(当然,错误可能在包含的.tex 文件中,不一定在主文件或当前缓冲)。
更新:感谢 Ivan(和 Chris)使 AUCTeX+Latexmk 工作。同时,我发现使用Rubber编译 LaTeX 也是一个不错的选择。它将以gcc
和其他编译器使用的格式显示错误消息,因此它自然适用于 Emacs C-x compile
,例如C-x compile rubber --pdf foo
,并且错误消息被正确解析。
latex - 是否有将记录到输出/错误控制台的 LaTeX 命令?
我创建了一个 LaTeX\todo{}
命令,它在页边空白处输出待办事项:
但是,我真的很想将我所有的待办事项列表输出到输出控制台。我已经编写了一个简单的 python 脚本来解析 .tex 文件,但后来切换到使用 latexmk 来处理重新编译。我的脚本并没有真正处理使用\includeonly
。
我可以从 Latex 中直接写入 LaTeX 控制台输出吗?
ubuntu - pdfLaTeX microtype 包的字体错误
在Ubuntu 10.4LTS
我试图microtype
在一类文档中使用包memoir
,例如:
但是,当我尝试编译它(使用或其他)时rubber
,latexmk
我收到如下错误:
job.tex:72:字体 csnameendcsname=rm-lmr10+20 at 10.95pt 不可加载:未找到公制 (TFM) 文件。
job.tex:72:前导文本:\parbox{5in}{Abstract!}
job.tex:72:字体 csnameendcsname=rm-lmr10-20 at 10.95pt 无法加载:未找到公制 (TFM) 文件。
job.tex:72:前导文本:\parbox{5in}{Abstract!}
job.tex:80:字体 csnameendcsname=rm-lmr10+20 at 10.0pt 无法加载:未找到公制 (TFM) 文件。
job.tex:80:前导文本:...box{11cm}{\noindent{}保留所有权利。}
job.tex:80:字体 csnameendcsname=rm-lmr10-20 at 10.0pt 无法加载:未找到公制 (TFM) 文件。
job.tex:80:前导文本:...box{11cm}{\noindent{}保留所有权利。}
请注意,我省略了许多可能正在交互的代码,但导致此错误的一个活动行是包含microtype
包。
我正在使用\usepackage{lmodern}
and \usepackage[T1]{fontenc}
,但是当我将它们排除在外时,问题仍然存在,并且字体名称相应lmr10
地从 default更改为cm10
。
这段代码很容易在 Mac OS X 上与 TeXShop 一起工作,但它似乎在 Ubuntu 上并不(容易)工作。我只是不太了解如何在 Ubuntu 上设置字体来解决这个问题,我非常有义务就如何解决此类错误提供意见。
谢谢你。
布赖恩
emacs - 如何将 latexmk 绑定到 Emacs 中的一个键并让它显示错误(如果有)
我正在使用 AUCTeX,我想绑定一个键,例如C-0
,它执行以下操作:
- 保存活动文件而不提示我。
- 在活动文件上运行
latexmk
而不提示我。 latexmk
如果遇到任何 by ,将向我显示错误。
我的问题不是如何绑定一个键(Tyler 在下面的评论中为此发布了一个链接),而是如何提出一个完成第 1-3 项的功能。
我打电话给 Latexmk
这是我的 .latexmkrc
我正在使用 Emacs 23.3 和 AUCTeX 11.86。
emacs - Emacs latexmk 函数让我进入一个空缓冲区
这是对如何将 latexmk 绑定到 Emacs 中的一个键并让它显示错误(如果有)的后续内容。
我在 Emacs 中使用一个函数来编译 LaTeX 文档,latexmk
但它的行为并不完全符合我的要求。我使用的功能是Jouni K. Seppänen提出的:
主要问题是,当我使用该功能(按C-0
)时,它有时会将我扔到一个名为 TeX Live 2011 的空缓冲区中。
重现此问题的一种方法是尝试编译以下内容(vc.tex 不存在并不重要):
另一种重现它的方法是尝试编译以下内容:
一个小的(装饰性的)问题是 minibuffer 的高度有时会从一行扩展到两行,因为run-latexmk
它运行后会弹回一行高度。我很难找到一个简单的例子来重现这种行为(我只为非常大的文档重现了它)。
我想要解决这两个问题。我也对在 Emacs 中与 latexmk 交互的其他方式感兴趣。
这是*... output* buffer
最后一个示例的示例(缺少右花括号的示例\newcommand
:
以下是使 *TeX Help* 显示的 TeX 文件的输出Emergency stop.
:
emacs - 如何让 latexmk 与 emacs 和 okular 一起工作
我刚开始使用 emacs,所以我什至不知道我是否正确地这样做了。
C-c C-c
然后提示说Command [pdflatex]:
,所以我输入latexmk
。这甚至是它所期待的吗?然后我给出以下错误:
这是我的.latexmk
文件:
这是我的.emacs
文件:
emacs - 如何在与latexmk兼容的elisp中测试当前文件是否已更改
我正在使用以下函数在 emacs 中的乳胶文件上运行 latexmk:
(取自https://stackoverflow.com/a/14699078/406686)。
假设我有一个简单的文档 ( test.tex
),其中有一些错误,例如:
现在,如果我按例如 Space 然后 Backspace (或进行任何更改并撤消它)然后运行my-run-latex
latexmk 运行并说所有目标都是最新的。问题是然后我丢失了错误列表,所以TeX-next-error
不会有任何影响。
我想这个问题可以通过(buffer-modified-p)
在这种情况下替换为阻止运行 latexmk 的东西来解决(最好通过相同的测试 latexmk 来检查自上次运行以来文件是否更改)。知道怎么做吗?
bash - latexmk - 运行 bash 命令来停止 Dropbox 同步
我正在使用 latexmk 来编译我的 LaTeX 论文。我将论文保存在我的 Dropbox 上,并且随着数十到数百个 .aux 和相关文件的创建,Dropbox 索引会产生大量开销。
因此,我想在编译开始停止 Dropbox 之前插入以下 bash 脚本:
相应地,要在最后重新启动 Dropbox,我想:
如何通过编辑本地 latexmkrc 来做到这一点?