<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">% \iffalse meta-comment
%
% Copyright (C) 2015 by Steffen Banhardt
% -----------------------------------
%
% This file may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
% of this license or (at your option) any later version.
% The latest version of this license is in:
%
% http://www.latex-project.org/lppl.txt
%
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
% \fi
%
% \iffalse
%&lt;package&gt;\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%&lt;package&gt;\ProvidesPackage{gender}
%&lt;package&gt;[2015/03/07 v1.0 First official release]
%
%&lt;*driver&gt;
\documentclass{ltxdoc}
\usepackage[english,ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{gender}
\EnableCrossrefs
\CodelineIndex
\RecordChanges
\begin{document}
\DocInput{gender.dtx}
\end{document}
%&lt;/driver&gt;
% \fi
%
% \CheckSum{0}
%
% \changes{v1.0}{ 2015/03/07 }{First official release}
%
% \GetFileInfo{gender.sty}
%
% \DoNotIndex{\iffem, \ifuc}
%
% \title{The \textsf{gender} package\thanks{This document
% corresponds to \textsf{gender}~\fileversion,
% dated \filedate.}}
% \author{ Steffen Banhardt \\ \texttt{ latex-gender@steffenbanhardt.de}}
%
% \maketitle
%
% \begin{abstract}
% Many languages -- like German or French -- use masculine and feminine grammatical genders. There are many ideas how to promote gender neutrality in those languages. This package uses alternately masculine and feminine forms.
%
% It is also possible to use just one form out of a template.
% \end{abstract}
%
% \section{EinfÃ¼hrung}
%
% \subsection{Ziel}
% 
% Das Ziel dieses Paketes ist es, eine MÃ¶glichkeit zu einer geschlechtergerechten Sprache zu implementieren. Hierzu werden jeweils \gender{die weibliche(und)die mÃ¤nnliche} Form angegeben und in abwechselnder Reihenfolge \gender{die weibliche(und)die mÃ¤nnliche} Form ausgegeben.
% 
% \section{Verwendung}
% 
% \subsection{Aufruf}
%
% Zum Aufruf wird das Paket geladen mit
%
% |\usepackage{gender}|
%
% Dabei sind die folgenden Abschnitt vorgestellten Paketoptionen optional mÃ¶glich.
%
% \subsection{Optionen}
%
% Das Paket nutzt fÃ¼r die Optionen die Syntax |key=value| des Pakets |xkeyval|, von dem es abhÃ¤ngt.
%
% \DescribeMacro{konj =}
% |Konjunktion|
%
% Das optionale Argument \oarg{konj=} nimmt eine Konjunktion als Standardverbindung fÃ¼r die Formen an, voreingestellt ist "`und"'.
%
% \DescribeMacro{single =}
% |true, false| 
%
% Das optionale Argument \oarg{single=} nimmt die Werte |true| oder |false| an, voreingestellt ist |false|. Wird es auf |true| gesetzt, dann werden nicht die weibliche und die mÃ¤nnliche Form ausgegeben, sondern abwechselnd jeweils nur eine Form.
%
% \DescribeMacro{malefirst =}
% |true, false| 
%
% Das optionale Argument \oarg{malefirst=} nimmt die Werte |true| oder |false| an, voreingestellt ist |false|. Wird es auf |true| gesetzt, beginnt der erste Aufruf von |\gender| nicht wie Ã¼blich mit einer weiblichen, sondern mit einer mÃ¤nnlichen Form.
%
% \DescribeMacro{fixmale =}
% |true, false| 
%
% Das optionale Argument \oarg{fixmale=} nimmt die Werte |true| oder |false| an, voreingestellt ist |true|. Ist es auf |true| gesetzt, wird bei |\genderfix| die mÃ¤nnliche, ansonsten die weibliche Form ausgegeben.
%
%
% \subsection{Allgemeine Makros}
%
% Das Paket stellt die folgenden Makros bereit:
%
% \DescribeMacro{\gender}
% \DescribeMacro{\Gender}
% benÃ¶tigt als Argument \gender{eine weibliche(und)eine mÃ¤nnliche} Form, die durch eine Konjuktion in Klammern getrennt werden:
%
% |\gender|\marg{Frau(konj)Mann}
%
% Bei der Version in GroÃŸschreibung wird das erste Wort groÃŸgeschrieben. Aus |\Gender|\marg{eine Frau(oder)ein Mann} wird "`\Gender{eine Frau(oder)ein Mann}"'.
%
%
% \DescribeMacro{\gend}
% \DescribeMacro{\Gend}
% wird aufgerufen wie |\gender| bzw.\ |\Gender|. Es werden jedoch nicht beide, sondern nur eine Form ausgegeben, also abwechselnd entweder \gender{die weibliche(oder)die mÃ¤nnliche}.
%
% \DescribeMacro{\genderb}
% \DescribeMacro{\Genderb}
% wird aufgerufen wie |\gender| bzw.\ |\Gender|. Es werden jedoch immer beide Formen ausgegeben, auch wenn die Klassenoption \meta{single} gesetzt ist.
%
% \DescribeMacro{\keep}
% verÃ¤ndert die Reihenfolge der \gender{mÃ¤nnlichen(und)weiblichen} Formen: es wird die gleiche Reihenfolge benutzt wie beim vorherigen Aufruf. Dies ist besonders mit gesetzter Klassenoption \meta{single} bzw.\ |\gend| und |\Gend| hilfreich:
% 
% |\Gend{sie()er}| putzt |\keep||\gend{ihre()seine}| Nase.
%
% Dies ergibt\\\emph{\Gend{sie()er} putzt \keep\gend{ihre()seine} Nase.}\\anstatt des missverstÃ¤ndlichen:\\\keep\emph{\Gend{sie()er} putzt \gend{ihre()seine} Nase.}
%
% \DescribeMacro{\genderk}
% \DescribeMacro{\Genderk}
% \DescribeMacro{\gendk}
% \DescribeMacro{\Gendk}
% \DescribeMacro{\genderbk}
% \DescribeMacro{\Genderbk}
% die Formen mit angehÃ¤ngtem |k| verhalten sich wie die Formen ohne k mit vorangestelltem |\keep|. Es wird also die Reihenfolge der vorherigen Form beibehalten.
% 
% \vspace{8ex}
% \subsection{Kurzformen}
%
% \DescribeMacro{\gnd}
% ist eine Kurzform fÃ¼r Worte, bei denen die weibliche Form durch ein angehÃ¤ngtes "~in gebildet wird. Hierzu muss nur die mÃ¤nnliche Form angegeben werden. Als optionales Argument kann eine Konjunktion Ã¼bergeben werden: 
%
% |\gnd[bzw.]{Fahrer}| wird zu \emph{\gnd[bzw.]{Fahrer}} erweitert.
%
% \DescribeMacro{\gndpl}
% ist die Pluralform zu |\gnd|, fÃ¼r die weibliche Form wird "~innen angehÃ¤ngt.
%
% \subsection{Pronomen}
%
% Neben den beschriebenen Makros stehen auch noch Kurzformen fÃ¼r die Pronomina \sieer[und]{} in allen vier FÃ¤llen bereit. Auch hier kann als optionales Argument eine Konjunktion Ã¼bergeben werden: |\ersie|\oarg{Konjunktion}|{}| FÃ¼r diese Makros ist es unerheblich, ob sie als |\ersie{}| oder |\sieer{}| aufgerufen werden. FÃ¼r den Satzanfang stehen jeweils die Makros |\Sieer{}| bzw. |\Ersie{}| zur VerfÃ¼gung.
% 
% \begin{tabular}{lcccc}
%  &amp; \multicolumn{2}{c}{Kleinschreibung} &amp; \multicolumn{2}{c}{GroÃŸschreibung}  \\ 
% \hline 
% Nominativ &amp; |\sieer{}| &amp; |\ersie{}| &amp; |\Sieer{}| &amp; |\Ersie{}| \\ 
% Genitiv &amp; |\ihrsein{}| &amp; |\seinihr{}| &amp; |\Ihrsein{}| &amp; |\Seinihr{}| \\ 
% &amp; |\ihreseine{}| &amp; |\seineihre{}| &amp; |\Ihreseine{}| &amp; |\Seineihre{}| \\ 
% Dativ &amp; |\ihrihm{}| &amp; |\ihmihr{}| &amp; |\Ihrihm{}| &amp; |\Ihmihr{}| \\ 
% Akkusativ &amp; |\sieihn{}| &amp; |\ihnsie{}| &amp; |\Sieihn{}| &amp; |\Ihnsie{}| \\ 
% \end{tabular}  
%
% \subsection{Feste Formen mit genderfix}
%
% Neben den beschriebenen Formen, die abwechselnd unterschiedliche Formen ausgeben, beinhaltet das Paket die MÃ¶glichkeit eine einzelne, feste Form auszugeben. Die ist fÃ¼r Formulierungen in Vorlagen hilfreich, die an unterschiedliche Geschlechter angepasst werden mÃ¼ssen:
%
% \DescribeMacro{\genderfix}
%
% |Ich gelobe als \genderfix{Vorsitzende()Vorsitzender}|\ldots
%
% \emph{Ich gelobe als \genderfix{Vorsitzende()Vorsitzender}\ldots}
%
% Dabei mÃ¼ssen die weibliche und die mÃ¤nnliche wie bei den Formen von |\gender| angegeben werden. Die Option \oarg{malefix=} legt hierbei fest, ob die mÃ¤nnliche (|true|, Vorgabe) oder die weibliche (|false|) Form verwendet wird.
%
% \section{Implementierung}
%
% \subsection{Das \LaTeX-Dokument "`\texttt{gender.sty}"'}
%
% Das Paket benÃ¶tigt |xkeyval| fÃ¼r die Klassenoptionen.
%    \begin{macrocode}
\RequirePackage{xkeyval}
%
% Wird konj aufgerufen wird gndr@konj auf 'Wert', ansonsten auf 'und' gesetzt
\DeclareOptionX[GN]&lt;gndr&gt;{konj}[und]{\def\gndr@konj{#1}\PackageInfo{GENDER}{Setting 'gndr@konj' to '#1'}}
%
% Boolean 'single'
\define@boolkey+[GN]{gndr}{single}[true]%
    {\PackageInfo{GENDER}{Setting boolean 'single' to '#1'}}
    {\PackageWarning{GENDER}{Value #1 for 'single' ignored}}
%Setzt GN@gndr@single wenn es nicht aufgerufen wurde
\presetkeys[GN]{gndr}{single=false}{}
%
\define@boolkey+[GN]{gndr}{malefirst}[true]%
    {\PackageInfo{GENDER}{Setting boolean 'malefirst' to '#1'}}
    {\PackageWarning{GENDER}{Value #1 for 'malefirst' ignored}}
\presetkeys[GN]{gndr}{malefirst=false}{}
%
\define@boolkey+[GN]{gndr}{fixmale}[true]%
    {\PackageInfo{GENDER}{Setting boolean 'fixmale' to '#1'}}
    {\PackageWarning{GENDER}{Value #1 for 'fixmale' ignored}}
\presetkeys[GN]{gndr}{fixmale=true}{}
%
\DeclareOptionX*{\PackageWarning{GENDER}{Unknown Option '\CurrentOption'}}
\ProcessOptionsX[GN]&lt;gndr&gt;\relax
%
%-----------------------------
%
% Wurde konj nicht aufgerufen, wird es nun auf 'und' gesetzt
\@ifundefined{gndr@konj}{\def\gndr@konj{und}\PackageInfo{GENDER}{Setting 'gndr@konj' to 'und'}}{\relax}%
%
%
\newif\iffem\femtrue%female vorne
\newif\ifuc\uctrue%uppercase
\newif\iffixmale\fixmalefalse
\ifGN@gndr@malefirst\global\femfalse\fi
\ifGN@gndr@fixmale\global\fixmaletrue\fi
%
\def\keep{\iffem\global\femfalse\else\global\femtrue\fi}%
%
\def\gender#1{\global\ucfalse\ifGN@gndr@single\@gend#1\@nil\else\@gender#1\@nil\fi}%
\def\Gender#1{\global\uctrue\ifGN@gndr@single\@gend#1\@nil\else\@gender#1\@nil\fi}%
\def\gend#1{\global\ucfalse\@gend#1\@nil}%
\def\Gend#1{\global\uctrue\@gend#1\@nil}%
%Version mit b -- es werden immer beide Formen genommen, auch bei single=true
\def\genderb#1{\global\ucfalse\@gender#1\@nil}%
\def\Genderb#1{\global\uctrue\@gender#1\@nil}%
%Versionen mit k -- die Form wird behalten
\def\genderk#1{\keep\global\ucfalse\ifGN@gndr@single\@gend#1\@nil\else\@gender#1\@nil\fi}%
\def\Genderk#1{\keep\global\uctrue\ifGN@gndr@single\@gend#1\@nil\else\@gender#1\@nil\fi}%
\def\gendk#1{\keep\global\ucfalse\@gend#1\@nil}%
\def\Gendk#1{\keep\global\uctrue\@gend#1\@nil}%
\def\genderbk#1{\keep\global\ucfalse\@gender#1\@nil}%
\def\Genderbk#1{\keep\global\uctrue\@gender#1\@nil}%
%
\def\genderfix#1{\global\ucfalse\@genderfix#1\@nil}%
\def\Genderfix#1{\global\uctrue\@genderfix#1\@nil}%
%
\def\@gender#1(#2)#3\@nil{%
    \if\relax\detokenize{#2}\relax%
    \def\gndr@ko{\gndr@konj}%
    \else\def\gndr@ko{#2}%
    \fi%
    \iffem%
	\ifuc\MakeUppercase#1 \else#1 \fi\gndr@ko{} #3%
	\global\femfalse%
    \else%
	\ifuc\MakeUppercase#3 \else#3 \fi\gndr@ko{} #1%
	\global\femtrue%
    \fi%
}
%
\def\@gend#1(#2)#3\@nil{%
    \iffem%
	\ifuc\MakeUppercase#1\else#1\fi%
	\global\femfalse%
    \else%
	\ifuc\MakeUppercase#3\else#3\fi%
	\global\femtrue%
    \fi%
}
%
\def\@genderfix#1(#2)#3\@nil{%
    \iffixmale%
	\ifuc\MakeUppercase#3\else#3\fi%
    \else%
	\ifuc\MakeUppercase#1\else#1\fi%
    \fi%
}
%
% Weitere Formen
% DÃ¼rfen nicht die @Versionen aufrufen!
\newcommand{\gnd}[2][\gndr@konj]{\gender{#2in(#1)#2}} %Kurzbefehl \gnd[konj]{neutr. Form}
\newcommand{\gndpl}[2][\gndr@konj]{\gender{#2innen(#1)#2}} %Kurzbefehl \gndpl[konj]{neutr. Form}
%
%Pronomen
\newcommand{\sieer}[1][\gndr@konj]{\gender{sie(#1)er}}
\newcommand{\ersie}{\sieer}
\newcommand{\ihrsein}[1][\gndr@konj]{\gender{ihr(#1)sein}}
\newcommand{\seinihr}{\ihrsein}
\newcommand{\ihreseine}[1][\gndr@konj]{\gender{ihre(#1)seine}}
\newcommand{\seineihre}{\ihreseine}
\newcommand{\ihrihm}[1][\gndr@konj]{\gender{ihr(#1)ihm}}
\newcommand{\ihmihr}{\ihrihm}
\newcommand{\sieihn}[1][\gndr@konj]{\gender{sie(#1)ihn}}
\newcommand{\ihnsie}{\sieihn}
%GroÃŸschreibung
\newcommand{\Sieer}[1][\gndr@konj]{\Gender{sie(#1)er}}
\newcommand{\Ersie}{\Sieer}
\newcommand{\Ihrsein}[1][\gndr@konj]{\Gender{ihr(#1)sein}}
\newcommand{\Seinihr}{\Ihrsein}
\newcommand{\Ihreseine}[1][\gndr@konj]{\Gender{ihre(#1)seine}}
\newcommand{\Seineihre}{\Ihreseine}
\newcommand{\Ihrihm}[1][\gndr@konj]{\Gender{ihr(#1)ihm}}
\newcommand{\Ihmihr}{\Ihrihm}
\newcommand{\Sieihn}[1][\gndr@konj]{\Gender{sie(#1)ihn}}
\newcommand{\Ihnsie}{\Sieihn}
%    \end{macrocode}
%
%
% \Finale
\endinput



</pre></body></html>