我想使用 minted 创建一个新环境,其中始终有一个前缀字符串。
例如,这个答案我努力了
\documentclass{article}
\usepackage{minted}
\newenvironment{cmdline}
{\VerbatimEnvironment
\begin{minted}{Bash}
user@host$ }
{\end{minted}}
\begin{document}
\begin{cmdline}
print('abc')
\end{cmdline}
\end{document}
但是 LaTeX 不会编译它:
(/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd)
(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
)
! FancyVerb Error:
Extraneous input ` user@host $ ' between \begin{cmdline}[<key=value>] and line e
nd
.
\FV@Error ... {FancyVerb Error:
\space \space #1
}
l.14 \begin{cmdline}
如果我删除前缀user@host $
,它就可以正常工作。
我做错了什么?有没有什么办法可以实现我想要的效果?
编辑:即使我决定使用单行命令,我能得到的最好的结果也是这样的:
\documentclass{article}
\usepackage{minted}
\newcommand{\cmdline}[1]{\mint{text}^user@host$ #1^}
\begin{document}
\cmdline{echo "hello world!" # saying hello...}
\end{document}
但是,井号 ( #
) 在输出中重复出现:
newcommand
(可能与来自论点的哈希有关?铸造了看见并复制了它?
再次编辑:
我现在正在验证是否可以使用内联 Lua 代码来实现这一点。