Note: Technical writeup mainly intended for Marciano, but feel free to read it/give ideas if you’d like!
I’m running Sublime Text portable with Windows Vista 64-bit, and the latest version of LaTeXTools. I’m attempting to switch to Sublime Text as my LaTeX editor, but it’s not going very well.
I grab a fresh copy of LaTeXTools through Package Control, configure inverse search with SumatraPDF, verify that the MikTeX distribution is active, and make sure my LaTeX file and path contain no spaces. I note that my MikTeX path is C:\Program Files\MiKTeX 2.9\miktex\bin\x64, which is different than for 32-bit machines. However, this is stored correctly in my PATH, so it shouldn’t be an issue.
I run Build (CTRL-ALT-T) on a LaTeX file (in a different directory). I get no build output, no PDF, and the following console errors:
Traceback (most recent call last):
File ".\sublime_plugin.py", line 259, in run_
File ".\makePDF.py", line 393, in run
TypeError: cannot concatenate 'str' and 'list' objects
Line 393 is:
print self.make_cmd + [self.file_name]
Unfortunately, I’m not very familiar with either Python or the Sublime package API. After two hours of chasing dead ends, I realize that self.make_cmd is empty. I look up and find the assignment:
# Get parameters from sublime-build file:
self.make_cmd = cmd
cmd is also empty, even though I assume it should have been defined in LaTeX.sublime-build. I have not altered that file at all. Here is the relevant snippet:
"cmd": "latexmk",
"-e", "\\$pdflatex = 'pdflatex %O -interaction=nonstopmode -synctex=1 %S'",
//"-silent",
"-f", "-pdf"],
I’ve tried commenting out the print statement, but that doesn’t solve the underlying problem. I toyed with defining self.make_cmd within makePDF.py, but that feels fragile, and I get the feeling that %O and %S require preprocessing by Sublime Text.
Any suggestions?