-
Notifications
You must be signed in to change notification settings - Fork 26
/
code-with-output.tex
59 lines (52 loc) · 1.18 KB
/
code-with-output.tex
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
\usepackage{tcolorbox}
\usepackage{accsupp} % PDF accessibility support
\tcbuselibrary{hooks, minted, skins}
% make line numbers unable to be selected
% ref: https://liam.page/2013/11/04/LaTeX-listings-copy/
\ExplSyntaxOn
\newcommand\emptyaccsupp[1]{
\BeginAccSupp{ActualText={}} #1 \EndAccSupp{}
}
\renewcommand\theFancyVerbLine{
\emptyaccsupp{
\textcolor[rgb]{0.5, 0.5, 1.0}{
\scriptsize\arabic{FancyVerbLine}
}
}
}
\ExplSyntaxOff
% define new option
\tcbset{
example options/.style={
skin=bicolor,
colbacklower=white,
fonttitle=\sffamily,
minted options app={
% line numbers
linenos,
numberfirstline=true,
stepnumber=2,
numbersep=5pt,
% break point
breakbefore=\\,
}
},
example title/.style 2 args={
title=Example\ifblank{#1}{}{ #1}\ifblank{#2}{}{: #2}
}
}
% new env: example
% #1 - <kv list>, tcb-listing options
% #2 - <token list>, title
\NewTCBListing[auto counter]{example}{ O{} m }{
example options,
example title={\thetcbcounter}{#2},
#1
}
% new env: example*
% like example, except that it is un-numbered
\NewTCBListing{example*}{ O{} m }{
example options,
example title={}{#2},
#1
}