minted/fancyvrb 环境作为 TikZ 命令的参数

minted/fancyvrb 环境作为 TikZ 命令的参数

我想创建一个命令,接受一个参数,将参数的内容设置为 TikZ 图片。问题:参数是minted/FancyVrb 环境。

梅威瑟:

%!TEX OPTIONS = --shell-escape
\documentclass{article}
\usepackage{tikz}
\usepackage{minted}
\newcommand{\tikzverb}[1]{\tikz{\node (text) [draw=blue, thick] {#1}; \fill [opacity=0.5] (text.north east) circle (5pt);}}
\begin{document}
\tikzverb{
\begin{minted}{text}
test
\end{minted}
}
\end{document}

一些背景知识:这个 MWE 是从我幻灯片中的一个命令中提炼和简化而来的,这个命令是我通过 LaTeX Beamer 设置的。我配置了minted源代码突出显示,所以我宁愿使用这个包而不是其他逐字环境。在幻灯片中,命令应该显示bash shell 输出在组装这个 MWE 的过程中,
我发现使用保存箱并不能解决这个问题,这通常是其他解决方案之一问题像这样。savebox 和环境的组合lstlisting有效(另请参阅),但这意味着需要单独配置另一个包。minted如果可以的话,我宁愿坚持使用(因为它很棒)。

答案1

这并没有直接回答我提出的问题,而是回答了潜在的问题(创建一个假的 bash shell)。正如 @TeXnician 所建议的,我使用了tcolorbox(这确实是另一个包含各种新命令的包;但它非常棒)。

我对结果很满意:在此处输入图片描述

还有什么建议可以改进我的代码吗?

% \usepackage[minted]{tcolorbox}
% \tcbuselibrary{skins}
\definecolor{topbar}{RGB}{220,220,220}
\definecolor{main}{RGB}{30,30,30}
\definecolor{quit}{RGB}{248,73,73}
\definecolor{min}{RGB}{252,182,37}
\definecolor{max}{RGB}{41,198,52}
\colorlet{offwhite}{white!96!black}
\newtcblisting{fauxshell}{%
  listing engine=minted, 
  minted language=text, 
  title={\strut}, 
  listing only, 
  enhanced, 
  colbacktitle=topbar, 
  boxrule=0cm,
  left=2mm,
  width=\textwidth,
  frame hidden, 
  colback=main, 
  coltext=offwhite, 
  overlay={
    \fill [fill=quit] ([xshift=3mm]title.west) circle (1mm);
    \fill [fill=min] ([xshift=6mm]title.west) circle (1mm);
    \fill [fill=max] ([xshift=9mm]title.west) circle (1mm);
  }%
}
\begin{fauxshell}
$ echo `date`
Mon Aug 21 09:21:35 CEST 2017
\end{fauxshell}

相关内容