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
allowed 進行編譯,並且minted
應該可以解決。
或者,您也可以設定vimtex
使用另一個編譯路徑。vimtex
支持:
latexmk
latexrun
tectonic
arara
g:vimtex_compiler_method
您可以透過像這樣的設定來選擇這些(範例使用arara
):
:let g:vimtex_compiler_method = 'arara'
上面的範例之所以使用,arara
是因為您可以arara
使用魔術註釋進行配置,但我不是這方面的專家arara
這方面的專家,所以要么搜索有關它的信息,要么查閱它的漂亮的文檔。