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
来更改传递给的选项,更具体地说是更改该字典的字段。为此,您可以在正常模式下输入以下内容:latexmk
g:vimtex_compiler_latexmk
options
: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
,所以要么搜索有关它的信息,要么查阅它的漂亮的文档。