Respuesta original

Respuesta original

Estoy intentando usar vim/nvim como editor de texto en un archivo .tex (largo) que contiene tanto el paquete mintedcomo dsfontel paquete. Aquí hay un ejemplo:

% !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}

Puedo compilar el documento tanto con Texstudio como con pdflatex en la terminal sin problemas. Sin embargo, al intentar verlo :LLPStartPreviewme aparece un Failed to compilemensaje y el siguiente mensaje en el .logarchivo:

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

Eché un vistazo al documento acuñado pero no pude encontrar la solución al problema. ¿Qué estoy haciendo mal?

Editar1

Después de haber comprobadoesta otra respuesta, también intenté reemplazar la línea

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

por

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

y

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

pero no resolvió el problema

Editar 2 Intento insertar (en .vimrcel archivo)

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

y

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

pero no resolvió el problema

Editar 3 Intenté (secuencialmente) agregar el siguiente comando en el .vimrcarchivo pero no resolvió el problema:

  • 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'

Editar 4 Intenté también agregar la siguiente línea en mi .vimrcsin éxito let g:livepreview_engine = 'pdflatex' . '[-shell-escape]'

El problema no apareció cuando usé :LLPStartPreviewel siguiente código: (donde las siguientes líneas estaban comentadas):


...
\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}

Respuesta1

EDITAR:DespuésDG' señaló un gran error que teníaparece que lo que hay que modificar no es la ruta de compilación de vimtexsino la ruta de vim-latex-live-preview. Según su README, la compilación se puede controlar configurando g:livepreview_engine. Para agregarle la -shell-escapeopción se podría hacer

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

Lamentablemente no lo uso, vim-latex-live-previewasí que no puedo probarlo.


Respuesta original

Nota:No lo uso vimtexpersonalmente, por lo que no puedo verificar si lo siguiente realmente funciona. Pero incluyo la forma en que uno podría encontrar la información necesaria para todo esto y pensar que debería funcionar (es lo que intentaría).

vimtexNo es TeXstudio y no analiza los comentarios mágicos de TeXstudio, que yo sepa.

Si está vim(o nvimpor lo que vale), puede obtener ayuda sobre la mayoría de las cosas escribiendo :help <thing>y presionando Intro. En particular, puede obtener ayuda vimtexescribiendo :help vimtex. Allí encontrará información sobre el método de compilación utilizado y cómo personalizarlo. (Para otros que no lo tienen vimtexinstalado, pueden encontrar el archivo de ayudaaquí)

Por defecto vimtexutiliza latexmk. Debería/podría cambiar las opciones pasadas latexmkcambiando el g:vimtex_compiler_latexmkdiccionario, más específicamente cambiar el optionscampo de ese diccionario. Para eso puedes escribir lo siguiente en modo normal:

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

Presione enter. Ahora, para la sesión vim actual, compilará con -shell-escapepermitido y minteddebería funcionar.

Alternativamente, también puede configurarlo vimtexpara utilizar otra ruta de compilación. vimtexapoya:

  • latexmk
  • latexrun
  • tectonic
  • arara

Puede elegir entre estos configurando g:vimtex_compiler_methodasí (usos de ejemplo arara):

:let g:vimtex_compiler_method = 'arara'

El ejemplo anterior se utiliza araraporque puedes configurar ararausando comentarios mágicos, pero no soy un experto en araraninguno de los dos, así que busca información al respecto o consulta subonita documentación.

información relacionada