Estou tentando usar vim/nvim como editor de texto em um arquivo .tex (longo) contendo ambos minted
e dsfont
o pacote. Aqui está um exemplo:
% !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}
Posso compilar o documento tanto com Texstudio quanto com pdflatex no terminal sem problemas. No entanto, tentar visualizá-lo :LLPStartPreview
me dá uma Failed to compile
mensagem e a seguinte mensagem no .log
arquivo:
l.13 \usepackage
{dsfont}
Pass the -shell-escape flag to LaTeX. Refer to the minted.sty documentation for
more information.
Dei uma olhada no documento criado, mas não consegui encontrar a solução para o problema. O que estou fazendo de errado?
Editar1
Depois de ter verificadoesta outra resposta, também tentei substituir a linha
% !TeX TXS-program:compile = txs:///xelatex/[--shell-escape]
por
% !TeX TXS-program:compile = txs:///pdflatex/[--shell-escape]
e
% !TeX TXS-program:pdflatex = pdflatex -synctex=1 -interaction=nonstopmode --shell-escape %.tex
mas não resolveu o problema
Editar 2
Eu tento inserir (no .vimrc
arquivo)
let g:vimtex_compiler_latexmk.options += ['-shell-escape']
let g:vimtex_compiler_method = 'latexmk'
e
let g:vimtex_compiler_latexmk.options += ['-shell-escape']
let g:vimtex_compiler_method = 'latexmk'
mas não resolveu o problema
Editar 3
Tentei (sequencialmente) adicionar o seguinte comando no .vimrc
arquivo, mas não resolveu o 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
Tentei também adicionar a seguinte linha no meu .vimrc
sem sucesso
let g:livepreview_engine = 'pdflatex' . '[-shell-escape]'
O problema não apareceu quando usei :LLPStartPreview
o seguinte código: (onde as seguintes linhas foram 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}
Responder1
EDITAR:DepoisDG' apontou um grande equívoco que tiveparece que o que precisa ser alterado não é a rota de compilação, vimtex
mas a rota de vim-latex-live-preview
. De acordo com seu README, a compilação pode ser controlada configurando g:livepreview_engine
. Para adicionar a -shell-escape
opção, pode-se fazer
:let g:livepreview_engine .= ' -shell-escape'
Infelizmente eu não uso, vim-latex-live-preview
então não posso testar isso.
Resposta original
Observação:Eu não uso vimtex
pessoalmente, então não posso verificar se o seguinte realmente funciona. Mas incluo a forma como se poderia encontrar a informação necessária para tudo isto e pensar que deveria funcionar (é o que eu tentaria).
vimtex
não é TeXstudio e não analisa os comentários mágicos do TeXstudio, afaik.
Se estiver vim
(ou nvim
pelo que vale a pena), você pode obter ajuda na maioria das coisas digitando :help <thing>
e pressionando Enter. Em particular, você pode obter ajuda vimtex
digitando :help vimtex
. Lá você encontrará informações sobre o método de compilação utilizado e como personalizá-lo. (Para outros que não tenham vimtex
instalado, o arquivo de ajuda pode ser encontradoaqui)
Por padrão vimtex
usa latexmk
. Você deve/poderia alterar as opções passadas latexmk
alterando o g:vimtex_compiler_latexmk
dicionário, mais especificamente alterando o options
campo desse dicionário. Para isso você pode digitar o seguinte no modo normal:
:let g:vimtex_compiler_latexmk.options += ['-shell-escape']
Pressione Enter. Agora, para a sessão atual do vim, você compilará com -shell-escape
o permitido e minted
deverá funcionar.
Alternativamente, você também pode configurar vimtex
para usar outra rota de compilação. vimtex
apoia:
latexmk
latexrun
tectonic
arara
Você pode escolher entre eles definindo g:vimtex_compiler_method
assim (exemplo de uso arara
):
:let g:vimtex_compiler_method = 'arara'
O exemplo acima usa arara
porque você pode configurar arara
usando comentários mágicos, mas não sou especialista em arara
nenhum dos dois, então pesquise informações sobre ele ou consulte seudocumentação bonita.