创建自定义adjustbox minted环境

创建自定义adjustbox minted环境

我一直在尝试获得一个通用的环境来使用调整框铸造我发现了一些例子,人们铸造的包装在一个调整框中,他们似乎真的让它编译了。然而,我花了好几个小时绞尽脑汁试图让它工作起来,最后几乎放弃了。

就上下文而言,我在 Windows 上使用带有 MiKTeX 的 pdflatex。

这是一个最小~工作~示例(MWE),尽管我不这么认为工作对我来说一点也不:

\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage[export]{adjustbox}

\usepackage{fancyvrb}

\usepackage{xcolor}
\usepackage{xstring}
\definecolor{CodeBlack}{RGB}{30, 30, 39}

\usepackage{minted}
\setminted{linenos, autogobble, bgcolor=CodeBlack, fontsize=\scriptsize, frame=single, framerule=0pt, tabsize=2, numbersep=3pt, style=inkpot}

\newenvironment{bothtest}[1]
{%
    \VerbatimEnvironment
    \begin{adjustbox}{fbox}%
    \begin{minted}{#1}%
}
{%
    \end{minted}%
    \end{adjustbox}%
}

\begin{document}

Minted Test:
\begin{minted}{python}
lambda x: x
\end{minted}

Adjust box test:
\begin{adjustbox}{fbox}
lambda x: x
\end{adjustbox}

Adjust box minted test:
\begin{adjustbox}{fbox}
\begin{minted}{python}
lambda x: x
\end{minted}
\end{adjustbox}

\begin{bothtest}{python}
lambda x: x
\end{bothtest}

\end{document}

最后,我希望有更多类似的东西

\newenvironment{bothtest}[3]
{%
    \VerbatimEnvironment
    \begin{adjustbox}{max width=\paperwidth, max height=40em, keepaspectratio, pagecenter=\paperwidth, vspace=0pt -3mm, label={lst:#1}, captionbelow={#3}, nofloat=listing}%
    \begin{minted}{#2}%
}
{%
    \end{minted}%
    \end{adjustbox}%
}

因为我想要完成的是获得一个代码列表,该列表可以扩展到主列的正常边距之外,如果需要的话,可以扩展到纸张的边缘,同时能够通过参考进行链接,并且有一个很好的标题。

有几个注意事项,我更愿意继续使用 pdflatex 作为我的编译器,而不是切换到其他东西,例如 LuaLaTeX。我无法在我工作的环境中安装任意软件;但是,我可以安装任意 LaTeX 包。所以也许如果有另一个我不知道的包可以解决我的问题,我可以检查一下。

相关内容