Estoy intentando usar vim/nvim como editor de texto en un archivo .tex (largo) que contiene tanto el paquete minted
como dsfont
el 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 :LLPStartPreview
me aparece un Failed to compile
mensaje y el siguiente mensaje en el .log
archivo:
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 .vimrc
el 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 .vimrc
archivo 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 .vimrc
sin éxito
let g:livepreview_engine = 'pdflatex' . '[-shell-escape]'
El problema no apareció cuando usé :LLPStartPreview
el 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 vimtex
sino 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-escape
opción se podría hacer
:let g:livepreview_engine .= ' -shell-escape'
Lamentablemente no lo uso, vim-latex-live-preview
así que no puedo probarlo.
Respuesta original
Nota:No lo uso vimtex
personalmente, 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).
vimtex
No es TeXstudio y no analiza los comentarios mágicos de TeXstudio, que yo sepa.
Si está vim
(o nvim
por lo que vale), puede obtener ayuda sobre la mayoría de las cosas escribiendo :help <thing>
y presionando Intro. En particular, puede obtener ayuda vimtex
escribiendo :help vimtex
. Allí encontrará información sobre el método de compilación utilizado y cómo personalizarlo. (Para otros que no lo tienen vimtex
instalado, pueden encontrar el archivo de ayudaaquí)
Por defecto vimtex
utiliza latexmk
. Debería/podría cambiar las opciones pasadas latexmk
cambiando el g:vimtex_compiler_latexmk
diccionario, más específicamente cambiar el options
campo 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-escape
permitido y minted
debería funcionar.
Alternativamente, también puede configurarlo vimtex
para utilizar otra ruta de compilación. vimtex
apoya:
latexmk
latexrun
tectonic
arara
Puede elegir entre estos configurando g:vimtex_compiler_method
así (usos de ejemplo arara
):
:let g:vimtex_compiler_method = 'arara'
El ejemplo anterior se utiliza arara
porque puedes configurar arara
usando comentarios mágicos, pero no soy un experto en arara
ninguno de los dos, así que busca información al respecto o consulta subonita documentación.