texlive[64311] Master/texmf-dist: menukeys (7sep22)
commits+karl at tug.org
commits+karl at tug.org
Wed Sep 7 22:43:08 CEST 2022
Revision: 64311
http://tug.org/svn/texlive?view=revision&revision=64311
Author: karl
Date: 2022-09-07 22:43:08 +0200 (Wed, 07 Sep 2022)
Log Message:
-----------
menukeys (7sep22)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/menukeys/menukeys.pdf
trunk/Master/texmf-dist/source/latex/menukeys/menukeys.dtx
trunk/Master/texmf-dist/source/latex/menukeys/menukeys.ins
trunk/Master/texmf-dist/tex/latex/menukeys/menukeys.sty
Added Paths:
-----------
trunk/Master/texmf-dist/tex/latex/menukeys/menukeys-2020-12-19.sty
Modified: trunk/Master/texmf-dist/doc/latex/menukeys/menukeys.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/source/latex/menukeys/menukeys.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/menukeys/menukeys.dtx 2022-09-07 20:42:47 UTC (rev 64310)
+++ trunk/Master/texmf-dist/source/latex/menukeys/menukeys.dtx 2022-09-07 20:43:08 UTC (rev 64311)
@@ -9,9 +9,14 @@
%%
%% https://www.latex-project.org/lppl.txt
%%
-%<package>\NeedsTeXFormat{LaTeX2e}[2009/01/01]
-%<package>\ProvidesPackage{menukeys}
-%<package> [2020/12/19 v1.6.1 -- A package to format menus, paths and shortcuts]
+%<pkg>\NeedsTeXFormat{LaTeX2e}[2009/01/01]
+%<rbk>\providecommand\DeclareRelease[3]{}
+%<rbk>\providecommand\DeclareCurrentRelease[2]{}
+%<rbk>\DeclareRelease{v1.6.1}{2020-12-19}{menukeys-2020-12-19.sty}
+%<rbk>\DeclareCurrentRelease{v1.6.2}{2022-07-01}
+%<pkg>\ProvidesPackage{menukeys}
+%<cur> [2022/07/01 v1.6.2 -- A package to format menus, paths and shortcuts]
+%<161> [2020/12/19 v1.6.1 -- A package to format menus, paths and shortcuts]
%
%<*driver>
\documentclass{ltxdoc}
@@ -34,6 +39,15 @@
urlcolor=darkred,
bookmarksopen=true,
bookmarksdepth=10,
+ pdftitle={The menukeys package},
+ pdfsubject={%
+ Format menu sequences, paths and keystrokes from lists.%
+ },
+ pdfauthor={%
+ Tobias Weh (mail at tobiw.de), Jonathan P. Spratte
+ (jspratte at yahoo.de)%
+ },
+ pdfkeywords={The menukeys package, LaTeX}
}{hyperref}
\PassOptionsToPackage{hyphens}{url}
\usepackage{hypdoc}
@@ -211,7 +225,7 @@
% \changes{v1.2}{2013/07/23}{Added \cs{SPACE} and \cs{spacename}}
% \changes{v1.2}{2013/07/23}{Added \cs{normalsize} before symbol definitions to make
% the \texttt{ex} unit available}
-% \changes{v1.2a}{2013/09/10}{Replaced obsolete \cs{tikzsytle}}
+% \changes{v1.2a}{2013/09/10}{Replaced obsolete \cs{tikzstyle}}
% \changes{v1.2a}{2013/09/10}{Added braces to the \cs{tikz} macro since the parser
% seems to crash with \pkg{babel}'s french option otherwise.}
% \changes{v1.3}{2014/03/10}{Improved key symbols.}
@@ -230,7 +244,7 @@
% \DoNotIndex{\@tempboxa,\@tempcnta,\@tempdima,\@tempdimb}
% \DoNotIndex{\@tempswafalse,\@tempswatrue,\@viipt,\@viiipt,\@vipt}
% \DoNotIndex{\@vpt,\@warning,\@xiipt,\@xipt,\@xivpt,\@xpt,\@xviipt}
-% \DoNotIndex{\@xxpt,\@xxvpt,\\,\,\addpenalty,\addtolength,\addvspace}
+% \DoNotIndex{\@xxpt,\@xxvpt,\\,\,,\addpenalty,\addtolength,\addvspace}
% \DoNotIndex{\advance,\ast,\begin,\begingroup,\bfseries,\bgroup,\box}
% \DoNotIndex{\bullet}
% \DoNotIndex{\cdot,\cite,\CodelineIndex,\cr,\day,\DeclareOption}
@@ -520,11 +534,11 @@
% \item [sep] is the code executed between the lists elements, e.g. some
% space or a symbol.
% \item [mid] is the style for all elements between the first and the
-% last one. It has to be a \TikZ sytle.
+% last one. It has to be a \TikZ style.
% \item [last] is the style for the last list element.
-% It has to be a \TikZ sytle.
+% It has to be a \TikZ style.
% \item [single] this style is used if the list contains only one element.
-% It has to be a \TikZ sytle.
+% It has to be a \TikZ style.
% \item [post] is the code which is executed after a menu macro.
% \item [theme] is a color theme (see section~\ref{colors}).
% \end{description}
@@ -760,9 +774,12 @@
% If you find something to add to this list please send me an e-mail or report a
% bug on GitHub (\url{https://github.com/tweh/menukeys}).
%
-% \StopEventually{\clearpage\PrintChanges\PrintIndex}
+% \StopEventually{\clearpage\PrintChanges\clearpage\PrintIndex}
%
% \section{Implementation}
+% \begin{macrocode}
+%<*pkg>
+% \end{macrocode}
% \subsection{Required packages}
% \changes{v1.6}{2020/10/27}{Don't load \pkg{catoptions}}
% Load the required packages
@@ -1107,12 +1124,12 @@
}
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\tw at declare@sytle}\begin{macro}{\tw at declare@sytle at extra@args}
+% \begin{macro}{\tw at declare@style}\begin{macro}{\tw at declare@style at extra@args}
% The next step is to create the extended command. This command must have
% ten arguments (including the star) so we have to define a helping macro
% to grab the last two macros.
% \begin{macrocode}
-\DeclareDocumentCommand{\tw at declare@sytle at extra@args}{%
+\DeclareDocumentCommand{\tw at declare@style at extra@args}{%
O{\tw at default@post} m
}{%
\csdef{tw at style@\tw at current@style @post}{#1}%
@@ -1146,7 +1163,7 @@
\tikz[baseline=(tw at node.base)]{%
\node(tw at node)[#7]{\strut\CurrentMenuElement};}}%
}%
- \tw at declare@sytle at extra@args%
+ \tw at declare@style at extra@args%
}
% \end{macrocode}
% \end{macro}\end{macro}
@@ -1430,7 +1447,15 @@
\hspace{0.2ex}\hspace{0.1em plus 0.1em minus 0.05em}%
\textcolor{\usemenucolor{b}}{\raisebox{0.25ex}{\sffamily\relsize{-2}+}}%
\hspace{0.1em plus 0.1em minus 0.05em}%
-][\hspace{0.2ex}]{gray}
+% \end{macrocode}
+% \changes{v1.6.2}{2022/07/01}{changed \cs{hspace} to \cs{kern}}
+% \begin{macrocode}
+%</pkg>
+%<cur>][\kern0.2ex\relax]{gray}
+%<161>][\hspace{0.2ex}]{gray}
+%<*pkg>
+% \end{macrocode}
+% \begin{macrocode}
\tikzset{tw at angularkeys@base/.style={%
tw at set@tikz at colors,
@@ -1472,7 +1497,15 @@
\hspace{0.2ex}\hspace{0.1em plus 0.1em minus 0.05em}%
\textcolor{\usemenucolor{b}}{\raisebox{0.25ex}{\sffamily\relsize{-2}+}}%
\hspace{0.1em plus 0.1em minus 0.05em}%
-][\hspace{0.2ex}]{gray}
+% \end{macrocode}
+% \changes{v1.6.2}{2022/07/01}{changed \cs{hspace} to \cs{kern}}
+% \begin{macrocode}
+%</pkg>
+%<cur>][\kern0.2ex\relax]{gray}
+%<161>][\hspace{0.2ex}]{gray}
+%<*pkg>
+% \end{macrocode}
+% \begin{macrocode}
\tikzset{tw at typewriterkeys@base/.style={%
tw at set@tikz at colors,
@@ -2110,6 +2143,9 @@
\fi
% \end{macrocode}
%
+% \begin{macrocode}
+%</pkg>
+% \end{macrocode}
%
% \Finale
\endinput
Modified: trunk/Master/texmf-dist/source/latex/menukeys/menukeys.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/menukeys/menukeys.ins 2022-09-07 20:42:47 UTC (rev 64310)
+++ trunk/Master/texmf-dist/source/latex/menukeys/menukeys.ins 2022-09-07 20:43:08 UTC (rev 64311)
@@ -36,7 +36,11 @@
\endpreamble
\askforoverwritefalse
-\generate{\file{menukeys.sty}{\from{menukeys.dtx}{package}}}
+\generate
+ {%
+ \file{menukeys.sty}{\from{menukeys.dtx}{pkg,cur,rbk}}%
+ \file{menukeys-2020-12-19.sty}{\from{menukeys.dtx}{pkg,161}}%
+ }
\obeyspaces
\Msg{****************************************************}
Added: trunk/Master/texmf-dist/tex/latex/menukeys/menukeys-2020-12-19.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/menukeys/menukeys-2020-12-19.sty (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/menukeys/menukeys-2020-12-19.sty 2022-09-07 20:43:08 UTC (rev 64311)
@@ -0,0 +1,1008 @@
+%%
+%% This is file `menukeys-2020-12-19.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% menukeys.dtx (with options: `pkg,161')
+%%
+%% This is a generated file.
+%%
+%% Copyright (C) 2016 by Tobias Weh
+%% www.tobiw.de/en
+%%
+%% This file 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:
+%%
+%% https://www.latex-project.org/lppl.txt
+%%
+%% and version 1.2 or later is part of all distributions of
+%% LaTeX version 1999/12/01 or later.
+%%
+%% File: menukeys.dtx Copyright (c) Tobias Weh
+%%
+%% This file may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License (LPPL), either version 1.3c of this
+%% license or (at your option) any later version. The latest version
+%% of this license is in the file
+%%
+%% https://www.latex-project.org/lppl.txt
+%%
+\NeedsTeXFormat{LaTeX2e}[2009/01/01]
+\ProvidesPackage{menukeys}
+ [2020/12/19 v1.6.1 -- A package to format menus, paths and shortcuts]
+\RequirePackage{xparse}
+\RequirePackage{xstring}
+\RequirePackage{etoolbox}
+\RequirePackage{tikz}
+ \usetikzlibrary{calc,shapes.symbols,shadows}
+\RequirePackage{xcolor}
+\RequirePackage{adjustbox}
+\RequirePackage{relsize}
+\ExplSyntaxOn
+\cs_new_eq:NN \tw at mk@trimspaces \tl_trim_spaces:n
+\cs_new_eq:NN \tw at mk@exp at Nnno \exp_args:Nnno
+\cs_new_eq:NN \tw at mk@string \cs_to_str:N
+\prg_generate_conditional_variant:Nnn \tl_if_in:nn { xx } { TF }
+\cs_new:Npn \tw at mk@xifinsetTF #1 #2
+ {
+ \tl_if_in:xxTF {#2} {#1}
+ }
+\cs_new:Npn \tw at mk@iflastindris
+ {
+ \seq_if_empty:NTF \l__twmk_indris_seq
+ }
+\seq_new:N \l__twmk_indris_seq
+\int_new:N \l__twmk_indris_int
+\tl_new:N \l__twmk_indris_tl
+\cs_new_eq:NN \tw at mk@indrisnr \l__twmk_indris_int
+\seq_new:N \l__twmk_indris_seqstack_seq
+\seq_new:N \l__twmk_indris_intstack_seq
+\cs_new_protected:Npn \__twmk_pushseq:
+ {
+ \seq_push:No \l__twmk_indris_seqstack_seq \l__twmk_indris_seq
+ }
+\cs_new_protected:Npn \__twmk_pushint:
+ {
+ \seq_push:NV \l__twmk_indris_intstack_seq \l__twmk_indris_int
+ }
+\cs_new_protected:Npn \__twmk_popseq:
+ {
+ \seq_if_empty:NTF \l__twmk_indris_seqstack_seq
+ { \seq_clear:N \l__twmk_indris_seq }
+ { \seq_pop:NN \l__twmk_indris_seqstack_seq \l__twmk_indris_seq }
+ }
+\cs_new_protected:Npn \__twmk_popint:
+ {
+ \seq_if_empty:NTF \l__twmk_indris_intstack_seq
+ { \int_zero:N \l__twmk_indris_int }
+ {
+ \group_begin:
+ \seq_pop:NN \l__twmk_indris_intstack_seq \l__twmk_indris_tl
+ \exp_args:NNNo
+ \group_end:
+ \int_set:Nn \l__twmk_indris_int \l__twmk_indris_tl
+ }
+ }
+\cs_generate_variant:Nn \seq_set_split:Nnn { Noo }
+\cs_new_protected:Npn \tw at mk@indrisloop #1 #2 #3
+ {
+ \__twmk_pushseq:
+ \__twmk_pushint:
+ \seq_set_split:Noo \l__twmk_indris_seq {#1} {#2}
+ \int_zero:N \l__twmk_indris_int
+ \bool_do_while:nn { \bool_not_p:n { \seq_if_empty_p:N \l__twmk_indris_seq } }
+ {
+ \int_incr:N \l__twmk_indris_int
+ \seq_pop_left:NN \l__twmk_indris_seq \l__twmk_indris_tl
+ \exp_args:No #3 \l__twmk_indris_tl
+ }
+ \__twmk_popseq:
+ \__twmk_popint:
+ }
+\ExplSyntaxOff
+\newcommand*{\tw at mk@error}[2][Please consult the manual for more information.]{%
+ \PackageError{menukeys}{#2}{#1}%
+}
+\newcommand*{\tw at mk@warning}[1]{%
+ \PackageWarning{menukeys}{#1}%
+}
+\newcommand*{\tw at mk@warning at noline}[1]{%
+ \PackageWarningNoLine{menukeys}{#1}%
+}
+\def\tw at mk@tempa{}
+\def\tw at mk@tempb{}
+\DeclareDocumentCommand{\tw at mk@gobble at args}{m}{%
+ \RenewDocumentCommand{\tw at mk@tempa}{#1}{}%
+ \tw at mk@tempa%
+}
+\RequirePackage{kvoptions}
+\SetupKeyvalOptions{
+ family=tw at mk,
+ prefix=tw at mk@
+}
+\DeclareBoolOption[true]{definemenumacros}
+\DeclareBoolOption[true]{definekeys}
+\DeclareBoolOption[false]{hyperrefcolorlinks}
+\DeclareStringOption[mac]{os}
+\DeclareStringOption[symbols]{mackeys}
+\ProcessKeyvalOptions{tw at mk}\relax
+\IfSubStr{.mac.win.}{.\tw at mk@os.}{}{%
+ \tw at mk@error{Unknown value for option 'os'\MessageBreak
+ Possible values are 'mac' or 'win'.}%
+}
+\IfSubStr{.symbols.text.}{.\tw at mk@mackeys.}{}{%
+ \tw at mk@error{Unknown value for option 'mackeys'\MessageBreak
+ Possible values are 'symbols' or 'text'.}%
+}
+\iftw at mk@hyperrefcolorlinks
+ \tw at mk@warning{The option `hyperrefcolorlinks' is obsolete}
+ \@ifpackageloaded{hyperref}
+ {\hypersetup{colorlinks}}
+ {\PassOptionsToPackage{colorlinks}{hyperref}}
+\fi
+\newcommand*{\tw at make@color at theme}[8]{%
+ \definecolor{tw at color@theme@#1 at bg}{#2}{#3}%
+ \definecolor{tw at color@theme@#1 at br}{#2}{#4}%
+ \definecolor{tw at color@theme@#1 at txt}{#2}{#5}%
+ \definecolor{tw at color@theme@#1 at a}{#2}{#6}%
+ \definecolor{tw at color@theme@#1 at b}{#2}{#7}%
+ \definecolor{tw at color@theme@#1 at c}{#2}{#8}%
+}
+\NewDocumentCommand{\newmenucolortheme}{ m m m m m O{#3} O{#4} O{#5} }{%
+ \@ifundefinedcolor{tw at color@theme@#1 at bg}{%
+ \tw at make@color at theme{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}%
+ }{%
+ \tw at mk@error{Color theme '#1' already defined!\MessageBreak
+ Use \string\renewmenucolortheme\space instead.}%
+ }
+}
+\NewDocumentCommand{\renewmenucolortheme}{ m m m m m O{#3} O{#4} O{#5} }{%
+ \tw at make@color at theme{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}%
+}
+\newcommand*{\changemenucolor}[4]{%
+ \IfSubStr{ bg br txt }{ #2 }{%
+ \definecolor{tw at color@theme@#1@#2}{#3}{#4}%
+ }{%
+ \tw at mk@error{No such color element ('#2')!\MessageBreak
+ Possible values are bg, br and txt.}
+ }%
+}
+\newcommand*{\copymenucolortheme}[2]{%
+ \@ifundefinedcolor{tw at color@theme@#1 at bg}{%
+ \colorlet{tw at color@theme@#1 at bg}{tw at color@theme@#2 at bg}%
+ \colorlet{tw at color@theme@#1 at br}{tw at color@theme@#2 at br}%
+ \colorlet{tw at color@theme@#1 at txt}{tw at color@theme@#2 at txt}%
+ \colorlet{tw at color@theme@#1 at a}{tw at color@theme@#2 at a}%
+ \colorlet{tw at color@theme@#1 at b}{tw at color@theme@#2 at b}%
+ \colorlet{tw at color@theme@#1 at c}{tw at color@theme@#2 at c}%
+ }{%
+ \tw at mk@error{Color theme '#1' already defined!\MessageBreak
+ Use \string\renewmenucolortheme\space instead.}
+ }
+}
+\newcommand{\changemenucolortheme}[2]{%
+ \ifcsundef{tw at style@#1 at pre}{%
+ \tw at mk@error{Style '#1' undefined!\MessageBreak
+ Maybe you misspelled it?}%
+ }{%
+ \@ifundefinedcolor{tw at color@theme@#2 at bg}{%
+ \tw at mk@error{Color theme '#2' is not defined!}%
+ }{%
+ \csdef{tw at style@#1 at color@theme}{#2}%
+ }%
+ }%
+}
+\newcommand{\usemenucolor}[1]{%
+ tw at color@theme@\tw at current@color at theme @#1%
+}
+\newmenucolortheme{gray}{gray}{0.95}{0.3}{0}[0.95][0][0]
+\newmenucolortheme{blacknwhite}{gray}{1}{0}{0}[1][0][0]
+\newcommand{\tw at default@sep}{%
+ \hspace{0.2em plus 0.1em minus 0.5em}%
+}
+\newcommand{\tw at default@pre}{}
+\newcommand{\tw at default@post}{}
+\DeclareDocumentCommand{\tw at declare@style at simple}{%
+ s m O{\tw at default@pre} m O{\tw at default@sep} O{\tw at default@post} m
+}{%
+ \csdef{tw at style@#2 at color@theme}{#7}%
+ \csdef{tw at style@#2 at pre}{#3}%
+ \csdef{tw at style@#2 at sep}{#5}%
+ \csdef{tw at style@#2 at post}{#6}%
+ \IfBooleanTF{#1}{%
+ \csdef{tw at style@#2 at single}{#4}%
+ \csdef{tw at style@#2 at first}{#4}%
+ \csdef{tw at style@#2 at mid}{#4}%
+ \csdef{tw at style@#2 at last}{#4}%
+ }{%
+ \csdef{tw at style@#2 at single}{%
+ \tikz[baseline=(tw at node.base)]{%
+ \node(tw at node)[#4]{\strut\CurrentMenuElement};}}%
+ \csdef{tw at style@#2 at first}{%
+ \tikz[baseline=(tw at node.base)]{%
+ \node(tw at node)[#4]{\strut\CurrentMenuElement};}}%
+ \csdef{tw at style@#2 at mid}{%
+ \tikz[baseline=(tw at node.base)]{%
+ \node(tw at node)[#4]{\strut\CurrentMenuElement};}}%
+ \csdef{tw at style@#2 at last}{%
+ \tikz[baseline=(tw at node.base)]{%
+ \node(tw at node)[#4]{\strut\CurrentMenuElement};}}%
+ }%
+}
+\DeclareDocumentCommand{\tw at declare@style at extra@args}{%
+ O{\tw at default@post} m
+}{%
+ \csdef{tw at style@\tw at current@style @post}{#1}%
+ \csdef{tw at style@\tw at current@style @color at theme}{#2}%
+}
+\DeclareDocumentCommand{\tw at declare@style}{%
+ s m O{\tw at default@pre} m O{\tw at default@sep} m m m
+}{%
+ \def\tw at current@style{#2}
+ \csdef{tw at style@#2 at pre}{#3}%
+ \csdef{tw at style@#2 at sep}{#5}%
+ \IfBooleanTF{#1}{%
+ \csdef{tw at style@#2 at single}{#8}%
+ \csdef{tw at style@#2 at first}{#4}%
+ \csdef{tw at style@#2 at mid}{#6}%
+ \csdef{tw at style@#2 at last}{#7}%
+ }{%
+ \csdef{tw at style@#2 at single}{%
+ \tikz[baseline=(tw at node.base)]{%
+ \node(tw at node)[#8]{\strut\CurrentMenuElement};}}%
+ \csdef{tw at style@#2 at first}{%
+ \tikz[baseline=(tw at node.base)]{%
+ \node(tw at node)[#4]{\strut\CurrentMenuElement};}}%
+ \csdef{tw at style@#2 at mid}{%
+ \tikz[baseline=(tw at node.base)]{%
+ \node(tw at node)[#6]{\strut\CurrentMenuElement};}}%
+ \csdef{tw at style@#2 at last}{%
+ \tikz[baseline=(tw at node.base)]{%
+ \node(tw at node)[#7]{\strut\CurrentMenuElement};}}%
+ }%
+ \tw at declare@style at extra@args%
+}
+\NewDocumentCommand{\newmenustylesimple}{s m}{%
+ \ifcsundef{tw at style@#2 at pre}{%
+ \IfBooleanTF{#1}{%
+ \tw at declare@style at simple*{#2}%
+ }{%
+ \tw at declare@style at simple{#2}%
+ }%
+ }{%
+ \tw at mk@error{Style '#2' already defined!\MessageBreak
+ Use \string\renewmenustylesimple\space instead.}%
+ \tw at mk@gobble at args{o m o o m}%
+ }%
+}
+\NewDocumentCommand{\renewmenustylesimple}{s m}{%
+ \IfBooleanTF{#1}{%
+ \tw at declare@style at simple*{#2}%
+ }{%
+ \tw at declare@style at simple{#2}%
+ }%
+}
+\NewDocumentCommand{\providemenustylesimple}{s m}{%
+ \ifcsundef{tw at style@#2 at pre}{%
+ \IfBooleanTF{#1}{%
+ \tw at declare@style at simple*{#2}%
+ }{%
+ \tw at declare@style at simple{#2}%
+ }%
+ }{%
+ \tw at mk@warning{Trying to provide style '#2' failed,\MessageBreak
+ because it's already defined.\MessageBreak
+ You may use \string\renewmenustylesimple\space instead.}%
+ \tw at mk@gobble at args{o m o o m}%
+ }%
+}
+
+\NewDocumentCommand{\newmenustyle}{s m}{%
+ \ifcsundef{tw at style@#2 at pre}{%
+ \IfBooleanTF{#1}{%
+ \tw at declare@style*{#2}%
+ }{%
+ \tw at declare@style{#2}%
+ }%
+ }{%
+ \tw at mk@error{Style '#2' already defined!\MessageBreak
+ Use \string\renewmenustyle\space instead.}%
+ \tw at mk@gobble at args{o m o m m m o m}%
+ }%
+}
+\NewDocumentCommand{\renewmenustyle}{s m}{%
+ \IfBooleanTF{#1}{%
+ \tw at declare@style*{#2}%
+ }{%
+ \tw at declare@style{#2}%
+ }%
+}
+\NewDocumentCommand{\providemenustyle}{s m}{%
+ \ifcsundef{tw at style@#2 at pre}{%
+ \IfBooleanTF{#1}{%
+ \tw at declare@style*{#2}%
+ }{%
+ \tw at declare@style{#2}%
+ }%
+ }{%
+ \tw at mk@warning{Trying to provide style #2 failed,\MessageBreak
+ because it's already defined.\MessageBreak
+ You may use \string\renewmenustyle\space instead.}%
+ \tw at mk@gobble at args{o m o m m m o m}%
+ }%
+}
+\newcommand*{\copymenustyle}[2]{%
+ \ifcsundef{tw at style@#1 at pre}{%
+ \ifcsundef{tw at style@#2 at pre}{%
+ \tw at mk@error{Can't copy not existing style ('#2')!}%
+ }{%
+ \csletcs{tw at style@#1 at pre}{tw at style@#2 at pre}%
+ \csletcs{tw at style@#1 at post}{tw at style@#2 at post}%
+ \csletcs{tw at style@#1 at sep}{tw at style@#2 at sep}%
+ \csletcs{tw at style@#1 at single}{tw at style@#2 at single}%
+ \csletcs{tw at style@#1 at first}{tw at style@#2 at first}%
+ \csletcs{tw at style@#1 at mid}{tw at style@#2 at mid}%
+ \csletcs{tw at style@#1 at last}{tw at style@#2 at last}%
+ \csletcs{tw at style@#1 at color@theme}{tw at style@#2 at color@theme}
+ }%
+ }{%
+ \tw at mk@error{Style '#1' already exists!}%
+ }%
+}
+\NewDocumentCommand{\changemenuelement}{s m m m}{%
+ \ifcsundef{tw at style@#2 at pre}{%
+ \tw at mk@error{Style '#2' undefined.}%
+ }{%
+ \IfSubStr{ single first middle last pre post sep }{ #3 }{%
+ \IfBooleanTF{#1}{%
+ \csdef{tw at style@#2@#3}{#4}%
+ }{%
+ \IfSubStr{ pre post sep }{ #3 }{%
+ \csdef{tw at style@#2@#3}{#4}%
+ }{%
+ \csdef{tw at style@#2@#3}{%
+ \tikz[baseline=(tw at node.base)]{%
+ \node(tw at node)[#4]{\strut\color{\usemenucolor{txt}}\CurrentMenuElement};}}%
+ }%
+ }%
+ }{\tw at mk@error{No element '#3'. Possible values are\MessageBreak
+ single, first, middle, last, pre, post or sep.}}%
+ }%
+}
+\tikzset{tw at set@tikz at colors/.style={%
+ draw=\usemenucolor{br},
+ fill=\usemenucolor{bg},
+ text=\usemenucolor{txt},
+}}
+\tikzset{tw at menus@base/.style={%
+ tw at set@tikz at colors,
+ rounded corners=0.15ex,
+ inner sep=0pt,
+ inner xsep=2pt,
+ text height=1.825ex,
+ text depth=0.7ex,
+ minimum width=1.5em,
+ font=\relsize{-1}\sffamily,
+ signal,
+ signal to=nowhere,
+ signal pointer angle=110,
+}}
+\tw at declare@style*{menus}{%
+ \tikz[baseline={($(tw at node.base)+(0,-0.2ex)$)}]{%
+ \node(tw at node)[tw at menus@base,signal to=east]%
+ {\strut\color{\usemenucolor{txt}}\CurrentMenuElement};}%
+}[\hspace{-0.2em}\hspace{0em plus 0.1em minus 0.05em}]%
+{%
+ \tikz[baseline={($(tw at node.base)+(0,-0.2ex)$)}]{%
+ \node(tw at node)[tw at menus@base,signal from=west,signal to=east]%
+ {\strut\color{\usemenucolor{txt}}\CurrentMenuElement};}%
+}{%
+ \tikz[baseline={($(tw at node.base)+(0,-0.2ex)$)}]{%
+ \node(tw at node)[tw at menus@base,signal from=west,]%
+ {\strut\color{\usemenucolor{txt}}\CurrentMenuElement};}%
+}{%
+ \tikz[baseline={($(tw at node.base)+(0,-0.2ex)$)}]{%
+ \node(tw at node)[tw at menus@base]{\strut\color{\usemenucolor{txt}}\CurrentMenuElement};}%
+}{gray}
+
+\tikzset{tw at roundedmenus@base/.style={%
+ tw at set@tikz at colors,
+ rounded corners=0.3ex,
+ inner sep=0pt,
+ inner xsep=2pt,
+ text height=1.825ex,
+ text depth=0.7ex,
+ minimum width=1.5em,
+ font=\relsize{-1}\sffamily,
+ signal,
+ signal to=nowhere,
+ signal pointer angle=110,
+}}
+\tw at declare@style*{roundedmenus}{%
+ \tikz[baseline={($(tw at node.base)+(0,-0.2ex)$)}]{%
+ \node(tw at node)[tw at roundedmenus@base,signal to=east]%
+ {\strut\color{\usemenucolor{txt}}\CurrentMenuElement};}%
+}[\hspace{-0.2em}\hspace{0em plus 0.1em minus 0.05em}]%
+{%
+ \tikz[baseline={($(tw at node.base)+(0,-0.2ex)$)}]{%
+ \node(tw at node)[tw at roundedmenus@base,signal from=west,signal to=east]%
+ {\strut\color{\usemenucolor{txt}}\CurrentMenuElement};}%
+}{%
+ \tikz[baseline={($(tw at node.base)+(0,-0.2ex)$)}]{%
+ \node(tw at node)[tw at roundedmenus@base,signal from=west,]%
+ {\strut\color{\usemenucolor{txt}}\CurrentMenuElement};}%
+}{%
+ \tikz[baseline={($(tw at node.base)+(0,-0.2ex)$)}]{%
+ \node(tw at node)[tw at roundedmenus@base]{\strut\color{\usemenucolor{txt}}\CurrentMenuElement};}%
+}{gray}
+
+\tikzset{tw at angularmenus@base/.style={%
+ tw at set@tikz at colors,
+ inner sep=0pt,
+ inner xsep=2pt,
+ text height=1.825ex,
+ text depth=0.7ex,
+ minimum width=1.5em,
+ font=\relsize{-1}\sffamily,
+ signal,
+ signal to=nowhere,
+ signal pointer angle=110,
+}}
+\tw at declare@style*{angularmenus}{%
+ \tikz[baseline={($(tw at node.base)+(0,-0.2ex)$)}]{%
+ \node(tw at node)[tw at angularmenus@base,signal to=east]%
+ {\strut\color{\usemenucolor{txt}}\CurrentMenuElement};}%
+}[\hspace{-0.2em}\hspace{0em plus 0.1em minus 0.05em}]%
+{%
+ \tikz[baseline={($(tw at node.base)+(0,-0.2ex)$)}]{%
+ \node(tw at node)[tw at angularmenus@base,signal from=west,signal to=east]%
+ {\strut\color{\usemenucolor{txt}}\CurrentMenuElement};}%
+}{%
+ \tikz[baseline={($(tw at node.base)+(0,-0.2ex)$)}]{%
+ \node(tw at node)[tw at angularmenus@base,signal from=west,]%
+ {\strut\color{\usemenucolor{txt}}\CurrentMenuElement};}%
+}{%
+ \tikz[baseline={($(tw at node.base)+(0,-0.2ex)$)}]{%
+ \node(tw at node)[tw at angularmenus@base]{\strut\color{\usemenucolor{txt}}\CurrentMenuElement};}%
+}{gray}
+
+\tikzset{tw at roundedkeys@base/.style={%
+ tw at set@tikz at colors,
+ rounded corners=0.3ex,
+ inner sep=0pt,
+ inner xsep=2pt,
+ text height=1.825ex,
+ text depth=0.7ex,
+ minimum width=1.5em,
+ font=\relsize{-1}\sffamily,
+}}
+\tw at declare@style at simple*{roundedkeys}{%
+ \tikz[baseline={($(tw at node.base)+(0,-0.2ex)$)}]{%
+ \node(tw at node)[tw at roundedkeys@base]%
+ {\strut\color{\usemenucolor{txt}}\CurrentMenuElement};}%
+}[%
+ \hspace{0.1em plus 0.1em minus 0.05em}%
+ \textcolor{\usemenucolor{b}}{\raisebox{0.25ex}{\sffamily\relsize{-2}+}}%
+ \hspace{0.1em plus 0.1em minus 0.05em}%
+]{gray}
+
+\tikzset{tw at shadowedroundedkeys@base/.style={%
+ tw at set@tikz at colors,
+ rounded corners=0.3ex,
+ inner sep=0pt,
+ inner xsep=2pt,
+ text height=1.825ex,
+ text depth=0.7ex,
+ minimum width=1.5em,
+ font=\relsize{-1}\sffamily,
+ general shadow={%
+ shadow xshift=.2ex, shadow yshift=-.15ex,
+ fill=\usemenucolor{c},
+ },
+}}
+\tw at declare@style at simple*{shadowedroundedkeys}{%
+ \tikz[baseline={($(tw at node.base)+(0,-0.2ex)$)}]{%
+ \node(tw at node)[tw at shadowedroundedkeys@base]%
+ {\strut\color{\usemenucolor{txt}}\CurrentMenuElement};%
+ }%
+}[%
+ \hspace{0.2ex}\hspace{0.1em plus 0.1em minus 0.05em}%
+ \textcolor{\usemenucolor{b}}{\raisebox{0.25ex}{\sffamily\relsize{-2}+}}%
+ \hspace{0.1em plus 0.1em minus 0.05em}%
+][\hspace{0.2ex}]{gray}
+
+\tikzset{tw at angularkeys@base/.style={%
+ tw at set@tikz at colors,
+ inner sep=0pt,
+ inner xsep=2pt,
+ text height=1.825ex,
+ text depth=0.7ex,
+ minimum width=1.5em,
+ font=\relsize{-1}\sffamily,
+}}
+\tw at declare@style at simple*{angularkeys}{%
+ \tikz[baseline={($(tw at node.base)+(0,-0.2ex)$)}]{%
+ \node(tw at node)[tw at angularkeys@base]%
+ {\strut\color{\usemenucolor{txt}}\CurrentMenuElement};}%
+}[%
+ \hspace{0.1em plus 0.1em minus 0.05em}%
+ \textcolor{\usemenucolor{b}}{\raisebox{0.25ex}{\sffamily\relsize{-2}+}}%
+ \hspace{0.1em plus 0.1em minus 0.05em}%
+]{gray}
+
+\tikzset{tw at shadowedangularkeys@base/.style={%
+ tw at set@tikz at colors,
+ inner sep=0pt,
+ inner xsep=2pt,
+ text height=1.825ex,
+ text depth=0.7ex,
+ minimum width=1.5em,
+ font=\relsize{-1}\sffamily,
+ general shadow={%
+ shadow xshift=.2ex, shadow yshift=-.15ex,
+ fill=\usemenucolor{c},
+ },
+}}
+\tw at declare@style at simple*{shadowedangularkeys}{%
+ \tikz[baseline={($(tw at node.base)+(0,-0.2ex)$)}]{%
+ \node(tw at node)[tw at shadowedangularkeys@base]%
+ {\strut\color{\usemenucolor{txt}}\CurrentMenuElement};}%
+}[%
+ \hspace{0.2ex}\hspace{0.1em plus 0.1em minus 0.05em}%
+ \textcolor{\usemenucolor{b}}{\raisebox{0.25ex}{\sffamily\relsize{-2}+}}%
+ \hspace{0.1em plus 0.1em minus 0.05em}%
+][\hspace{0.2ex}]{gray}
+
+\tikzset{tw at typewriterkeys@base/.style={%
+ tw at set@tikz at colors,
+ shape=circle,
+ minimum size=2ex,
+ inner sep=0.5pt, outer sep=1pt,
+ font=\ttfamily\relsize{-1},
+}}
+\tw at declare@style at simple*{typewriterkeys}{%
+ \def\tw at typewriterkeys@curr at elem{%
+ \maxsizebox*{2ex}{2ex}{\CurrentMenuElement}%
+ }%
+ \begin{tikzpicture}[baseline={($(tw at node.south)+(0,0.8ex)$)}]%
+ \node(tw at node)[%
+ tw at typewriterkeys@base, inner sep=1.25pt, line width=0.6pt%
+ ]{\color{\usemenucolor{txt}}\tw at typewriterkeys@curr at elem};
+ \node[tw at typewriterkeys@base]%
+ {\color{\usemenucolor{txt}}\tw at typewriterkeys@curr at elem};
+ \end{tikzpicture}%
+}[%
+ \hspace{0.2ex}\hspace{0.1em plus 0.1em minus 0.05em}%
+ \textcolor{\usemenucolor{b}}{\raisebox{0.25ex}{\sffamily\relsize{-2}+}}%
+ \hspace{0.1em plus 0.1em minus 0.05em}%
+]{blacknwhite}
+
+\tw at declare@style at simple*{paths}{%
+ {\ttfamily\color{\usemenucolor{txt}}\CurrentMenuElement}%
+}[%
+ \hspace{0.2em plus 0.1em}%
+ \raisebox{0.08ex}{%
+ \tikz{\fill[\usemenucolor{c}] (0,0) -- (0.5ex,0.5ex)%
+ -- (0,1ex) -- cycle;}%
+ }%
+ \hspace{0.2em plus 0.1em}%
+]{blacknwhite}
+
+\newcounter{tw at hyphen@char at num}
+\newif\if at tw@hyphenatepaths at warnig
+\@tw at hyphenatepaths@warnigtrue
+\tw at declare@style at simple*{hyphenatepaths}{%
+ {\ttfamily
+ \IfStrEq{T1}{\encodingdefault}{%
+ \setcounter{tw at hyphen@char at num}{23}%
+ }{%
+ \IfStrEq{OT1}{\encodingdefault}{%
+ \setcounter{tw at hyphen@char at num}{255}%
+ }{%
+ \if at tw@hyphenatepaths at warnig%
+ \tw at mk@warning{The hyphenatepaths styles will probably only\MessageBreak
+ work with T1 or OT1 encoding.}%
+ \fi\global\@tw at hyphenatepaths@warnigfalse%
+ }%
+ }%
+ \hyphenchar\font=\value{tw at hyphen@char at num}\relax
+ \color{\usemenucolor{txt}}%
+ \CurrentMenuElement}%
+}[%
+ \hspace{0.2em plus 0.1em}%
+ \raisebox{0.08ex}{%
+ \tikz{\fill[\usemenucolor{c}] (0,0) -- (0.5ex,0.5ex)%
+ -- (0,1ex) -- cycle;}%
+ }%
+ \hspace{0.2em plus 0.1em}%
+]{blacknwhite}
+
+\NewDocumentCommand{\drawtikzfolder}{O{white} O{black}}{%
+ \begin{tikzpicture}[rounded corners=0.02ex,scale=0.7]
+ \draw [#2] (0,0) -- (1em,0) -- (1em,1.5ex) -- (0.5em,1.5ex) -- %
+ (0.4em,1.7ex) -- (0.1em,1.7ex) -- (0,1.5ex) -- cycle;
+ \draw [#2,fill=#1] (0,0) -- (1em,0) -- (0.85em,1.15ex) -- %
+ ++(-1em,0) -- cycle;
+ \end{tikzpicture}%
+}
+
+\copymenustyle{pathswithfolder}{paths}
+\changemenuelement{pathswithfolder}{pre}{%
+ \drawtikzfolder[\usemenucolor{a}][\usemenucolor{b}]%
+ \hspace{0.2em plus 0.1em}%
+}
+
+\copymenustyle{pathswithblackfolder}{paths}
+\changemenuelement{pathswithblackfolder}{pre}{%
+ \drawtikzfolder[\usemenucolor{c}][\usemenucolor{b}]%
+ \hspace{0.2em plus 0.1em}%
+}
+
+\copymenustyle{hyphenatepathswithfolder}{hyphenatepaths}
+\changemenuelement{hyphenatepathswithfolder}{pre}{%
+ \drawtikzfolder[\usemenucolor{a}][\usemenucolor{b}]%
+ \hspace{0.2em plus 0.1em}%
+}
+
+\copymenustyle{hyphenatepathswithblackfolder}{hyphenatepaths}
+\changemenuelement{hyphenatepathswithblackfolder}{pre}{%
+ \drawtikzfolder[\usemenucolor{c}][\usemenucolor{b}]%
+ \hspace{0.2em plus 0.1em}%
+}
+\def\tw at default@input at sep{,}
+\def\CurrentMenuElement{}
+\begingroup
+\lccode`\,=1
+\lowercase{\endgroup
+ \@ifdefinable\tw at mk@test at input@sep
+ {%
+ \protected\def\tw at mk@test at input@sep#1{%
+ \tw at mk@xifinsetTF
+ {,\tw at mk@trimspaces{#1},}{,bslash,backslash,directory,location,}%
+ }%
+ }%
+}
+\newcommand\tw at define@menu at macro[3]
+ {%
+ \IfNoValueTF{#3}
+ {\tw at mk@exp at Nnno\tw at define@menu at macro@{#1}{#2}\tw at default@input at sep}
+ {\tw at define@menu at macro@{#1}{#2}{#3}}%
+ }
+\newcommand\tw at define@menu at macro@[4]
+ {%
+ \ifcsundef{tw at style@#4 at sep}
+ {%
+ \tw at mk@error
+ {%
+ Can't define menu macro \string#2\space,\MessageBreak
+ because the style '#4' is not available!%
+ }%
+ }
+ {%
+ \csdef{tw at parse@menu at list@\tw at mk@string#2}##1%
+ {%
+ \def\CurrentMenuElement{##1}%
+ \tw at mk@iflastindris
+ {%
+ \ifnum\tw at mk@indrisnr=\@ne
+ \@nameuse{tw at style@#4 at single}%
+ \else
+ \@nameuse{tw at style@#4 at sep}%
+ \@nameuse{tw at style@#4 at last}%
+ \fi
+ }
+ {%
+ \ifnum\tw at mk@indrisnr=\@ne
+ \@nameuse{tw at style@#4 at first}%
+ \else
+ \@nameuse{tw at style@#4 at sep}%
+ \@nameuse{tw at style@#4 at mid}%
+ \fi
+ }%
+ }%
+ #1#2{+O{#3}+m}%
+ {%
+ \leavevmode
+ \begingroup
+ \def\tw at current@color at theme
+ {\csname tw at style@#4 at color@theme\endcsname}%
+ \@nameuse{tw at style@#4 at pre}%
+ \tw at mk@test at input@sep{##1}
+ {%
+ \edef\tw at menu@list{\detokenize{##2}}%
+ \edef\tw at mk@tempa{\@backslashchar}%
+ }
+ {%
+ \edef\tw at menu@list{\unexpanded{##2}}%
+ \edef\tw at mk@tempa{\tw at mk@trimspaces{##1}}%
+ }%
+ \begingroup
+ \letcs{\tw at mk@tempb}{tw at parse@menu at list@\tw at mk@string#2}%
+ \tw at mk@indrisloop\tw at mk@tempa\tw at menu@list\tw at mk@tempb
+ \endgroup
+ \@nameuse{tw at style@#4 at post}%
+ \endgroup
+ }%
+ }%
+ }
+\NewDocumentCommand{\newmenumacro}{m o m}{%
+ \ifcsundef{\tw at mk@string#1}{%
+ \tw at define@menu at macro\NewDocumentCommand{#1}{#2}{#3}%
+ }{%
+ \tw at mk@error{Menu macro '\string#1' already defined!\MessageBreak
+ Use \string\renewmenustyle\space instead.}%
+ }%
+}
+\NewDocumentCommand{\renewmenumacro}{m o m}{%
+ \tw at define@menu at macro\RenewDocumentCommand{#1}{#2}{#3}%
+}
+\NewDocumentCommand{\providemenumacro}{m o m}{%
+ \ifcsundef{\tw at mk@string#1}{%
+ \tw at define@menu at macro\ProvideDocumentCommand{#1}{#2}{#3}%
+ }{%
+ \tw at mk@warning{Menu macro '\string#1' already defined!\MessageBreak
+ Use \string\renewmenustyle\space to redefine it.}%
+ }%
+}
+\iftw at mk@definemenumacros
+\newmenumacro{\menu}[>]{menus}
+\newmenumacro{\directory}[/]{paths}
+\newmenumacro{\keys}[+]{roundedkeys}
+\fi
+\iftw at mk@definekeys
+\NewDocumentCommand{\tw at make@key at box}{m m}{%
+ \csdef{tw at mk@#1}{%
+ #2%
+ }%
+}
+\NewDocumentCommand{\tw at make@key at macro}{s m}{%
+ \IfBooleanTF{#1}{%
+ \expandafter\providecommand\csname\tw at mk@string#2\endcsname{%
+ \expandonce{\maxsizebox{!}{1.8ex}{%
+ \@nameuse{tw at mk@\tw at mk@string#2@\tw at mk@os}}%
+ }%
+ }%
+ \expandafter\providecommand\csname\tw at mk@string#2mac\endcsname{%
+ \expandonce{\maxsizebox{!}{1.8ex}{%
+ \@nameuse{tw at mk@\tw at mk@string#2 at mac}}%
+ }%
+ }%
+ \expandafter\providecommand\csname\tw at mk@string#2win\endcsname{%
+ \expandonce{\maxsizebox{!}{1.8ex}{%
+ \@nameuse{tw at mk@\tw at mk@string#2 at win}}%
+ }%
+ }%
+ }{%
+ \expandafter\providecommand\csname\tw at mk@string#2\endcsname{%
+ \expandonce{\maxsizebox{!}{1.8ex}{%
+ \@nameuse{tw at mk@\tw at mk@string#2}}%
+ }%
+ }%
+ }%
+}
+\newcommand*{\tw at define@mackey}[2]{%
+ \IfStrEq{text}{\tw at mk@mackeys}{#1}{%
+ \IfStrEq{symbols}{\tw at mk@mackeys}{#2}{}%
+ }%
+}
+\tikzset{
+ menukeys key symbol/.style={
+ rounded corners=0pt,
+ line width=0.1ex,
+ baseline={(0,0)},
+ },
+ menukeys thick/.style={line width=0.25ex},
+}
+\normalsize
+\tw at make@key at box{shift}{%
+ \begin{tikzpicture}[yshift=-0.1ex,menukeys key symbol]
+ \draw (0.3ex,0) -- (1.1ex,0) -- (1.1ex,1.2ex) -- %
+ (1.5ex,1.2ex) -- (0.7ex,1.9ex) -- (-0.1ex,1.2ex) -- %
+ (0.3ex,1.2ex) -- cycle;
+ \end{tikzpicture}%
+}
+\tw at make@key at macro{\shift}
+\tw at make@key at box{capslock at mac}{%
+ \begin{tikzpicture}[yshift=-0.1ex,menukeys key symbol]
+ \draw (0.3ex,0.7ex) -- (1.1ex,0.7ex) -- (1.1ex,1.2ex) -- %
+ (1.5ex,1.2ex) -- (0.7ex,1.9ex) -- (-0.1ex,1.2ex) -- %
+ (0.3ex,1.2ex) -- cycle;
+ \draw (0.3ex,0) rectangle (1.1ex,0.4ex);
+ \end{tikzpicture}%
+}
+\tw at make@key at box{capslock at win}{%
+ \begin{tikzpicture}[yscale=-1,yshift=-1.8ex,menukeys key symbol]
+ \draw (0.3ex,0) -- (1.1ex,0) -- (1.1ex,1.2ex) -- %
+ (1.5ex,1.2ex) -- (0.7ex,1.9ex) -- (-0.1ex,1.2ex) -- %
+ (0.3ex,1.2ex) -- cycle;
+ \end{tikzpicture}%
+}
+\tw at make@key at macro*{\capslock}
+\tw at make@key at box{tab at mac}{%
+ \begin{tikzpicture}[yshift=0.6ex,menukeys key symbol]
+ \draw [->] (0,0) -- (1em,0);
+ \draw (1em,-0.35ex) -- (1em,0.35ex);
+ \end{tikzpicture}%
+}
+\tw at make@key at box{tab at win}{%
+ \begin{tikzpicture}[yshift=0.1ex,menukeys key symbol]
+ \draw [->] (0.2em,0) -- (1.2em,0);
+ \draw (1.2em,-0.35ex) -- (1.2em,0.35ex);
+ \draw [<-] (0,1ex) -- (1em,1ex);
+ \draw (0,0.65ex) -- (0,1.35ex);
+ \end{tikzpicture}%
+}
+\tw at make@key at macro*{\tab}
+\def\tw at mk@esc at win{Esc}
+\tw at define@mackey{%
+ \def\tw at mk@esc at mac{esc}
+}{%
+ \tw at make@key at box{esc at mac}{%
+ \begin{tikzpicture}[yshift=-0.1ex,menukeys key symbol]
+ \draw [->] (0.5ex,0.5ex) -- ++(135:1.1ex);
+ \draw (0.5ex,0.5ex) ++(105:0.6ex) arc (105:-195:0.6ex);
+ \end{tikzpicture}%
+ }%
+}
+\tw at make@key at macro*{\esc}
+\def\tw at mk@oldesc at win{Esc}
+\tw at define@mackey{%
+ \def\tw at mk@oldesc at mac{esc}
+}{%
+ \tw at make@key at box{oldesc at mac}{%
+ \begin{tikzpicture}[yshift=-0.1ex,menukeys key symbol]
+ \draw [->] (0.5ex,0.5ex) -- ++(45:1.1ex);
+ \draw (0.5ex,0.5ex) ++(15:0.6ex) arc (15:-285:0.6ex);
+ \end{tikzpicture}%
+ }%
+}
+\tw at make@key at macro*{\oldesc}
+\providecommand\ctrlname{Ctrl}
+\def\tw at mk@ctrl at win{\ctrlname}
+\def\tw at mk@ctrl at mac{ctrl}
+\tw at make@key at macro*{\ctrl}
+\def\tw at mk@Alt at win{Alt}
+\tw at define@mackey{%
+ \def\tw at mk@Alt at mac{alt}%
+}{%
+ \tw at make@key at box{Alt at mac}{%
+ \begin{tikzpicture}[yshift=-0.1ex,menukeys key symbol]
+ \draw (0,1ex) -- (0.5ex,1ex) -- (1ex,0.3ex) -- (1.8ex,0.3ex);
+ \draw (0.8ex,1ex) -- (1.8ex,1ex);
+ \end{tikzpicture}%
+ }%
+}
+\tw at make@key at macro*{\Alt}
+\providecommand*{\AltGr}{Alt\,Gr}
+\def\tw at mk@cmd at win{%
+ \tw at mk@warning{'\string\cmd' only for Mac!}%
+}
+\tw at define@mackey{%
+ \def\tw at mk@cmd at mac{cmd}%
+}{%
+ \tw at make@key at box{cmd at mac}{%
+ \begin{tikzpicture}[yshift=-0.15ex,menukeys key symbol]
+ \draw (0.5ex,0.7ex) -- (0.5ex,1.25ex) arc (0:270:0.25ex) -- %
+ (1.25ex,1ex) arc (-90:180:0.25ex) -- (1ex,0.25ex) %
+ arc (-180:90:0.25ex) -- (0.25ex,0.5ex) arc (90:360:0.25ex) %
+ -- cycle;
+ \end{tikzpicture}%
+ }%
+}
+\tw at make@key at macro*{\cmd}
+\providecommand*{\Space}{\expandonce{\rule{3em}{0pt}}}
+\newcommand{\spacename}{Space}
+\providecommand*{\SPACE}{\expandonce{\rule{2em}{0pt}\spacename\rule{2em}{0pt}}}
+\tw at make@key at box{return at mac}{%
+ \begin{tikzpicture}[yshift=0.25ex,menukeys key symbol]
+ \draw [->, rounded corners=0.2ex] (1.25ex,1ex) -| %
+ (2ex,0) -- (0,0);
+ \end{tikzpicture}%
+}
+\tw at make@key at box{return at win}{%
+ \begin{tikzpicture}[menukeys key symbol]
+ \draw [->] (1ex,1.25ex) |- (0,0);
+ \end{tikzpicture}%
+}
+\tw at make@key at macro*{\return}
+\def\tw at mk@enter at win{Enter}
+\tw at make@key at box{enter at mac}{%
+ \begin{tikzpicture}[menukeys key symbol]
+ \draw (0,0) -- (0.5ex,0.5ex) -- (1ex,0);
+ \draw (0,0.55ex) -- (1ex,0.55ex);
+ \end{tikzpicture}%
+}
+\tw at make@key at macro*{\enter}
+\def\tw at mk@winmenu at mac{%
+ \tw at mk@warning{'\string\winmenu' only for Windows!}%
+}
+\tw at make@key at box{winmenu at win}{%
+ \begin{tikzpicture}[yshift=-0.2ex,menukeys key symbol]
+ \draw (0,0) rectangle (1.5ex,1.8ex);
+ \draw (0.25ex,1.4ex) -- ++(1ex,0);
+ \draw (0.25ex,1ex) -- ++(1ex,0);
+ \draw (0.25ex,0.6ex) -- ++(1ex,0);
+ \end{tikzpicture}%
+}
+\tw at make@key at macro*{\winmenu}
+\tw at make@key at box{backspace}{%
+ \begin{tikzpicture}[yshift=0.65ex,menukeys key symbol]
+ \draw [<-,menukeys thick] (0,0) -- (1.35em,0);
+ \end{tikzpicture}%
+}
+\tw at make@key at macro{\backspace}
+\providecommand{\delname}{Del.}
+\def\tw at mk@del at win{\delname}
+\tw at define@mackey{%
+ \def\tw at mk@del at mac{\delname}%
+}{%
+ \tw at make@key at box{del at mac}{%
+ \begin{tikzpicture}[yshift=0.2ex,menukeys key symbol]
+ \draw (0,0) -- (1.5ex,0) -- (2ex,0.5ex) --%
+ (1.5ex,1ex) -- (0,1ex) -- cycle;
+ \draw (0.5ex,0.2ex) -- (1.1ex,0.8ex);
+ \draw (0.5ex,0.8ex) -- (1.1ex,0.2ex);
+ \end{tikzpicture}%
+ }%
+}
+\tw at make@key at macro*{\del}
+\def\tw at mk@backdel at win{\delname}
+\tw at define@mackey{%
+ \def\tw at mk@backdel at mac{\delname}%
+}{%
+ \tw at make@key at box{backdel at mac}{%
+ \begin{tikzpicture}[yshift=0.2ex,menukeys key symbol]
+ \draw (2ex,0) -- (0.5ex,0) -- (0,0.5ex) --%
+ (0.5ex,1ex) -- (2ex,1ex) -- cycle;
+ \draw (1ex,0.2ex) -- (1.6ex,0.8ex);
+ \draw (1ex,0.8ex) -- (1.6ex,0.2ex);
+ \end{tikzpicture}%
+ }%
+}
+\tw at make@key at macro*{\backdel}
+\tw at make@key at box{arrowkeyup}{%
+ \begin{tikzpicture}[yshift=-0.2ex,menukeys key symbol]
+ \draw [->] (0,0) -- (0,0.8em);
+ \end{tikzpicture}%
+}
+\tw at make@key at macro{\arrowkeyup}
+
+\tw at make@key at box{arrowkeydown}{%
+ \begin{tikzpicture}[yshift=0.7em,menukeys key symbol]
+ \draw [->] (0,0) -- (0,-0.8em);
+ \end{tikzpicture}%
+}
+\tw at make@key at macro{\arrowkeydown}
+
+\tw at make@key at box{arrowkeyright}{%
+ \begin{tikzpicture}[yshift=0.5ex,menukeys key symbol]
+ \draw [->] (0,0) -- (0.8em,0);
+ \end{tikzpicture}%
+}
+\tw at make@key at macro{\arrowkeyright}
+
+\tw at make@key at box{arrowkeyleft}{%
+ \begin{tikzpicture}[yshift=0.5ex,menukeys key symbol]
+ \draw [->] (0,0) -- (-0.8em,0);
+ \end{tikzpicture}%
+}
+\tw at make@key at macro{\arrowkeyleft}
+\newcommand{\arrowkey}[1]{%
+ \IfStrEq{^}{#1}{\arrowkeyup}{%
+ \IfStrEq{v}{#1}{\arrowkeydown}{%
+ \IfStrEq{<}{#1}{\arrowkeyleft}{%
+ \IfStrEq{>}{#1}{\arrowkeyright}{%
+ \tw at mk@error{Wrong value '#1' for \string\arrowkey\MessageBreak
+ Possible values are '^', 'v', '<' or '>'}%
+ }%
+ }%
+ }%
+ }%
+}
+\fi
+\endinput
+%%
+%% End of file `menukeys-2020-12-19.sty'.
Property changes on: trunk/Master/texmf-dist/tex/latex/menukeys/menukeys-2020-12-19.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/menukeys/menukeys.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/menukeys/menukeys.sty 2022-09-07 20:42:47 UTC (rev 64310)
+++ trunk/Master/texmf-dist/tex/latex/menukeys/menukeys.sty 2022-09-07 20:43:08 UTC (rev 64311)
@@ -4,7 +4,7 @@
%%
%% The original source files were:
%%
-%% menukeys.dtx (with options: `package')
+%% menukeys.dtx (with options: `pkg,cur,rbk')
%%
%% This is a generated file.
%%
@@ -31,8 +31,12 @@
%% https://www.latex-project.org/lppl.txt
%%
\NeedsTeXFormat{LaTeX2e}[2009/01/01]
+\providecommand\DeclareRelease[3]{}
+\providecommand\DeclareCurrentRelease[2]{}
+\DeclareRelease{v1.6.1}{2020-12-19}{menukeys-2020-12-19.sty}
+\DeclareCurrentRelease{v1.6.2}{2022-07-01}
\ProvidesPackage{menukeys}
- [2020/12/19 v1.6.1 -- A package to format menus, paths and shortcuts]
+ [2022/07/01 v1.6.2 -- A package to format menus, paths and shortcuts]
\RequirePackage{xparse}
\RequirePackage{xstring}
\RequirePackage{etoolbox}
@@ -232,7 +236,7 @@
\node(tw at node)[#4]{\strut\CurrentMenuElement};}}%
}%
}
-\DeclareDocumentCommand{\tw at declare@sytle at extra@args}{%
+\DeclareDocumentCommand{\tw at declare@style at extra@args}{%
O{\tw at default@post} m
}{%
\csdef{tw at style@\tw at current@style @post}{#1}%
@@ -263,7 +267,7 @@
\tikz[baseline=(tw at node.base)]{%
\node(tw at node)[#7]{\strut\CurrentMenuElement};}}%
}%
- \tw at declare@sytle at extra@args%
+ \tw at declare@style at extra@args%
}
\NewDocumentCommand{\newmenustylesimple}{s m}{%
\ifcsundef{tw at style@#2 at pre}{%
@@ -512,7 +516,7 @@
\hspace{0.2ex}\hspace{0.1em plus 0.1em minus 0.05em}%
\textcolor{\usemenucolor{b}}{\raisebox{0.25ex}{\sffamily\relsize{-2}+}}%
\hspace{0.1em plus 0.1em minus 0.05em}%
-][\hspace{0.2ex}]{gray}
+][\kern0.2ex\relax]{gray}
\tikzset{tw at angularkeys@base/.style={%
tw at set@tikz at colors,
@@ -554,7 +558,7 @@
\hspace{0.2ex}\hspace{0.1em plus 0.1em minus 0.05em}%
\textcolor{\usemenucolor{b}}{\raisebox{0.25ex}{\sffamily\relsize{-2}+}}%
\hspace{0.1em plus 0.1em minus 0.05em}%
-][\hspace{0.2ex}]{gray}
+][\kern0.2ex\relax]{gray}
\tikzset{tw at typewriterkeys@base/.style={%
tw at set@tikz at colors,
More information about the tex-live-commits
mailing list.