123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704 |
- \makeatletter
- \newif\ifinbeamerdoc
- \newcommand*\onlyengine[1]{\emph{Only available in \hologo{#1TeX}.}}
- \newcommand*\pkg[1]{\textrm{#1}}
- \newcommand*\pkgWopt[2]{\opt{[#2]}\penalty500\pkg{#1}}
- \newcommand*\cls[1]{\textrm{#1}}
- \newcommand*\TikZ{\pkg{Ti\textit{k}Z}}
- \newcommand*\env[1]{\texttt{#1}}
- \newcommand*\opt[1]{\texttt{#1}}
- \newcommand*\cs{\texorpdfstring{\cs@TeXString}{\cs@PDFString}}
- \protected\def\cs@TeXString#1%>>=
- {%
- \texttt{\cs@PDFString{#1}}%
- }%=<<
- \edef\cs@PDFString#1{\@backslashchar\noexpand\detokenize{#1}}
- \protected\def\meta#1{\texttt{$\langle${\itshape\meta@a{#1}}\kern.05em$\rangle$}}
- \ExplSyntaxOn
- \newcommand\meta@a[1]%>>=
- {
- \group_begin:
- \tl_set:Nn \l_docMRTbundle_tmp_tl { #1 }
- \regex_replace_once:nnN { \d+$ } { \c{textsubscript} \cB{ \0 \cE} }
- \l_docMRTbundle_tmp_tl
- \l_docMRTbundle_tmp_tl
- \group_end:
- }%=<<
- \ExplSyntaxOff
- \newcommand*\metaEnclosed[3]{\texttt{#1}\meta{#2}\texttt{#3}}
- \newcommand*\marg[1]{\metaEnclosed\{{#1}\}}
- \newcommand*\oarg[1]{\metaEnclosed[{#1}]}
- \newcommand*\barg[1]{\metaEnclosed({#1})}
- \newcommand*\sarg[1]{\metaEnclosed<{#1}>}
- \newcommand*\carg[2]{\texttt{(}\meta{#1},\meta{#2}\texttt{)}}
- \newcommand*\tfarg{\texttt{\textit{TF}}}
- \newcommand*\luaxetex%>>=
- {%
- \luaxe{}%
- }%=<<
- \newcommand*\luaxelatex%>>=
- {%
- \luaxe{La}%
- }%=<<
- \newcommand*\luaxe[1]%>>=
- {%
- \@ifstar
- {\hologo{Lua#1TeX} and \hologo{Xe#1TeX}}
- {\hologo{Lua#1TeX} or \hologo{Xe#1TeX}}%
- }%=<<
- \ExplSyntaxOn
- \int_new:N \g_docMRTbundle_dsctable_lines_int
- \int_new:N \l_docMRTbundle_fakeit_level_int
- \int_set:Nn \l_docMRTbundle_fakeit_level_int { -\c_one_int }
- \dim_new:N \l_docMRTbundle_dscmac_widest_dim
- \dim_new:N \l_docMRTbundle_dscmac_indent_dim
- \dim_new:N \l_docMRTbundle_fakeit_indent_dim
- \tl_new:N \l_docMRTbundle_tmp_tl
- \clist_new:N \l_docMRTbundle_fakeit_symbols_clist
- \clist_set:Nn \l_docMRTbundle_fakeit_symbols_clist% >>=
- {
- \textbullet
- ,\normalfont\bfseries\textendash
- ,\textasteriskcentered
- ,\textperiodcentered
- }% =<<
- \clist_new:N \l_docMRTbundle_bverb_both_points_clist
- \clist_new:N \l_docMRTbundle_bverb_pre_points_clist
- \clist_new:N \l_docMRTbundle_bverb_post_points_clist
- \clist_new:N \l_docMRTbundle_file_post_clist
- \clist_new:N \l_docMRTbundle_file_pre_clist
- \clist_set:Nx \l_docMRTbundle_file_post_clist%>>=
- {
- \char_generate:nn { `\_ } { 12 }
- }%=<<
- \clist_set:Nx \l_docMRTbundle_file_pre_clist%>>=
- {
- \char_generate:nn { `\. } { 12 }
- }%=<<
- \clist_set:Nx \l_docMRTbundle_bverb_both_points_clist%>>=
- {
- =
- }%=<<
- \clist_set:Nx \l_docMRTbundle_bverb_pre_points_clist%>>=
- {
- [
- ,(
- ,\char_generate:nn { `\{ } { 12 }
- ,\char_generate:nn { `\\ } { 12 }
- }%=<<
- \clist_set:Nx \l_docMRTbundle_bverb_post_points_clist%>>=
- {
- \char_generate:nn { `\} } { 12 }
- ,)
- ,]
- }%=<<
- \cs_new:Nn \__docMRTbundle_dscmac_end:%>>=
- {
- \par
- \int_compare:nNnT { \prevgraf } < { \g_docMRTbundle_dsctable_lines_int }
- {
- \expandafter\dscremaininglines\expandafter
- {
- \expandafter \numexpr
- \int_use:N \g_docMRTbundle_dsctable_lines_int - \prevgraf
- \relax
- }
- }
- }%=<<
- \MRTafterhyperref%>>=
- {
- \hbox_set:Nn \l_tmpa_box { \cs{PrependSubsectionsfalse} }
- \dim_set:Nn \l_docMRTbundle_dscmac_widest_dim { \box_wd:N \l_tmpa_box }
- \dim_set:Nn \l_docMRTbundle_dscmac_indent_dim
- { \l_docMRTbundle_dscmac_widest_dim - \marginparwidth }
- }%=<<
- \cs_new:Nn \docMRTbundle_dscmacTF_table_element:n% >>=
- {
- \exp_args:Nx \cs{\l_docMRTbundle_macro_name_tl #1}\tfarg\\
- }% =<<
- \cs_new_protected:Nn \docMRTbundle_dscmacTF_widest:n% >>=
- {
- \hbox_set:Nn \l_tmpa_box
- { \exp_args:Nx \cs{\l_docMRTbundle_macro_name_tl #1}\tfarg }
- \dim_compare:nNnT
- \l_docMRTbundle_dscmac_widest_dim < { \box_wd:N \l_tmpa_box }
- {
- \dim_set:Nn \l_docMRTbundle_dscmac_widest_dim
- { \box_wd:N \l_tmpa_box }
- }
- }% =<<
- \NewDocumentEnvironment { describemacroTF } { o m O{} }% >>=
- {
- \par\noindent
- \int_gzero:N \g_docMRTbundle_dsctable_lines_int
- \hspace*{-\dimexpr\marginparwidth+\marginparsep\relax}
- \IfNoValueTF { #1 }
- { \seq_set_split:Nnn \l_tmpa_seq { , } { } }
- { \seq_set_split:Nnn \l_tmpa_seq { , } { ,#1 } }
- \tl_set:Nn \l_docMRTbundle_macro_name_tl { #2 }
- \seq_map_function:NN \l_tmpa_seq \docMRTbundle_dscmacTF_widest:n
- \begin{minipage}[t][0pt]{\l_docMRTbundle_dscmac_widest_dim}
- \raggedleft
- \noindent
- \begin{tabular}[t]{@{}l@{}}
- \toprule
- \seq_map_function:NN \l_tmpa_seq \docMRTbundle_dscmacTF_table_element:n
- \bottomrule
- \end{tabular}
- \end{minipage}
- \hspace*{\marginparsep}
- \begin{minipage}[t]
- {
- \dimexpr
- \textwidth + \marginparwidth - \l_docMRTbundle_dscmac_widest_dim
- \relax
- }
- \vspace*{.5\baselineskip}
- \raggedright
- \setbox0\hbox{\texttt{\space\space}}
- \@hangfrom{Usage:~\hskip\wd0}\hskip-\wd0
- \cs{#2}\tfarg\hskip0pt\texttt{#3}\hskip0pt\marg{true}\hskip0pt\marg{false}
- \vspace*{.5\baselineskip}
- \end{minipage}\\
- \hangindent \l_docMRTbundle_dscmac_indent_dim
- \noindent
- \ignorespaces
- }
- {\__docMRTbundle_dscmac_end:}% =<<
- \cs_new:Nn \docMRTbundle_dscmac_table_element:n% >>=
- {
- \int_gincr:N \g_docMRTbundle_dsctable_lines_int
- \exp_args:Nx \cs{\l_docMRTbundle_macro_name_tl #1}\\
- }% =<<
- \cs_new:Nn \docMRTbunndle_dscmac_multiple_mac:n% >>=
- {
- \int_gincr:N \g_docMRTbundle_dsctable_lines_int
- \cs { #1 } \\
- }% =<<
- \cs_new_protected:Nn \docMRTbundle_dscmac_widest:n% >>=
- {
- \hbox_set:Nn \l_tmpa_box
- { \exp_args:Nx \cs{\l_docMRTbundle_macro_name_tl #1} }
- \dim_compare:nNnT
- \l_docMRTbundle_dscmac_widest_dim < { \box_wd:N \l_tmpa_box }
- {
- \dim_set:Nn \l_docMRTbundle_dscmac_widest_dim
- { \box_wd:N \l_tmpa_box }
- }
- }% =<<
- \NewDocumentEnvironment { describemacro } { o m O{} }% >>=
- {
- \par\noindent
- \int_gzero:N \g_docMRTbundle_dsctable_lines_int
- \hspace*{-\dimexpr\marginparwidth+\marginparsep\relax}
- \IfNoValueTF { #1 }
- { \seq_set_split:Nnn \l_tmpa_seq { , } { } }
- { \seq_set_split:Nnn \l_tmpa_seq { , } { ,#1 } }
- \tl_if_in:nnTF { #2 } { , }
- {
- \seq_set_split:Nnn \l_tmpb_seq { , } { #2 }
- \tl_clear:N \l_docMRTbundle_macro_name_tl
- \seq_map_function:NN \l_tmpb_seq \docMRTbundle_dscmac_widest:n
- \tl_set:Nn \l_docMRTbundle_macro_name_tl { \seq_item:Nn \l_tmpb_seq 1 }
- }
- {
- \tl_set:Nn \l_docMRTbundle_macro_name_tl { #2 }
- \seq_map_function:NN \l_tmpa_seq \docMRTbundle_dscmac_widest:n
- }
- \begin{minipage}[t][0pt]{\l_docMRTbundle_dscmac_widest_dim}
- \raggedleft
- \noindent
- \begin{tabular}[t]{@{}l@{}}
- \toprule
- \tl_if_in:nnTF { #2 } { , }
- {
- \seq_map_function:NN\l_tmpb_seq \docMRTbunndle_dscmac_multiple_mac:n
- }
- {
- \seq_map_function:NN\l_tmpa_seq \docMRTbundle_dscmac_table_element:n
- }
- \bottomrule
- \end{tabular}
- \vspace*{-.5\baselineskip}
- \end{minipage}
- \hspace*{\marginparsep}
- \begin{minipage}[t]
- {
- \dimexpr
- \textwidth + \marginparwidth - \l_docMRTbundle_dscmac_widest_dim
- \relax
- }
- \vspace*{.5\baselineskip}
- \raggedright
- \setbox0\hbox{\texttt{\space\space}}
- \@hangfrom{Usage:~\hskip\wd0}\hskip-\wd0
- \exp_args:Nx \cs{\l_docMRTbundle_macro_name_tl}\hskip0pt\texttt{#3}
- \vspace*{.5\baselineskip}
- \end{minipage}\\
- \hangindent \l_docMRTbundle_dscmac_indent_dim
- \noindent
- \ignorespaces
- }
- {\__docMRTbundle_dscmac_end:}% =<<
- \cs_new:Nn \docMRTbundle_dscenv_table_element:n% >>=
- {
- \int_gincr:N \g_docMRTbundle_dsctable_lines_int
- \exp_args:Nx \env{\l_docMRTbundle_macro_name_tl #1}\\
- }% =<<
- \cs_new_protected:Nn \docMRTbundle_dscenv_widest:n% >>=
- {
- \hbox_set:Nn \l_tmpa_box
- { \exp_args:Nx \env{\l_docMRTbundle_macro_name_tl #1} }
- \dim_compare:nNnT
- \l_docMRTbundle_dscmac_widest_dim < { \box_wd:N \l_tmpa_box }
- {
- \dim_set:Nn \l_docMRTbundle_dscmac_widest_dim
- { \box_wd:N \l_tmpa_box }
- }
- }% =<<
- \NewDocumentEnvironment { describeenv } { o m O{} }% >>=
- {
- \par\noindent
- \int_gzero:N \g_docMRTbundle_dsctable_lines_int
- \hspace*{-\dimexpr\marginparwidth+\marginparsep\relax}
- \IfNoValueTF { #1 }
- { \seq_set_split:Nnn \l_tmpa_seq { , } { } }
- { \seq_set_split:Nnn \l_tmpa_seq { , } { ,#1 } }
- \tl_set:Nn \l_docMRTbundle_macro_name_tl { #2 }
- \seq_map_function:NN \l_tmpa_seq \docMRTbundle_dscenv_widest:n
- \begin{minipage}[t][0pt]{\l_docMRTbundle_dscmac_widest_dim}
- \raggedleft
- \noindent
- \begin{tabular}[t]{@{}l@{}}
- \toprule
- \seq_map_function:NN \l_tmpa_seq \docMRTbundle_dscenv_table_element:n
- \bottomrule
- \end{tabular}
- \vspace*{-.5\baselineskip}
- \end{minipage}
- \hspace*{\marginparsep}
- \begin{minipage}[t]
- {
- \dimexpr
- \textwidth + \marginparwidth - \l_docMRTbundle_dscmac_widest_dim
- \relax
- }
- \vspace*{.5\baselineskip}
- \raggedright
- \setbox0\hbox{\texttt{\space\space}}
- \@hangfrom{Usage:~\hskip\wd0}\hskip-\wd0
- \cs{begin{#2}}\hskip0pt\texttt{#3~...~}\hskip0pt\cs{end{#2}}
- \vspace*{.5\baselineskip}
- \end{minipage}\\
- \hangindent \l_docMRTbundle_dscmac_indent_dim
- \noindent
- \ignorespaces
- }
- {\__docMRTbundle_dscmac_end:}% =<<
- \cs_new:Nn \docMRTbundle_dscopt_table_element:n% >>=
- {
- \int_gincr:N \g_docMRTbundle_dsctable_lines_int
- \exp_args:Nx \opt{\l_docMRTbundle_macro_name_tl #1}\\
- }% =<<
- \cs_new:Nn \docMRTbunndle_dscopt_multiple_mac:n% >>=
- {
- \int_gincr:N \g_docMRTbundle_dsctable_lines_int
- \opt { #1 } \\
- }% =<<
- \cs_new_protected:Nn \docMRTbundle_dscopt_widest:n% >>=
- {
- \hbox_set:Nn \l_tmpa_box
- { \exp_args:Nx \opt{\l_docMRTbundle_macro_name_tl #1} }
- \dim_compare:nNnT
- \l_docMRTbundle_dscmac_widest_dim < { \box_wd:N \l_tmpa_box }
- {
- \dim_set:Nn \l_docMRTbundle_dscmac_widest_dim
- { \box_wd:N \l_tmpa_box }
- }
- }% =<<
- \NewDocumentEnvironment { describeopt } { o m o }%>>=
- {
- \par\noindent
- \int_gzero:N \g_docMRTbundle_dsctable_lines_int
- \hspace*{-\dimexpr\marginparwidth+\marginparsep\relax}
- \IfNoValueTF { #1 }
- { \seq_set_split:Nnn \l_tmpa_seq { , } { } }
- { \seq_set_split:Nnn \l_tmpa_seq { , } { ,#1 } }
- \tl_if_in:nnTF { #2 } { , }
- {
- \seq_set_split:Nnn \l_tmpb_seq { , } { #2 }
- \tl_clear:N \l_docMRTbundle_macro_name_tl
- \seq_map_function:NN \l_tmpb_seq \docMRTbundle_dscopt_widest:n
- \tl_set:Nn \l_docMRTbundle_macro_name_tl { \seq_item:Nn \l_tmpb_seq 1 }
- }
- {
- \tl_set:Nn \l_docMRTbundle_macro_name_tl { #2 }
- \seq_map_function:NN \l_tmpa_seq \docMRTbundle_dscopt_widest:n
- }
- \begin{minipage}[t][0pt]{\l_docMRTbundle_dscmac_widest_dim}
- \raggedleft
- \noindent
- \begin{tabular}[t]{@{}l@{}}
- \toprule
- \tl_if_in:nnTF { #2 } { , }
- {
- \seq_map_function:NN\l_tmpb_seq \docMRTbunndle_dscopt_multiple_mac:n
- }
- {
- \seq_map_function:NN\l_tmpa_seq \docMRTbundle_dscopt_table_element:n
- }
- \bottomrule
- \end{tabular}
- \end{minipage}
- \hspace*{\marginparsep}
- \begin{minipage}[t]
- {
- \dimexpr
- \textwidth + \marginparwidth - \l_docMRTbundle_dscmac_widest_dim
- \relax
- }
- \vspace*{1\baselineskip}
- \raggedright
- \setbox0\hbox{\texttt{\space\space}}
- \@hangfrom{\hskip\wd0}\hskip-\wd0
- { \smash { \IfValueTF { #3 } { =~ \texttt{#3} } { --NoArgument-- } } }
- \vspace*{.5\baselineskip}
- \end{minipage}\\
- \hangindent \l_docMRTbundle_dscmac_indent_dim
- \noindent
- \ignorespaces
- }
- {
- \__docMRTbundle_dscmac_end:
- }% =<<
- \NewDocumentCommand \dscremaininglines { m }%>>=
- {
- \vskip
- \dimexpr
- #1\baselineskip - 1.5\baselineskip + 1.2ex
- \relax
- }%=<<
- \NewDocumentCommand \docIndividualVersions {}%>>=
- {
- \makeatletter
- % If one of the packages is not loaded, the version and date of it are not
- % defined. So we have to read the first two lines containing those
- % definitions.
- \ior_new:N \l_docMRTbundle_unloaded_ior
- \clist_map_inline:nn
- { MRTbeam.cls, MRTalone.cls, MRTlmscale.sty, MRTcirc.sty }
- {
- \ior_open:Nn \l_docMRTbundle_unloaded_ior { ##1 }
- \ior_get:NN \l_docMRTbundle_unloaded_ior \l_tmpa_tl
- \exp_args:NnV \tl_rescan:nn {} \l_tmpa_tl
- \ior_get:NN \l_docMRTbundle_unloaded_ior \l_tmpa_tl
- \exp_args:NnV \tl_rescan:nn {} \l_tmpa_tl
- \ior_close:N \l_docMRTbundle_unloaded_ior
- }
- \makeatother
- \begingroup
- \begin{MRTtable}
- [
- ,col=lcc
- ,long
- ,caption={Versions~of~Individual~Classes~and~Packages}
- ,pre=
- \setbox0\hbox{0.0.00}%
- \edef\versionlineAUX##1##2%
- {
- ##1{MRT##2}
- \noexpand& \noexpand\csuse{MRT##2@date}
- \noexpand& \noexpand\makebox[\the\wd0][l]{\noexpand\csuse{MRT##2@version}}
- \noexpand\\
- }
- \protected\def\versionline{\MRTutil@Oarg{\pkg}\versionlineAUX}
- ]
- Class/Package & Date & Version\\
- \versionline[\cls]{thesis}
- \versionline[\cls]{beam}
- \versionline[\cls]{alone}
- \versionline{tab}
- \versionline{fonts}
- \versionline{if}
- \versionline{circ}
- \versionline{wuline}
- \versionline{sfacc}
- \versionline{lmscale}
- \versionline{util}
- \end{MRTtable}
- \endgroup
- }%=<<
- \NewDocumentCommand \bverb { v }%>>=
- {
- \group_begin:
- \tl_set:Nn \l_docMRTbundle_tmp_tl { #1 }
- \clist_map_inline:Nn \l_docMRTbundle_bverb_pre_points_clist
- { \tl_replace_all:Nnn \l_docMRTbundle_tmp_tl { ##1 } { \hskip0pt ##1 } }
- \clist_map_inline:Nn \l_docMRTbundle_bverb_post_points_clist
- { \tl_replace_all:Nnn \l_docMRTbundle_tmp_tl { ##1 } { ##1 \hskip0pt } }
- \clist_map_inline:Nn \l_docMRTbundle_bverb_both_points_clist
- {
- \tl_replace_all:Nnn \l_docMRTbundle_tmp_tl
- { ##1 } { \hskip0pt ##1 \hskip0pt }
- }
- \verbatim@font
- \@noligs
- \frenchspacing
- \l_docMRTbundle_tmp_tl
- \group_end:
- }%=<<
- \NewDocumentCommand \file { v }%>>=
- {
- \group_begin:
- \tl_set:Nn \l_docMRTbundle_tmp_tl { #1 }
- \clist_map_inline:Nn \l_docMRTbundle_file_pre_clist
- {
- \tl_replace_all:Nnn \l_docMRTbundle_tmp_tl { ##1 } { \textrm{\-} ##1 }
- }
- \clist_map_inline:Nn \l_docMRTbundle_file_post_clist
- {
- \tl_replace_all:Nnn \l_docMRTbundle_tmp_tl { ##1 } { ##1 \textrm{\-} }
- }
- \texttt { \l_docMRTbundle_tmp_tl }
- \group_end:
- }%=<<
- \NewDocumentEnvironment { fakeitemize } {}%>>=
- {% begin >>=
- \dim_set:Nn \l_docMRTbundle_fakeit_indent_dim { 2em }
- \int_incr:N \l_docMRTbundle_fakeit_level_int
- \int_compare:nNnT { \l_docMRTbundle_fakeit_level_int } = { \c_zero_int }
- { \null\\[\dimexpr.9ex-\baselineskip\relax] }
- \cs_set_protected:Npn \item
- {
- \null\\[.1ex]
- \null
- \hskip\l_docMRTbundle_fakeit_level_int\l_docMRTbundle_fakeit_indent_dim
- \makebox[2em][c]
- {
- \clist_item:Nn \l_docMRTbundle_fakeit_symbols_clist
- { \l_docMRTbundle_fakeit_level_int + \c_one_int }
- }
- }
- }%=<<
- {% end >>=
- \int_compare:nNnTF { \l_docMRTbundle_fakeit_level_int } = { \c_zero_int }
- { \null\\[1ex] }
- { \null\\[\dimexpr.1ex-\baselineskip\relax] }
- }%=<<
- %=<<
- \NewDocumentCommand \dangerzone { O{1} }%>>=
- {
- \scalebox{#1}
- {
- \makebox[1em][c]
- {
- \makebox[0pt][c]{\raisebox{.17ex}{\scalebox{.4}{\kern-.11ex!}}}
- \makebox[0pt][c]{\color{red}$\bigtriangleup$}
- }
- }
- }%=<<
- \NewDocumentCommand \dangerzoneAlt { O{1} }%>>=
- { % requires installed fourier package
- \group_begin:
- \scalebox{#1}
- {
- \fontencoding{U}
- \fontfamily{futs}
- \selectfont
- \char 66
- }
- \group_end:
- }%=<<
- \NewDocumentCommand \dangermargin { s O{\Huge} D(){1} }%>>=
- {
- \group_begin:
- \IfBooleanT { #1 } { \reversemarginpar }
- \marginnote
- {
- #2
- \dangerzone[#3]
- }
- \group_end:
- }%=<<
- \NewDocumentCommand \dangerleft { O{\Huge} D(){1} }%>>=
- {
- \leavevmode
- \llap { \smash { #1 \dangerzone[#2] \hskip \marginparsep } }
- \ignorespaces
- }%=<<
- \NewExpandableDocumentCommand \easysout {}%>>=
- {
- \texorpdfstring{\easysout@}{\@firstofone}
- }%=<<
- \NewDocumentCommand \easysout@ {}%>>=
- {
- \bgroup
- \markoverwith { \rule [.4ex ] { .1ex } { .15ex } }
- \ULon
- }%=<<
- \NewDocumentCommand \plannedsection { O{} o m }%>>=
- {
- \use:c { #1section }
- [ \easysout { \IfValueTF { #2 } { #2 } { #3 } } \PlannedSecLabel ]
- { #3 }
- \leavevmode
- \dangermargin*
- \NotImplementedMessage{#1}
- }%=<<
- \NewExpandableDocumentCommand \PlannedSecLabel {}%>>=
- {
- \texorpdfstring
- { \ \ \textsc { [Planned] } }
- { ~[Planned] }
- }%=<<
- \NewDocumentCommand \Seq {}%>>=
- {
- \mbox{}
- \spacefactor100\relax
- \space
- =
- \spacefactor100\relax
- \space
- }%=<<
- \NewDocumentEnvironment { incompatibilities } { O{} m o }%>>=
- {%>>=
- \use:c { #1 section } { #2 } \IfValueT { #3 } { \label { #3 } }
- \hbox_set:Nn \l_tmpa_box { v00.00.00 }
- \hbox_set:Nn \l_tmpb_box { Version }
- \dim_compare:nNnT { \box_wd:N \l_tmpa_box } > { \box_wd:N \l_tmpb_box }
- { \box_set_eq:NN \l_tmpb_box \l_tmpa_box }
- \hbox_set:Nn \l_tmpa_box { 0000-00-00 }
- \dim_set:Nn \l_tmpa_dim
- {
- \linewidth - \box_wd:N \l_tmpa_box - \box_wd:N \l_tmpb_box - 7\tabcolsep
- - .5\linewidth
- }
- \begin{MRTtable}
- [
- ,long
- ,caption=
- Downwards~Incompatibilities~in~#2~introduced~by~Date~and~Version
- ,col=
- W { l } { \box_wd:N \l_tmpa_box }
- W { c } { \box_wd:N \l_tmpb_box }
- >{ \raggedright \setstretch { 1 } } p { \l_tmpa_dim }
- >{ \setstretch { 1 } } p { \dim_eval:n { .5\linewidth - \tabcolsep } }
- ]
- Date & Version & Affected & Description \\
- }%=<<
- { \end { MRTtable } }%=<<
- \cs_new_protected:Npx \__docMRTbundle_replace_verb_newline:Nn #1 #2%>>=
- {
- \tl_replace_all:Nnn #1
- { \char_generate:nn { 13 } { 12 } }
- { #2 }
- }%=<<
- \cs_new_protected:Npx \__docMRTbundle_replace_verb_newline_newline:Nn #1 #2%>>=
- {
- \tl_replace_all:Nnn #1
- { \char_generate:nn { 13 } { 12 } \char_generate:nn { 13 } { 12 } }
- { #2 }
- }%=<<
- \tl_new:N \l__docMRTbundle_doandprint_tl
- \cs_set_eq:NN \__docMRTbundle_everyeof:w \tex_everyeof:D
- \cs_set_eq:NN \__docMRTbundle_scantokens:w \tex_scantokens:D
- \NewDocumentCommand \DoAndPrint { +v }%>>=
- {
- \tl_set:Nn \l__docMRTbundle_doandprint_tl { #1 }
- \__docMRTbundle_replace_verb_newline_newline:Nn
- \l__docMRTbundle_doandprint_tl { \par }
- \__docMRTbundle_replace_verb_newline:Nn
- \l__docMRTbundle_doandprint_tl { ~ }
- \group_begin:
- \__docMRTbundle_everyeof:w { \exp_not:N }
- \exp_args:NNNo
- \exp_after:wN
- \group_end:
- \__docMRTbundle_scantokens:w { \l__docMRTbundle_doandprint_tl }
- \tl_set:Nn \l__docMRTbundle_doandprint_tl { #1 }
- \__docMRTbundle_replace_verb_newline:Nn
- \l__docMRTbundle_doandprint_tl { \\\mbox{} }
- \group_begin:
- \trivlist\item\relax
- \leftskip\@totalleftmargin
- \rightskip\z@skip
- \parindent\z@
- \parfillskip\@flushglue
- \parskip\z@skip
- \verbatim@font
- \frenchspacing
- \l__docMRTbundle_doandprint_tl
- \endtrivlist
- \group_end:
- }%=<<
- \ExplSyntaxOff
-
- \NewDocumentCommand \NotImplementedMessage { m +O{} }%>>=
- {%
- \emph{Not Implemented yet!}
- Everything in this #1section is mostly inside of the documentation to remind
- me that I still have to code this and to give me a specification what has to
- be inside the final version. #2\par
- }%=<<
-
- %Shamelessly copied from doc.sty
- \def\MakeShortVerb{%>>=
- \@ifstar
- {\def\@shortvrbdef{\verb*}\@MakeShortVerb}%
- {\def\@shortvrbdef{\bverb}\@MakeShortVerb}}%=<<
- \def\@MakeShortVerb#1{%>>=
- \expandafter\ifx\csname cc\string#1\endcsname\relax
- \@shortvrbinfo{Made }{#1}\@shortvrbdef
- \add@special{#1}%
- \expandafter
- \xdef\csname cc\string#1\endcsname{\the\catcode`#1}%
- \begingroup
- \catcode`\~\active \lccode`\~`#1%
- \lowercase{%
- \global\expandafter\let
- \csname ac\string#1\endcsname~%
- \expandafter\gdef\expandafter~\expandafter{\@shortvrbdef~}}%
- \endgroup
- \global\catcode`#1\active
- \else
- \@shortvrbinfo\@empty{#1 already}{\@empty\verb(*)}%
- \fi}%=<<
- \def\DeleteShortVerb#1{%>>=
- \expandafter\ifx\csname cc\string#1\endcsname\relax
- \@shortvrbinfo\@empty{#1 not}{\@empty\verb(*)}%
- \else
- \@shortvrbinfo{Deleted }{#1 as}{\@empty\verb(*)}%
- \rem@special{#1}%
- \global\catcode`#1\csname cc\string#1\endcsname
- \global \expandafter\let \csname cc\string#1\endcsname \relax
- \ifnum\catcode`#1=\active
- \begingroup
- \catcode`\~\active \lccode`\~`#1%
- \lowercase{%
- \global\expandafter\let\expandafter~%
- \csname ac\string#1\endcsname}%
- \endgroup \fi \fi}%=<<
- \def\@shortvrbinfo#1#2#3{%>>=
- \PackageInfo{doc}{%
- #1\expandafter\@gobble\string#2 a short reference
- for \expandafter\string#3}}%=<<
- \def\add@special#1{%>>=
- \rem@special{#1}%
- \expandafter\gdef\expandafter\dospecials\expandafter
- {\dospecials \do #1}%
- \expandafter\gdef\expandafter\@sanitize\expandafter
- {\@sanitize \@makeother #1}}%=<<
- \def\rem@special#1{%>>=
- \def\do##1{%
- \ifnum`#1=`##1 \else \noexpand\do\noexpand##1\fi}%
- \xdef\dospecials{\dospecials}%
- \begingroup
- \def\@makeother##1{%
- \ifnum`#1=`##1 \else \noexpand\@makeother\noexpand##1\fi}%
- \xdef\@sanitize{\@sanitize}%
- \endgroup}%=<<
- \AtBeginDocument{\MakeShortVerb \|}
- \AtEndDocument{\DeleteShortVerb \|}
- \makeatother
-
- % vim: ft=tex fdm=marker fmr=>>=,=<< sw=2 ts=2 tw=80
|