summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/keystroke/keystroke.sty
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/keystroke/keystroke.sty
Initial commit
Diffstat (limited to 'macros/latex/contrib/keystroke/keystroke.sty')
-rw-r--r--macros/latex/contrib/keystroke/keystroke.sty200
1 files changed, 200 insertions, 0 deletions
diff --git a/macros/latex/contrib/keystroke/keystroke.sty b/macros/latex/contrib/keystroke/keystroke.sty
new file mode 100644
index 0000000000..9f2d525750
--- /dev/null
+++ b/macros/latex/contrib/keystroke/keystroke.sty
@@ -0,0 +1,200 @@
+%%
+%%% Author 1997 Werner Fink <werner@suse.de>
+%%% Copyright (c) 1997 SuSE GmbH Nuernberg, Germany.
+%%
+%% Based on `susemac.sty' v 1.30 1997/10/14
+%% Some modifications by Rolf Niepraschk <niepraschk@ptb.de>, 2000/10/29
+%%
+%% keystroke.sty is free software; you can redistribute it and/or modify
+%% it under the terms of the GNU General Public License as published by
+%% the Free Software Foundation; either version 2, or (at your option)
+%% any later version.
+%%
+%% keystroke.sty is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%% GNU General Public License for more details.
+%%
+%% You should have received a copy of the GNU General Public License
+%% along with keystroke.sty; see the file COPYING; if not, write to
+%% the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+%% Boston, MA 02111-1307 USA.
+%%
+
+% Please send corrections and enhancements
+% to Rolf Niepraschk <Rolf.Niepraschk@gmx.de>.
+
+% Changes:
+% v1.3, 2001/10/27; Loading the graphics package only if needed.
+% All unknown options are options for `graphics'.
+% v1.4, 2001/12/14; New and corrected definitions for spanish.
+% v1.5, 2003/08/15; Fix a bug with the global option "english".
+% New optin "ngerman". RN
+% v1.6, 2010/04/23; New and corrected definitions for french.
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{keystroke}[2010/04/23 v1.6 3D keystrokes (SuSE GmbH/RN)]
+
+\RequirePackage{graphics}
+
+\newcommand*{\Enter}{}
+\newcommand*{\Del}{}
+\newcommand*{\Ins}{}
+\newcommand*{\Esc}{}
+\newcommand*{\Shift}{}
+\newcommand*{\Ctrl}{}
+\newcommand*{\Home}{}
+\newcommand*{\End}{}
+\newcommand*{\PgUp}{}
+\newcommand*{\PgDown}{}
+\newcommand*{\PrtSc}{}
+\newcommand*{\Scroll}{}
+\newcommand*{\Break}{}
+
+
+\DeclareOption{english}{%
+ \def\Enter{\keystroke{Enter}}
+ \def\Del{\keystroke{Del}}
+ \def\Ins{\keystroke{Ins}}
+ \def\Esc{\keystroke{Esc}}
+ \def\Shift{\keystroke{Shift $\Uparrow$}}
+ \def\Ctrl{\keystroke{Ctrl}}
+ \def\Home{\keystroke{Home}}
+ \def\End{\keystroke{End}}
+ \def\PgUp{\keystroke{Page $\uparrow$}}
+ \def\PgDown{\keystroke{Page $\downarrow$}}
+ \def\PrtSc{\keystroke{PrtSc}}
+ \def\Scroll{\keystroke{Scroll}}
+ \def\Break{\keystroke{Break}}
+}
+
+\DeclareOption{american}{\ExecuteOptions{english}}
+
+\DeclareOption{german}{%
+ \def\Del{\keystroke{Entf}}
+ \def\Ins{\keystroke{Einfg}}
+ \def\Esc{\keystroke{Esc}}
+ \def\Shift{\keystroke{$\Uparrow$~~}}
+ \def\Ctrl{\keystroke{Strg}}
+ \def\Home{\keystroke{Pos~1}}
+ \def\End{\keystroke{Ende}}
+ \def\PgUp{\keystroke{Bild $\uparrow$}}
+ \def\PgDown{\keystroke{Bild $\downarrow$}}
+ \def\PrtSc{\keystroke{Druck}}
+ \def\Scroll{\keystroke{Rollen}}
+ \def\Break{\keystroke{Pause}}
+}
+
+\DeclareOption{germanb}{%
+ \typeout{******Please use `german' instead of `germanb'******}%
+ \ExecuteOptions{german}
+}
+
+\DeclareOption{ngerman}{%
+ \ExecuteOptions{german}
+}
+
+% Contributed by Denis Bitouz\'e <dbitouze@wanadoo.fr>
+\DeclareOption{french}{%
+ \def\Enter{\keystroke{entr\'ee}}
+ \def\Del{\keystroke{suppr}}
+ \def\Ins{\keystroke{insert}}
+ \def\Esc{\keystroke{\'echap}}
+ \def\Shift{\keystroke{$\Uparrow$}}
+ \def\Ctrl{\keystroke{ctrl}}
+ \def\Home{\keystroke{home}}
+ % or \def\Home{\keystroke{$nwarrow$}} but
+ % in fact should be something % like $\Nwarrow$ from txfonts/pxfonts
+ % arrows
+ \def\End{\keystroke{fin}}
+ \def\PgUp{\keystroke{page $\uparrow$}}
+ \def\PgDown{\keystroke{page $\downarrow$}}
+ \def\PrtSc{\keystroke{impr}}
+ \def\Scroll{\keystroke{d\'efil}}
+ \def\Break{\keystroke{pause}}
+}
+
+\DeclareOption{francais}{%
+ \typeout{******Please use `french' instead of `francais'*****}%
+ \ExecuteOptions{french}
+}
+
+% Contributed by Arndt Mehlhorn <mehlhorn@Techno-Sol.com>
+\DeclareOption{spanish}{%
+ \def\Enter{\keystroke{Enter}}
+ \def\Esc{\keystroke{Esc}}
+ \def\Del{\keystroke{Supr}}
+ \def\Ins{\keystroke{Insert}}
+ \def\End{\keystroke{Fin}}
+ \def\PgUp{\keystroke{Re P\'ag}}
+ \def\PgDown{\keystroke{Av P\'ag}}
+ \def\PrtSc{\keystroke{Impr Pant}}
+ \def\Scroll{\keystroke{Bloq Despl}}
+ \def\Break{\keystroke{Pausa}}
+ \def\End{\keystroke{Fin}}
+ \def\Home{\keystroke{Inicio}}
+}
+
+\DeclareOption*{%
+ \PassOptionsToPackage{\CurrentOption}{graphics}%
+}
+
+\ExecuteOptions{english}
+
+\ProcessOptions\relax
+
+\newcommand*{\suse@tab}{%
+ \raisebox{-.5ex}{\shortstack{\reflectbox{\suse@@tab}\\[-1ex]\suse@@tab}}%
+}
+\newcommand*{\suse@@tab}{%
+ {{\makebox[2em]{\small\rightarrowfill}}}%
+}
+
+\newcommand*{\Spacebar}{\keystroke{\hspace{3.5em}}}
+\newcommand*{\Return}{\keystroke{$\hookleftarrow$}}
+\newcommand*{\BSpace}{\keystroke{\reflectbox{$\longmapsto$}}}
+%\newcommand*{\Tab}{\keystroke{$\longmapsto$}}
+\newcommand*{\Tab}{\keystroke{\suse@tab}}
+\newcommand*{\Alt}{\keystroke{Alt}}
+\newcommand*{\AltGr}{\keystroke{AltGr}}
+\newcommand*{\NumLock}{\keystroke{Num}}
+\newcommand*{\UArrow}{\keystroke{$\,\uparrow\!$}}
+\newcommand*{\DArrow}{\keystroke{$\,\downarrow\!$}}
+\newcommand*{\LArrow}{\keystroke{$\leftarrow$}}
+\newcommand*{\RArrow}{\keystroke{$\rightarrow$}}
+
+%%
+\newbox\suse@key
+\newbox\keystroke@left
+\newbox\keystroke@right
+\newbox\keystroke@middle
+\setbox\keystroke@left =\hbox{\includegraphics{keystroke_left}}
+\setbox\keystroke@middle=\hbox{\includegraphics{keystroke_middle}}
+\setbox\keystroke@right =\hbox{\includegraphics{keystroke_right}}
+%
+\def\suse@keystr@ke#1{\ %
+ \ifvmode\leavevmode\fi{\obeyspaces%
+ \global\setbox\suse@key=\hbox{{\keystroke@font\strut#1}}%
+ \@tempdima=0.35ex%
+ \advance\@tempdima by \dp\suse@key%
+ \@tempdimb=\wd\suse@key%
+ \@tempdimc=\ht\suse@key%
+ \ifdim\@tempdimb<\@tempdimc\@tempdimb=\@tempdimc\fi
+ \advance\@tempdimc by 1.16ex%
+ \lower\@tempdima\hbox{\resizebox*{!}{\@tempdimc}{\copy\keystroke@left}}%
+ \ignorespaces%
+ \hbox to 0pt{\unhbox\suse@key\hss}%
+ \ignorespaces%
+ \lower\@tempdima\hbox to \@tempdimb{\hss%
+ \resizebox*{\@tempdimb}{\@tempdimc}{\copy\keystroke@middle}}%
+ \ignorespaces%
+ \lower\@tempdima\hbox{\resizebox*{!}{\@tempdimc}{\copy\keystroke@right}}%
+}\ }
+%
+\DeclareRobustCommand*\keystroke{\suse@keystr@ke}
+
+\newcommand*\keystroke@font{\normalfont\sffamily\footnotesize}
+
+%%
+
+\endinput