我在 Mac (OS Sierra) (带 MacTex) 上的 Inkscape (0.91) 中使用 Tex Text,它基本上可以正常工作,但我似乎无法使用前导文件 (.ini)。我尝试使用一个非常简单的前导文件,\usepackage{amsmath}
但结果输出以下错误:
Traceback (most recent call last):
File "textext.py", line 210, in cb_ok
self.callback(self.text, self.preamble_file, self.scale_factor)
File "textext.py", line 369, in <lambda>
converter_cls, old_node))
File "textext.py", line 387, in do_convert
new_node = converter.convert(text, preamble_file, scale_factor)
File "textext.py", line 875, in convert
return PdfConverterBase.convert(self, *a, **kw)
File "textext.py", line 750, in convert
self.tex_to_pdf(latex_text, preamble_file)
File "textext.py", line 727, in tex_to_pdf
exec_command(['/Library/TeX/texbin/pdflatex', self.tmp('tex')] + latexOpts)
File "textext.py", line 596, in exec_command
% (' '.join(cmd), p.returncode, out + err))
RuntimeError: Command /Library/TeX/texbin/pdflatex /var/folders/cr/6n190wb14px1csr_s38dgp_m0000gp/T/tmpcoRZLT/tmp.tex -interaction=nonstopmode -halt-on-error failed (code 1): This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) (preloaded format=pdflatex)
restricted \write18 enabled.
entering extended mode
(/var/folders/cr/6n190wb14px1csr_s38dgp_m0000gp/T/tmpcoRZLT/tmp.tex
LaTeX2e <2016/03/31>
Babel <3.9r> and hyphenation patterns for 83 language(s) loaded.
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/size10.clo))
! Undefined control sequence.
l.3 {\rtf
1\ansi\ansicpg1252\cocoartf1504
?
! Emergency stop.
l.3 {\rtf
1\ansi\ansicpg1252\cocoartf1504
! ==> Fatal error occurred, no output PDF file produced!
Transcript written on tmp.log.
对于导致此错误的原因您有什么想法吗?
答案1
我无法给你一个明确的答案,而只想写一条评论,但 TeX.SE 不允许我这样做。
作为诊断步骤,我将尝试获取 textext 写入文件的临时 TeX 文件并手动编译它。您可以textext.py
按如下方式编辑文件:
# 注释掉调用 LaTeX 的命令 # exec_command(['/Library/TeX/texbin/pdflatex',self.tmp('tex')] + latexOpts) 打印‘选项’,latexOpts 打印'临时文件',self.tmp('tex') # 打印诊断输出后退出 引发 SystemExit
这应该会告诉你临时文件的位置。在你的 TeX 编辑器中打开它,检查并尝试编译。然后你就可以发现 textext 是否写入了损坏的文件或使用了损坏的选项,或者你的设置是否存在其他问题。
答案2
我找到了适用于 1.4 版本的解决方案:在 Inkscape 扩展文件夹中(对于 Windows,可在“C:\Users\Username\AppData\Roaming\inkscape\extensions\textext”找到),按如下方式编辑 base.py 文件:
第 747 行的 TexToPdfConverter 类以以下内容开头:
**YOUR DOCUMENT CLASS and PREAMBLE GOES HERE**
DOCUMENT_TEMPLATE = r"""
\documentclass{article}
%s
\pagestyle{empty}
\begin{document}
%s
\end{document}
"""
然后只需照常使用 TexText 扩展即可。