原始答案

原始答案

minted我正在尝试在包含和包的 (长) .tex 文件中使用 vim / nvim 作为文本编辑器dsfont。以下是示例:

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

我可以在终端中使用 Texstudio 和 pdflatex 编译文档,没有任何问题。但是尝试使用 查看它时,:LLPStartPreview会给我一条Failed to compile消息,文件中还会显示以下消息.log

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

我看了一下铸造的文档,但找不到问题的解决方案我做错了什么?

編輯1

检查后另一个答案,我也尝试更换线路

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

经过

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

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

但它并没有解决问题

编辑2 我尝试插入(在.vimrc文件中)

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

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

但它并没有解决问题

编辑3 我尝试(依次)在文件中添加以下命令.vimrc,但并未解决问题:

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

编辑4 我也尝试在我的中添加以下行,.vimrc但没有成功 let g:livepreview_engine = 'pdflatex' . '[-shell-escape]'

当我使用以下代码时,问题没有出现:LLPStartPreview:(其中以下几行被注释掉):


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

答案1

编辑:DG 指出了我的一个重大误解看起来需要更改的不是编译路径,vimtex而是路径vim-latex-live-preview。根据其 README,可以通过设置来控制编译。要向其中g:livepreview_engine添加选项,可以执行以下操作-shell-escape

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

不幸的是我没有使用vim-latex-live-preview所以无法测试这个。


原始答案

笔记:我个人没有使用过vimtex,因此无法验证下面的方法是否真的有效。但我提供了可以找到所有这一切所需信息的方法,我认为它应该有效(我会尝试)。

vimtex据我所知,不是 TeXstudio,并且不能解析 TeXstudio 的魔术注释。

如果在vim(或者nvim不管怎样),您可以通过输入:help <thing>并按回车键来获得大多数事情的帮助。特别是,您可以vimtex通过输入来获得有关 的帮助:help vimtex。在那里,您将找到有关使用的编译方法以及如何自定义它的信息。(对于没有vimtex安装的人,可以找到帮助文件这里

默认情况下vimtex使用。您应该/可以通过更改字典latexmk来更改传递给的选项,更具体地说是更改该字典的字段。为此,您可以在正常模式下输入以下内容:latexmkg:vimtex_compiler_latexmkoptions

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

按回车键。现在,对于当前 vim 会话,您将使用-shell-escape允许的选项进行编译,并且minted应该可以正常工作。

或者您也可以配置vimtex使用另一个编译路由。vimtex支持:

  • latexmk
  • latexrun
  • tectonic
  • arara

g:vimtex_compiler_method您可以通过如下设置来选择它们(例如使用arara):

:let g:vimtex_compiler_method = 'arara'

上面的例子使用,arara因为你可以arara通过使用魔术注释来配置,但我对这两者都不是专家arara,所以要么搜索有关它的信息,要么查阅它的漂亮的文档

相关内容