summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/lexikon/lexikon.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/lexikon/lexikon.sty
Initial commit
Diffstat (limited to 'macros/latex/contrib/lexikon/lexikon.sty')
-rw-r--r--macros/latex/contrib/lexikon/lexikon.sty169
1 files changed, 169 insertions, 0 deletions
diff --git a/macros/latex/contrib/lexikon/lexikon.sty b/macros/latex/contrib/lexikon/lexikon.sty
new file mode 100644
index 0000000000..83596f9ccc
--- /dev/null
+++ b/macros/latex/contrib/lexikon/lexikon.sty
@@ -0,0 +1,169 @@
+%%
+%% This is file `lexikon.sty'
+%%
+%% Copyright (C) 1998-1999 by Axel Kielhorn. All rights reserved.
+%% For additional copyright information see further down in this file.
+%%
+%% This file is to be used with the LaTeX2e system.
+%% ------------------------------------------------
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+%% IMPORTANT NOTICE:
+%%
+%% Error reports in case of UNCHANGED versions to
+%% Axel Kielhorn
+%% A.Kielhorn@tu-bs.de
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+
+\ProvidesPackage{lexikon}%
+ [1999/05/13 v0.1c LaTeX2e lexikon package]
+
+\setlength{\parskip}{0.5\baselineskip plus 3pt}
+\setlength{\parindent}{0pt}
+
+\newlength\leftfield
+\newlength\rightfield
+\newlength\dictindent
+
+%% Skip the 2nd entry
+\newif\ifgrammar
+\DeclareOption{grammar} {\grammartrue}
+\DeclareOption{nogrammar} {\grammarfalse}
+%% Show only the keywords of the entry
+%% Usefull to generate short overviews
+\newif\ifkeywordonly
+\DeclareOption{keywordonly}{\keywordonlytrue}
+\DeclareOption{fullentry} {\keywordonlyfalse}
+%% Show only the first language
+%% To create single language dictionaries
+\newif\ifsinglelanguage
+\DeclareOption{singlelanguage}{\singlelanguagetrue}
+\DeclareOption{duallanguage} {\singlelanguagefalse}
+%% Show the second language in the first collumn
+%% The entries should be sorted by the 4th column
+\newif\ifinvertlanguages
+\DeclareOption{invertlanguages}%
+{\PackageError{Not supported yet, sorry}{Send me the code and I'll include it.}}
+\DeclareOption{noinvertlanguages}%
+{\invertlanguagesfalse}
+%% No phonetic by default (You will need ipa.sty and the WSUIPA fonts)
+\newif\ifphonetic
+\DeclareOption{phonetic} {\phonetictrue}
+\DeclareOption{nophonetic}{\phoneticfalse}
+
+\ExecuteOptions{grammar,fullentry,duallanguage,noinvertlanguages,nophonetic}
+\ProcessOptions
+
+\ifphonetic
+ \RequirePackage{ipa}
+\fi
+
+\if@twoside
+ \def\ps@dictheadings{\let\@mkboth\@gobbletwo
+ \def\@evenhead{\vbox{\hsize=\textwidth
+ \hb@xt@ \textwidth{{\strut\rightmark\ -- \leftmark\hfil}}
+ \vskip 1.5\p@ \hrule}}%
+ \def\@oddhead{\vbox{\hsize=\textwidth
+ \hb@xt@ \textwidth{{\hfil\strut\rightmark\ -- \leftmark}}
+ \vskip 1.5\p@ \hrule}}%
+ \def\@evenfoot{\vbox{\hsize=\textwidth
+ \hb@xt@ \textwidth{{\thepage\hfil}}}}%
+ \def\@oddfoot{\vbox{\hsize=\textwidth
+ \hb@xt@ \textwidth{{\hfil\thepage}}}}%
+ \def\chaptermark##1{}
+ \def\sectionmark##1{}}
+\else
+ \def\ps@dictheadings{\let\@mkboth\@gobbletwo
+ \def\@evenhead{}%
+ \def\@oddhead{\vbox{\hsize=\textwidth
+ \hb@xt@ \textwidth{{\hfil\strut\rightmark\ -- \leftmark}}
+ \vskip 1.5\p@ \hrule}}%
+ \def\@evenfoot{}%
+ \def\@oddfoot{\vbox{\hsize=\textwidth
+ \hb@xt@ \textwidth{{\hfil\thepage\hfil}}}}%
+ \def\chaptermark##1{}%
+ \def\sectionmark##1{}}
+\fi
+\raggedbottom
+
+\setlength{\headheight}{1.25\baselineskip}
+
+
+\ifsinglelanguage
+ \setlength{\leftfield}{\textwidth}
+ \setlength{\rightfield}{0pt}
+\else
+ \setlength{\leftfield}{0.45\textwidth}
+ \setlength{\rightfield}{0.45\textwidth}
+\fi
+\setlength{\dictindent}{1em}
+\addtolength{\leftfield}{-\dictindent}
+\addtolength{\rightfield}{-\dictindent}
+
+\newcommand{\dictentry}[8]{
+\hspace{\dictindent}%
+ \parbox[t]{\leftfield}
+ {\raggedright \hspace{-\dictindent}{\textbf{#1} }%
+ \ifkeywordonly
+ \else
+ \ifphonetic
+ {#2 }
+ \fi
+ \ifgrammar
+ {\textit{#3} }
+ \fi
+ {#4\par}
+ \fi
+ }
+ \hfill%
+\ifsinglelanguage
+\else
+ \parbox[t]{\rightfield}
+ {\raggedright \hspace{-\dictindent}{\textbf{#5} }%
+ \ifkeywordonly
+ \else
+ \ifphonetic
+ {#6 }
+ \fi
+ \ifgrammar
+ {\textit{#7} }
+ \fi
+ {#8\par}
+ \fi
+ }
+ \fi
+\par
+\markboth{#1}{#1}
+}
+
+\newcommand*{\dictchar}[1]{\goodbreak\vspace{1\baselineskip}%
+ \parbox[t]{\leftfield}{%
+ \centerline{\large\textbf{#1}}%
+ \vspace{0.5\baselineskip}%
+ }\par\nopagebreak%
+}
+
+
+\endinput
+%%
+%% End of file `lexikon.sty'. \ No newline at end of file