有没有办法将minted
环境合并到环境中?我为代码片段设置了彩色背景,并且根据我上一个问题的答案,varwidth
我确实设法将minted
环境放在了环境中:minipage
但是,手动调整每个代码片段的 minipage 宽度确实很令人沮丧。我尝试使用minted
环境包装varwidth
环境minted.sty
,但出现了一些奇怪的错误。
答案1
作为起点,您可以使用以下重新定义。也许有人可以改进我的代码:
\documentclass{article}
\usepackage{minted,varwidth}
\makeatletter
\newenvironment{mintedshort}[2][]
{\VerbatimEnvironment%
\renewcommand{\minted@proglang}[1]{#2}%
\minted@resetoptions%
\setkeys{minted@opt}{#1}%
\begin{VerbatimOut}[codes={\catcode`\^^I=12}]{\jobname.pyg}}%
{\end{VerbatimOut}%
\minted@pygmentize@short{\minted@proglang{}}%
\DeleteFile{\jobname.pyg}}
\newcommand\minted@pygmentize@short[2][\jobname.pyg]{%
\def\minted@cmd{pygmentize -l #2 -f latex -F tokenmerge
\minted@opt{gobble} \minted@opt{texcl} \minted@opt{mathescape}
\minted@opt{startinline} \minted@opt{funcnamehighlighting}
\minted@opt{linenos} -P "verboptions=\minted@opt{extra}"
-o \jobname.out.pyg #1}%
\immediate\write18{\minted@cmd}%
\begingroup%
\setbox0=\hbox{%
\let\Verbatim\BVerbatim%
\let\endVerbatim\endBVerbatim%
\input{\jobname.out.pyg}%
}%
\box0%
\endgroup%
\DeleteFile{\jobname.out.pyg}}
\makeatother
\begin{document}
\hrulefill
\begin{mintedshort}{latex}
\tableofcontents
\part{Part}
\chapter{Chapter}
\section{Section}
\end{mintedshort}
\hrulefill
\end{document}