summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/tcolorbox/tcbminted.code.tex
blob: e5574ff669194bc737a56daf78516e222c39afab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
%% The LaTeX package tcolorbox - version 4.30 (2020/04/28)
%% tcbminted.code.tex: Code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%%   http://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This work has the LPPL maintenance status `author-maintained'.
%%
%% This work consists of all files listed in README
%%
%\makeatletter
\tcb@set@library@version{4.30}

\RequirePackage{minted}[2011/09/17]

\tcbuselibrary{listings@core}

\def\tcb@minted@input@listing#1#2#3#4{%
  \edef\temp@a{#4}%
  \ifx\temp@a\@empty%
  \else%
    \toks@=\expandafter{#4}%
    \edef\tcb@temp{\noexpand\usemintedstyle{\the\toks@}}%
    \tcb@temp%
  \fi%
  \toks@=\expandafter{#1}%
  \edef\tcb@temp{\noexpand\inputminted[\the\toks@]}%
  \IfFileExists{\minted@outputdir#3}%
    {\tcb@temp{#2}{\minted@outputdir#3}}%
    {\tcb@temp{#2}{#3}}%
}

\def\tcb@minted@uselistinglisting{%
  \tcb@minted@input@listing{\kvtcb@minted@options}{\kvtcb@minted@language}{\kvtcb@listingfile}{\kvtcb@minted@style}%
}%

\def\tcb@minted@usetemplisting{%
  \tcb@minted@input@listing{\kvtcb@minted@options}{\kvtcb@minted@language}{\kvtcb@tempfile}{\kvtcb@minted@style}%
}%

\def\tcb@minted@doc@usetemplisting{%
  \tcb@minted@input@listing{\kvtcb@docmintoptions}{\kvtcb@docminted@language}{\kvtcb@tempfile}{\kvtcb@docmintstyle}%
}

\tcbset{%
  minted language/.store in=\kvtcb@minted@language,
  minted options/.store in=\kvtcb@minted@options,
  minted style/.store in=\kvtcb@minted@style,
  listing engine/minted/.code={\let\tcbuselistinglisting\tcb@minted@uselistinglisting%
    \let\tcbusetemplisting\tcb@minted@usetemplisting%
    \let\tcb@doc@usetemplisting\tcb@minted@doc@usetemplisting},
}


\tcbset{%
  reset@minted/.style={%
    minted language=latex,
    minted options={tabsize=2,fontsize=\small,breaklines,autogobble},
    minted style=,
    listing engine=minted,
  },
  initialize@reset=reset@minted,
}