Tex Text 中的序言文件

Tex Text 中的序言文件

我在 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 扩展即可。

相关内容