- Dec 13, 2022
Rewrote whole Git history to track all PDF files with Git LFS.
(by executinggit lfs migrate import --include="*.pdf" --everything).
User Interface
\begin{example}[tcb options]{title}, code followed by output, numbered\begin{example*}[tcb options]{title}, unnumbered variant
Typical configured usage
- side by side,
\begin{example}[sidebyside]{title} - change code language,
\begin{example}[minted options app={language=python}]{title}
Internals
- direct dependencies:
tcolorbox, with librarieshooks,minted,skinsandxparseloadedaccsupp
- environments are based on
tcolorbox'smintedlibrary,-shell-escaperequired - added
\emptyaccsupptcolorboxoptionsexample optionsandexample title
- modified
\theFancyVerbLine
User Interface
- loading:
\usepgfkeyslibrary{conditionals} - conditional keys
/utils/ifname nTF={<name>}{<true options>}{<false options>}executes\if<name> ... \else ... \fi/utils/ifxxx nTF={<ifxxx header>}{<true options>}{<false options>}executes<ifxxx header> ... \else ... \fi/utils/ifnum nNnTF={<int expr a>}<relation>{<int expr b>}{<t>}{<f>}(trick: hide<relation>=in braces, like/utils/ifnum 1{=}1tf)/utils/ifdim nNnTF={<dim expr a>}<relation>{<dim expr b>}{<t>}{<f>}/utils/if NNTF=<token a><token b>{<t>}{<f>}(\noexpandauto applied to<tokan a>and<token b>)/utils/ifcat NNTF=<token a><token b>{<t>}{<f>}(ditto)/utils/ifx NNTF=<token a><token b>{<t>}{<f>}/utils/if strcmp nTnTF={<text a>}<relation>{<text b>}{<t>}{<f>}(<text a/b>are auto wrapped by\unexpanded; relies on primitive\(pdf)strcmpor its mock in Lua)
Internals
- prefix
\pgfkeys@lib@cond@xxx
TODO
- export to other default paths
to support uses like\tcbset{ifnum TF=...}with no need to set\pgfkeys{/tcb/.see also={/utils}}. Also more space consumption for shorter time.- utility to copy a key (need to learn if
filteredlibrary adds any internal sub-keys)
- utility to copy a key (need to learn if
User Interface
\autonameref{<label key>}and\autonameref*{<label key>}- 1-arg
\HyRef@autonameref@stylewhich controls the extra output style (see test file)
Internals
- direct dependency:
hyperref \HyRef@autonamerefand\HyRef@autonamesetref
User Interface
\pgfkeys{<key>/.patch={<search>}{<replace>}}\pgfkeyspatchvalue{<key path>}{<search>}{<replace>}
Internals
- direct dependency:
xpatch
User Interface
- after
<key>/.store in=<macro>(or.estore in), handlers.get,.add,.prefix, and.appendwill act on<macro>, not the key itself
Internals
<macro>is stored in new sub-key.@store, which will be cleared by.initial- for the above four handlers,
.@storehas higher precedence than the key itself (set by.initial)
User Interface
\printDef{csname}, print definition of\cs{csname}\printAndRunCode{code}
Internals
- direct dependencies:
fvextraxcolorwith no package options
- added
\toString
User Interface
- scope options
auto markandno auto mark - styles
every auto markandevery auto <shape> markthat acceptpinoptions - zero-arg macro
\tikzAutoMarkTextthat controls the mark text- In the definition of the above styles and macro,
\tikzNodeNameand\tikzNodeShapecan be used as placeholders of node name and shape, respectively.
- In the definition of the above styles and macro,
Initial values
- .
\tikzset{ every auto mark/.style={ font=\ttfamily, rotate=45, red, anchor=west, pin position=45, }, every auto coordinate mark/.style={ blue, anchor=east, pin position=180+45, }, } \newcommand\tikzAutoMarkText{\tikzNodeName}
Internals
- Every auto mark is a node pin drawn by
at the end of every
\node also[pin={[every auto mark/.try, every auto <shape> mark/.try]{\tikzAutoMarkText}}] (\tikzNodeName);
tikzpicture.- maybe draw in
execute at end path?
- maybe draw in
- direct dependency:
tikzandetoolbox(for\patchcmd) tikzoptions used:execute at begin scopeandexecute at end picture- patched:
\tikz@node@finishto append node info to\tikzNodeList - added:
\tikzNodeList, A comma-separated list of elements{<node_name>, <node_shape>}\newif\iftikz@lib@automark@on
User Interface
\undefine<cs>and\undefinecs{<csname>}un-define a control sequence locally\uniquecsnameexpands to a<csname>which tests false in\ifcsname
Internals
\@uniquecsname@tryand\@uniquecsname@generate
User Interface
\defineqcolor{<name>}{<model>}{<spec>}\colorqlet{<name1>}{<name2>}\qcolor{<name>}or\qcolor[<model>]{<spec>}<model> ::= gray | rgb | cmyk
Internal
\XC@nametocs{<color name>}