Resposta original

Resposta original

Estou tentando usar vim/nvim como editor de texto em um arquivo .tex (longo) contendo ambos mintede dsfonto 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 :LLPStartPreviewme dá uma Failed to compilemensagem e a seguinte mensagem no .logarquivo:

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 .vimrcarquivo)

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 .vimrcarquivo, 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 .vimrcsem sucesso let g:livepreview_engine = 'pdflatex' . '[-shell-escape]'

O problema não apareceu quando usei :LLPStartPreviewo 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, vimtexmas 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-escapeopção, pode-se fazer

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

Infelizmente eu não uso, vim-latex-live-previewentão não posso testar isso.


Resposta original

Observação:Eu não uso vimtexpessoalmente, 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).

vimtexnão é TeXstudio e não analisa os comentários mágicos do TeXstudio, afaik.

Se estiver vim(ou nvimpelo que vale a pena), você pode obter ajuda na maioria das coisas digitando :help <thing>e pressionando Enter. Em particular, você pode obter ajuda vimtexdigitando :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 vimtexinstalado, o arquivo de ajuda pode ser encontradoaqui)

Por padrão vimtexusa latexmk. Você deve/poderia alterar as opções passadas latexmkalterando o g:vimtex_compiler_latexmkdicionário, mais especificamente alterando o optionscampo 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-escapeo permitido e minteddeverá funcionar.

Alternativamente, você também pode configurar vimtexpara usar outra rota de compilação. vimtexapoia:

  • latexmk
  • latexrun
  • tectonic
  • arara

Você pode escolher entre eles definindo g:vimtex_compiler_methodassim (exemplo de uso arara):

:let g:vimtex_compiler_method = 'arara'

O exemplo acima usa araraporque você pode configurar ararausando comentários mágicos, mas não sou especialista em araranenhum dos dois, então pesquise informações sobre ele ou consulte seudocumentação bonita.

informação relacionada