Ursprüngliche Antwort

Ursprüngliche Antwort

Ich versuche, vim / nvim als Texteditor in einer (langen) .tex-Datei zu verwenden, die sowohl als auch mintedals dsfontPaket enthält. Hier ist ein Beispiel:

% !TeX document-id = {f2e9e8a7-1386-4a73-9989-55350ce6c529}
% !TeX TXS-program:compile = txs:///xelatex/[--shell-escape]
%\documentclass[a4paper, 12pt]{book}
\documentclass{scrreprt}
%\usepackage{fontspec}
%\usepackage{pmboxdraw}
\usepackage{amssymb, amsmath, float, framed, geometry, listings, lmodern, mathtools,multirow,parskip, paralist,pgfplots, ragged2e,setspace,tcolorbox, threeparttable, upquote, url, tikz, enumitem}
\usepackage{bbm}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{xurl}
\usepackage{minted}
\usepackage{dsfont} 
\usepackage{multirow}
\usepackage{tabto}
\usepackage{tabu}
\usepackage[english]{babel}
\usepackage{newtxmath}
\usetikzlibrary{positioning}
\usepackage{xcolor}
\definecolor{mypink1}{RGB}{0, 170, 0}
\usepackage[utf8]{inputenc}
\usepackage{fancyhdr}
\fancyhf{}
\pagestyle{fancy}
\rfoot{Page \thepage}
\usepackage[LGR]{fontenc}
\usepackage[T1]{fontenc}
\usepackage[colorlinks]{hyperref}
\hypersetup{
    colorlinks,
    linkcolor=blue,
    filecolor=magenta,
    citecolor=mypink1,      
    urlcolor=cyan,
}
\geometry{
    a4paper,
    total={170mm,257mm},
    left=20mm,
    top=20mm,
}
\usepackage{caption}
%\usepackage{calrsfs}
%\DeclareMathAlphabet{\pazocal}{OMS}{zplm}{m}{n}
\begin{document}
blabla
\begin{minted}{Python}
    print(“Hello world”)
\end{minted}
\end{document}

Ich kann das Dokument sowohl mit Texstudio als auch mit pdflatex im Terminal problemlos kompilieren. Beim Versuch, es anzuzeigen, :LLPStartPreviewerhalte ich jedoch eine Failed to compileMeldung und die folgende Meldung in der .logDatei:

l.13 \usepackage
                {dsfont}
Pass the -shell-escape flag to LaTeX. Refer to the minted.sty documentation for
 more information.

Ich habe mir das Minted-Dokument angesehen, konnte aber keine Lösung für das Problem finden. Was mache ich falsch?

Bearbeiten1

Nach der Überprüfungdiese andere Antwort, habe ich auch versucht, die Zeile zu ersetzen

% !TeX TXS-program:compile = txs:///xelatex/[--shell-escape]

von

% !TeX TXS-program:compile = txs:///pdflatex/[--shell-escape]

Und

% !TeX TXS-program:pdflatex = pdflatex -synctex=1 -interaction=nonstopmode --shell-escape %.tex

aber es hat das Problem nicht gelöst

Bearbeiten 2 Ich versuche einzufügen (in .vimrcDatei)

let g:vimtex_compiler_latexmk.options += ['-shell-escape']
let g:vimtex_compiler_method = 'latexmk'

Und

let g:vimtex_compiler_latexmk.options += ['-shell-escape']
let g:vimtex_compiler_method = 'latexmk'

aber es hat das Problem nicht gelöst

Bearbeiten 3 Ich habe versucht, (nacheinander) den folgenden Befehl in die Datei einzufügen .vimrc, aber das hat das Problem nicht gelöst:

  • let g:livepreview_engine = 'evince' . [-shell-escape]
  • let g:livepreview_engine = 'evince' . ['-shell-escape']
  • let g:livepreview_engine = 'evince' . '[-shell-escape]'
  • let g:livepreview_engine =. ' -shell-escape'

Bearbeiten 4 Ich habe auch versucht, die folgende Zeile hinzuzufügen, .vimrcohne Erfolg let g:livepreview_engine = 'pdflatex' . '[-shell-escape]'

Das Problem trat nicht auf, als ich :LLPStartPreviewden folgenden Code verwendete: (wobei die folgenden Zeilen auskommentiert waren):


...
\usepackage{minted}
...
\begin{minted}{Python}
    print(“Hello world”)
\end{minted}
% !TeX document-id = {f2e9e8a7-1386-4a73-9989-55350ce6c529}
% !TeX TXS-program:pdflatex = pdflatex -synctex=1 -interaction=nonstopmode --shell-escape %.tex
%\documentclass[a4paper, 12pt]{book}
\documentclass{scrreprt}
%\usepackage{fontspec}
%\usepackage{pmboxdraw}
\usepackage{amssymb, amsmath, float, framed, geometry, listings, lmodern, mathtools,multirow,parskip, paralist,pgfplots, ragged2e,setspace,tcolorbox, threeparttable, upquote, url, tikz, enumitem}
\usepackage{bbm}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{xurl}
%\usepackage{minted}
\usepackage{dsfont} 
\usepackage{multirow}
\usepackage{tabto}
\usepackage{tabu}
\usepackage[english]{babel}
\usepackage{newtxmath}
\usetikzlibrary{positioning}
\usepackage{xcolor}
\definecolor{mypink1}{RGB}{0, 170, 0}
\usepackage[utf8]{inputenc}
\usepackage{fancyhdr}
\fancyhf{}
\pagestyle{fancy}
\rfoot{Page \thepage}
\usepackage[LGR]{fontenc}
\usepackage[T1]{fontenc}
\usepackage[colorlinks]{hyperref}
\hypersetup{
    colorlinks,
    linkcolor=blue,
    filecolor=magenta,
    citecolor=mypink1,      
    urlcolor=cyan,
}
\geometry{
    a4paper,
    total={170mm,257mm},
    left=20mm,
    top=20mm,
}
\usepackage{caption}
%\usepackage{calrsfs}
%\DeclareMathAlphabet{\pazocal}{OMS}{zplm}{m}{n}
\begin{document}
blabla
%\begin{minted}{Python}
%   print(“Hello world”)
%\end{minted}
\end{document}

Antwort1

BEARBEITEN:NachDG' wies mich auf ein großes Missverständnis hin, das ich hattees sieht so aus, als ob nicht die Kompilierungsroute von geändert werden muss, vimtexsondern die Route von vim-latex-live-preview. Laut der README-Datei kann die Kompilierung durch die Einstellung von gesteuert werden g:livepreview_engine. Um die Option hinzuzufügen, -shell-escapekönnte man Folgendes tun:

:let g:livepreview_engine .= ' -shell-escape'

Leider verwende ich es nicht und vim-latex-live-previewkann es daher nicht testen.


Ursprüngliche Antwort

Notiz:Ich verwende es nicht vimtexpersönlich und kann daher nicht überprüfen, ob das Folgende wirklich funktioniert. Aber ich füge die Art und Weise hinzu, wie man die für all das erforderlichen Informationen finden kann, und denke, dass es funktionieren sollte (das ist es, was ich versuchen würde).

vimtexist nicht TeXstudio und analysiert meines Wissens nach die magischen Kommentare von TeXstudio nicht.

Wenn Sie in sind vim(oder nvimwas auch immer es wert ist), können Sie zu den meisten Dingen Hilfe erhalten, indem Sie eingeben :help <thing>und die Eingabetaste drücken. Insbesondere können Sie Hilfe zu erhalten, vimtexindem Sie eingeben :help vimtex. Dort finden Sie Informationen zur verwendeten Kompilierungsmethode und wie Sie diese anpassen können. (Für andere, die nicht vimtexinstalliert haben, befindet sich die Hilfedatei unterHier)

Standardmäßig vimtexwird verwendet latexmk. Sie sollten/könnten die an übergebenen Optionen ändern, latexmkindem Sie das g:vimtex_compiler_latexmkWörterbuch ändern, genauer gesagt das optionsFeld dieses Wörterbuchs. Dazu können Sie im normalen Modus Folgendes eingeben:

:let g:vimtex_compiler_latexmk.options += ['-shell-escape']

Drücken Sie die Eingabetaste. Jetzt kompilieren Sie für die aktuelle Vim-Sitzung mit -shell-escapezulässigem Wert und mintedes sollte funktionieren.

Alternativ können Sie auch vimtexdie Verwendung einer anderen Kompilierungsroute konfigurieren. vimtexUnterstützt:

  • latexmk
  • latexrun
  • tectonic
  • arara

Sie können zwischen diesen wählen, indem Sie g:vimtex_compiler_methodfolgende Einstellungen vornehmen (im Beispiel wird verwendet arara):

:let g:vimtex_compiler_method = 'arara'

Das obige Beispiel verwendet , weil Sie mit magischen Kommentaren ararakonfigurieren können , aber ich bin kein Experte für beides, also suchen Sie entweder nach Informationen darüber oder konsultieren Sie seineararaararahübsche Dokumentation.

verwandte Informationen