%%
%% This is file `grundgesetze.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% grundgesetze.dtx  (with options: `package')
%% docstrip wrapper for grundgesetze
%% \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         \~}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{grundgesetze}
[2021/04/26 v1.03 grundgesetze package]
%% \end{itemize}
\newlength{\GGthickness}
\setlength{\GGthickness}{0.4pt}
\newlength{\GGquantthickness}
\setlength{\GGquantthickness}{0.75\GGthickness}
\newlength{\GGafterlen}
\setlength{\GGafterlen}{2pt}
\newlength{\GGbeforelen}
\setlength{\GGbeforelen}{2.4pt}
\newlength{\GGspace}
\setlength{\GGspace}{3pt}
\newlength{\GGlift}
\setlength{\GGlift}{2pt}
\newlength{\GGlinewidth}
\setlength{\GGlinewidth}{\linewidth}
\RequirePackage{kvoptions}
\SetupKeyvalOptions{family=grundgesetze,prefix=grundgesetze@}
\DeclareStringOption{bguq}[5]
\ProcessKeyvalOptions{grundgesetze}
\ifx\grundgesetze@bguq\@empty
\else
  \RequirePackage[\grundgesetze@bguq]{bguq}
\fi
\typeout{Grundgesetze Begriffsschrift: April 2021}
\ifx\grundgesetze@bguq\@empty
  \typeout{Universal quantifier by qbezier}
\else
  \typeout{Universal quantifier by bguq at size \grundgesetze@bguq}
\fi
\newcommand{\GGbracket}[1]{%
\setbox0=\hbox{\ensuremath{#1}}%
\dimen0=0.5\dp0%
\addtolength{\dimen0}{-1\GGlift}%
\raisebox{-\dimen0}{%
\ensuremath{\left(\raisebox{\dimen0}{\box0}\right)}}%
}
\newcommand{\GGsqbracket}[1]{%
\setbox0=\hbox{\ensuremath{#1}}%
\dimen0=0.5\dp0%
\addtolength{\dimen0}{-1\GGlift}%
\raisebox{-\dimen0}{%
\ensuremath{\left[\raisebox{\dimen0}{\box0}\right]}}%
}
\newcommand{\GGterm}[1]{\unskip%
\setbox0=\hbox{%
\setlength{\GGlinewidth}{0pt}%
\raisebox{\GGlift}{%
\vrule height \GGthickness width \GGafterlen depth 0pt
}%
\ensuremath{\hskip\GGspace #1}%
}%
\raisebox{\GGlift}{%
\vrule height \GGthickness width \GGlinewidth depth 0pt
}%
\box0%
\setlength{\GGlinewidth}{0pt}%
}
\newcommand{\GGconditional}[2]{\unskip%
\addtolength{\GGlinewidth}{-\GGbeforelen}%
\setbox0=\hbox{%
\addtolength{\GGlinewidth}{-\GGafterlen}%
\raisebox{\GGlift}{%
\vrule height 0.49\normalbaselineskip depth 0.425\normalbaselineskip width 0pt
\vrule height \GGthickness width \GGafterlen depth 0pt
}%
\ensuremath{\hskip\GGspace #1}%
}%
\setbox1=\hbox{%
\addtolength{\GGlinewidth}{-\GGafterlen}%
\raisebox{\GGlift}{%
\vrule height 0pt depth 0.425\normalbaselineskip width 0pt%
\vrule height \GGthickness width \GGafterlen depth 0pt}%
\ensuremath{\hskip\GGspace #2}%
}%
\dimen0=0pt%
\addtolength{\dimen0}{\dp1}%
\addtolength{\dimen0}{\ht0}%
\addtolength{\dimen0}{\lineskip}%
\hbox{%
\raisebox{\GGlift}{%
\vrule width \GGbeforelen height \GGthickness depth 0pt%
\kern-\GGthickness%
\vrule width \GGthickness height \GGthickness depth \dimen0
}%
\vtop{\box1\box0}%
}%
}
\newcommand{\GGjudge}[0]{%
\addtolength{\GGlinewidth}{-\GGafterlen}%
\addtolength{\GGlinewidth}{-\GGthickness}%
\raisebox{\GGlift}{%
\vrule width \GGthickness height 5pt depth 5pt%
\vrule depth 0pt height \GGthickness width \GGafterlen}%
\hskip \GGspace%
}
\newcommand{\GGassert}{\GGjudge}
\newcommand{\GGjudgealone}[0]{%
\addtolength{\GGlinewidth}{-\GGafterlen}%
\addtolength{\GGlinewidth}{-\GGthickness}%
\raisebox{\GGlift}{%
\vrule width \GGthickness height 5pt depth 5pt%
\vrule depth 0pt height \GGthickness width 12pt}%
\hskip \GGspace%
}
\newcommand{\GGassertalone}{\GGjudgealone}
\newcommand{\GGjudgelong}{\GGjudgealone}
\newcommand{\GGassertlong}{\GGjudgealone}
\newcommand{\GGjudgevar}[1]{%
\addtolength{\GGlinewidth}{-\GGafterlen}%
\addtolength{\GGlinewidth}{-\GGthickness}%
\raisebox{\GGlift}{%
\vrule width \GGthickness height 5pt depth 5pt%
\vrule depth 0pt height \GGthickness width #1}%
\hskip \GGspace%
}
\newcommand{\GGassertvar}[1]{\GGjudgevar{#1}}
\newcommand{\GGdef}[0]{%
\addtolength{\GGlinewidth}{-\GGafterlen}%
\addtolength{\GGlinewidth}{-\GGthickness}%
\raisebox{\GGlift}{%
\vrule width \GGthickness height 5pt depth 5pt%
\vrule depth 0pt height 0pt width \GGafterlen%
\vrule width \GGthickness height 5pt depth 5pt%
\vrule depth 0pt height \GGthickness width \GGafterlen}%
\hskip \GGspace%
}
\newcommand{\GGdefalone}[0]{%
\addtolength{\GGlinewidth}{-\GGafterlen}%
\addtolength{\GGlinewidth}{-\GGthickness}%
\raisebox{\GGlift}{%
\vrule width \GGthickness height 5pt depth 5pt%
\vrule depth 0pt height 0pt width \GGafterlen%
\vrule width \GGthickness height 5pt depth 5pt%
\vrule depth 0pt height \GGthickness width 12pt}%
\hskip \GGspace%
}
\newcommand{\GGdeflong}{\GGdefalone}
\newcommand{\GGdefvar}[1]{%
\addtolength{\GGlinewidth}{-\GGafterlen}%
\addtolength{\GGlinewidth}{-\GGthickness}%
\raisebox{\GGlift}{%
\vrule width \GGthickness height 5pt depth 5pt%
\vrule depth 0pt height 0pt width \GGafterlen%
\vrule width \GGthickness height 5pt depth 5pt%
\vrule depth 0pt height \GGthickness width #1}%
\hskip \GGspace%
}
\newcommand{\GGhorizontal}[0]{%
\addtolength{\GGlinewidth}{-\GGafterlen}%
\raisebox{\GGlift}{%
\vrule depth 0pt height \GGthickness width 12pt}%
\hskip \GGspace%
}
\newcommand{\GGcontent}{\GGhorizontal}
\newcommand{\GGnot}[0]{\unskip%
\addtolength{\GGlinewidth}{-\GGbeforelen}%
\addtolength{\GGlinewidth}{-\GGafterlen}%
\raisebox{\GGlift}{%
\vrule width \GGbeforelen height \GGthickness depth 0pt%
\kern-\GGthickness%
\vrule width \GGthickness height \GGthickness depth 3pt%
\vrule depth 0pt height \GGthickness width \GGafterlen}%
\hskip \GGspace%
}
\newcommand{\GGnonot}[0]{\unskip%
\addtolength{\GGlinewidth}{-\GGbeforelen}%
\addtolength{\GGlinewidth}{-\GGafterlen}%
\raisebox{\GGlift}{%
\vrule width \GGafterlen height \GGthickness depth 0pt%
\vrule width \GGthickness height \GGthickness depth 0pt%
\vrule width \GGafterlen height \GGthickness depth 0pt}%
\hskip \GGspace%
}
\newcommand{\GGnotalone}[0]{\unskip%
\raisebox{\GGlift}{%
\vrule width 4.2pt height \GGthickness depth 0pt%
\kern-\GGthickness%
\vrule width \GGthickness height \GGthickness depth 3pt%
\vrule depth 0pt height \GGthickness width 3.8pt}%
\hskip \GGspace%
}
\newcommand{\GGnonotalone}[0]{\unskip%
\raisebox{\GGlift}{%
\vrule width 4.2pt height \GGthickness depth 0pt%
\kern-\GGthickness%
\vrule width \GGthickness height \GGthickness depth 0pt%
\vrule depth 0pt height \GGthickness width 3.8pt}%
\hskip \GGspace%
}
\newcommand{\GGdnot}[0]{\unskip%
\raisebox{\GGlift}{%
\vrule width 1.5\GGbeforelen height \GGthickness depth 0pt%
\kern-\GGthickness%
\vrule width \GGthickness height \GGthickness depth 3pt%
\vrule depth 0pt height \GGthickness width 1.5\GGafterlen%
\vrule width \GGthickness height \GGthickness depth 3pt%
\vrule depth 0pt height \GGthickness width 1.5\GGafterlen}%
\hskip \GGspace%
}
\newcommand{\GGnodnot}[0]{\unskip%
\raisebox{\GGlift}{%
\vrule width 1.5\GGbeforelen height \GGthickness depth 0pt%
\kern-\GGthickness%
\vrule width \GGthickness height \GGthickness depth 0pt%
\vrule depth 0pt height \GGthickness width 1.5\GGafterlen%
\vrule width \GGthickness height \GGthickness depth 0pt%
\vrule depth 0pt height \GGthickness width 1.5\GGafterlen}%
\hskip \GGspace%
}
\newcommand{\GGquant}[1]{\unskip%
\addtolength{\GGlinewidth}{-\GGbeforelen}%
\addtolength{\GGlinewidth}{-7.2pt}%
\addtolength{\GGlinewidth}{-\GGafterlen}%
\hbox{%
\raisebox{\GGlift}{%
\vrule width \GGbeforelen height \GGthickness depth 0pt%
\ifx\grundgesetze@bguq\@empty% use qbezier
  \setlength{\unitlength}{1pt}%
  \kern-\GGthickness%
  \begin{picture}(8,0)(0,0)%
  \linethickness{\GGquantthickness}%
  \qbezier[100](0.3,0.2)(1,-2)(4,-2)%
  \qbezier[100](4,-2)(7,-2)(7.7,0.2)%
  \end{picture}%
  \kern-8pt%
  \kern-\GGthickness
  \vbox{%
  \hbox to 8pt {\hskip1pt\hskip\GGthickness\hss$_{#1}$\hss}\vskip1pt
  }%
\else% use the bguq font
  \ensuremath\bguq
  \kern-\bguqwidth
  \vbox{%
    \hbox to \bguqwidth%
          {\hfill$\scriptstyle{#1}$\hfill}%
    \vskip1pt}%
\fi
\vrule width \GGafterlen height \GGthickness depth 0pt}%
}%
\hskip\GGspace%
}
\newcommand{\GGnoquant}[0]{\unskip%
\addtolength{\GGlinewidth}{-\GGbeforelen}%
\addtolength{\GGlinewidth}{-7.2pt}%
\addtolength{\GGlinewidth}{-\GGafterlen}%
\raisebox{\GGlift}{%
\vrule width \GGafterlen height \GGthickness depth 0pt%
\vrule depth 0pt height \GGthickness width 7.6pt%
\vrule width \GGafterlen height \GGthickness depth 0pt}%
\hskip \GGspace%
}
\newcommand{\GGoddspace}[0]{\unskip%
\addtolength{\GGlinewidth}{-7.2pt}%
\raisebox{\GGlift}{%
\vrule width 7.2pt height \GGthickness depth 0pt}%
\hskip \GGspace%
}
\newcommand{\GGtinyspace}[0]{\unskip%
\addtolength{\GGlinewidth}{-2.8pt}%
\raisebox{\GGlift}{%
\vrule width 2.8pt height \GGthickness depth 0pt}%
\hskip \GGspace%
}
\newcommand{\GGtiniestspace}[0]{\unskip%
\addtolength{\GGlinewidth}{-1.6pt}%
\raisebox{\GGlift}{%
\vrule width 1.6pt height \GGthickness depth 0pt}%
\hskip \GGspace%
}
\newcommand{\GGif}[2]{\GGconditional{#1}{#2}}
\newcommand{\GGifp}[2]{\GGconditional{\GGterm{#1}}{#2}}
\newcommand{\GGifc}[2]{\GGconditional{#1}{\GGterm{#2}}}
\newcommand{\GGifb}[2]{\GGconditional{\GGterm{#1}}{\GGterm{#2}}}
\newcommand{\GGneg}[0]{\GGnot}
\newcommand{\GGall}[1]{\GGquant{\mathfrak{#1}}}
\newcommand{\GGnoboth}[0]{\GGnonot\GGnoquant}
\endinput
%%
%% End of file `grundgesetze.sty'.
