texlive[41359] Master/texmf-dist: he-she (7jun16)

commits+karl at tug.org commits+karl at tug.org
Sat Jun 11 01:21:31 CEST 2016


Revision: 41359
          http://tug.org/svn/texlive?view=revision&revision=41359
Author:   karl
Date:     2016-06-11 01:21:30 +0200 (Sat, 11 Jun 2016)
Log Message:
-----------
he-she (7jun16)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/he-she/README
    trunk/Master/texmf-dist/doc/latex/he-she/he-she.pdf
    trunk/Master/texmf-dist/doc/latex/he-she/he-she.tex
    trunk/Master/texmf-dist/tex/latex/he-she/he-she.sty

Modified: trunk/Master/texmf-dist/doc/latex/he-she/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/he-she/README	2016-06-10 23:21:09 UTC (rev 41358)
+++ trunk/Master/texmf-dist/doc/latex/he-she/README	2016-06-10 23:21:30 UTC (rev 41359)
@@ -8,7 +8,7 @@
 flag to turn off xspace, and a silly option for replacing all pronouns
 with 'they/them/their'.
 
-Copyright 2011,2013 by Alan Munn
+Copyright 2011,2013, 2016 by Alan Munn
 
 This package may be distributed and/or modified under the conditions of
 the LaTeX Project Public License, either version 1.3 of this license or
@@ -23,4 +23,4 @@
 This package consists of the file he-she.sty and documentation files
 he-she.tex and he-she.pdf
 
-Version 1.1 2013/03/04
+Version 1.3 2016/06/06

Modified: trunk/Master/texmf-dist/doc/latex/he-she/he-she.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/he-she/he-she.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/he-she/he-she.tex	2016-06-10 23:21:09 UTC (rev 41358)
+++ trunk/Master/texmf-dist/doc/latex/he-she/he-she.tex	2016-06-10 23:21:30 UTC (rev 41359)
@@ -1,9 +1,11 @@
+% !TEX TS-program = pdflatexmk
+
 \documentclass[11pt]{article}
 \title{\textbf{The \textsf{he-she} package}}
 \author{\textbf{Alan Munn}\\Department of Linguistics and Languages\\Michigan State University\\\texttt{\href{mailto:amunn at msu.edu}{amunn at msu.edu}}}
-\date{Version 1.1\\March 4, 2013}
+\date{Version 1.3\\June 6, 2016}
 \usepackage[T1]{fontenc}
-\usepackage[margin=.7in]{geometry}
+\usepackage[margin=1in,includefoot]{geometry}
 \usepackage{titling}
 \usepackage[utf8]{inputenc}
 \usepackage{array, booktabs, multicol, fancyhdr, xspace,tabularx}
@@ -10,7 +12,7 @@
 \usepackage{enumitem}
 \usepackage{fancyvrb,listings,url}
 \usepackage[sf,compact]{titlesec}
-\usepackage[para]{he-she}
+\usepackage[]{he-she}
 \usepackage{gb4e}
 \usepackage[colorlinks=true]{hyperref}
 \noautomath
@@ -38,6 +40,8 @@
     showstringspaces=false,
     breaklines=true,
     breakautoindent=true,
+    breakindent=1em,
+    xrightmargin=2.5em,
     captionpos=t
     language=TeX
 }
@@ -83,7 +87,7 @@
 
 One option that some seem to have adopted is to switch genders every time a generic pronoun is required so that the first instance of a generic would be continued with \emph{he} and the second by \emph{she}, and so on throughout a text.
 
-It's debatable whether this is in fact a good strategy, and the present author in no way endorses it, but it was fun to write the resultant package.  So, should you wish to adopt the strategy, and be in need of an automatic way to do it (which makes sense, since otherwise it would be hard to keep track of the switches) the present package is for you.
+It's debatable whether this is in fact a good strategy, and I in no way endorse it, but it was fun to write the resultant package.  So, should you wish to adopt the strategy, and be in need of an automatic way to do it (which makes sense, since otherwise it would be hard to keep track of the switches) the present package is for you.
 \section{Package Options}
 There are three package options, two serious, and one comic.
 \begin{center}
@@ -100,32 +104,38 @@
 
 
 \section{User commands}
-The user commands are quite simple: for each pronoun case form (nominative, accusative, and genitive) there is a switching version and an anaphoric version. In the accusative, there is also a reflexive form.\footnote{In most normal use the reflexive form will only be used in its anaphoric form. I'll leave it as an exercise to the reader to figure out why; linguists in particular may have a use for the switching form, however.}  Each of these has both an uppercase version and a lowercase version. The anaphoric forms can be of either gender, just to keep everyone happy. (But since the feminine accusative and genitive forms (\emph{her}) are identical, the feminine genitive macro is \pkg{\bs hir}.) There are also a couple of flags that may be of use.\bigskip
+The user commands are quite simple: for each pronoun case form (nominative, accusative, and genitive determiner and genitive pronominal) there is a switching version and an anaphoric version. In the accusative, there is also a reflexive form.\footnote{In most normal use the reflexive form will only be used in its anaphoric form. I'll leave it as an exercise to the reader to figure out why; linguists in particular may have a use for the switching form, however.}  Each of these has both an uppercase version and a lowercase version. The anaphoric forms can be of either gender, just to keep everyone happy. Since the feminine accusative and genitive determiner forms (\emph{her}) are identical, the feminine genitive determiner macro is |\hir|. And since the masculine genitive pronominal form is the same as the determiner form, the masculine genitive pronominal form is |\hiss|.  There are also a couple of flags that may be of use.\bigskip
 
-\begin{tabularx}{.8\textwidth}{>{\ttfamily}lX}
+\noindent
+\begin{tabularx}{.9\textwidth}{>{\ttfamily}l>{\ttfamily}lX}
 \toprule
-\normalfont\textbf{Command} & \textbf{Description}\\
+\normalfont\textbf{Command} & \normalfont\textbf{Synonym} &\textbf{Description}\\
 \midrule
-{\bs heshe} &  Outputs either \emph{he} or \emph{she} and switches gender.\\
-{\bs he} &  Anaphoric \emph{he} or \emph{she} according to the current gender state.\\
-{\bs himher} &  \emph{him} or \emph{her} switch.\\
-{\bs himherself} & \emph{himself} or \emph{herself} switch\\
-{\bs him} &  \emph{him} or \emph{her} anaphoric.\\
-{\bs himself} & \emph{himself} or \emph{herself} anaphoric.\\
-{\bs hisher} &  \emph{his} or \emph{her} switch.\\
-{\bs his} &  \emph{his} or \emph{her} anaphoric.\\
-{\bs Heshe} &  Uppercase version.\\
-{\bs Himher} &  Uppercase version.\\
-{\bs Himherself} & Uppercase version.\\
-{\bs Hisher} &  Uppercase version.\\
-{\bs He} &  Uppercase version.\\
-{\bs Him} &  Uppercase version.\\
-{\bs Himself} & Uppercase version.\\
-{\bs His} &  Uppercase version.\\
-{\bs she,\bs her,\bs herself, \bs hir} & synonyms for the anaphoric pronouns.\\
-{\bs She,\bs Her, \bs Herself, \bs Hir} & uppercase synonyms for the anaphoric pronouns.\\
-{\bs xspacefalse} &  turn off the use of \texttt{\bs xspace}.\\
-{\bs hetrue,\bs hefalse} &  switches current gender state.\\
+{\bs heshe} &  & Outputs either \emph{he} or \emph{she} and switches gender.\\
+{\bs he} & {\bs she} & Anaphoric \emph{he} or \emph{she} according to the current gender state.\\
+{\bs himher} & & \emph{him} or \emph{her} switch.\\
+{\bs him} &   {\bs her} & \emph{him} or \emph{her} anaphoric.\\
+{\bs himherself} & & \emph{himself} or \emph{herself} switch\\
+{\bs himself} & {\bs herself} & \emph{himself} or \emph{herself} anaphoric.\\
+{\bs hisher} & & \emph{his} or \emph{her} switch.\\
+{\bs his} & {\bs hir} & \emph{his} or \emph{her} anaphoric.\\
+{\bs hishers} & & \emph{his} or \emph{hers} switch.\\
+{\bs hiss} & {\bs hers } & \emph{his} or \emph{hers} anaphoric.\\
+{\bs Heshe} & &  Uppercase version.\\
+{\bs Himher} & &  Uppercase version.\\
+{\bs Himherself} & & Uppercase version.\\
+{\bs Hisher} & &  Uppercase version.\\
+{\bs Hishers} & & Uppercase version.\\
+{\bs He} & {\bs She} &  Uppercase version.\\
+{\bs Him} & {\bs Her} &  Uppercase version.\\
+{\bs Himself} & {\bs Herself} & Uppercase version.\\
+{\bs His} & {\bs Hir} &  Uppercase version.\\
+{\bs Hiss} & {\bs Hers} & Uppercase version.\\
+%{\bs she,\bs her,\bs herself, \bs hers} & synonyms for the anaphoric pronouns.\\
+%{\bs She,\bs Her, \bs Herself, \bs Hers} & uppercase synonyms for the anaphoric pronouns.\\
+{\bs xspacefalse} & & turn off the use of \texttt{\bs xspace}.\\
+%{\bs hetrue,\bs hefalse} & & switches current gender state.\\
+{\bs setgender\{\}} & & takes one argument: Male/Masculine/M, Female/Feminine/F to set the current gender state.\\
 \bottomrule
 \end{tabularx}\bigskip
 
@@ -159,51 +169,63 @@
 \end{xlist}
 \end{exe}
 
-In the first example, the switching version is used throughout, yielding the gibberish of (\ref{switched}). In the second example the first instance of the pronoun uses the switching version (\pkg{\bs heshe}) (here assuming it has been already used once), but subsequent anaphoric references to the current gender are preserved using the anaphoric versions (\pkg{\bs he,\bs his} or \pkg{\bs his}).
+In the first example, the switching version is used throughout, yielding the gibberish of (\ref{switched}). In the second example the first instance of the pronoun uses the switching version (|\heshe|) (here assuming it has been already used once), but subsequent anaphoric references to the current gender are preserved using the anaphoric versions (|\he,\him|, |\his| or |\hiss|).
 
 \subsection{Use of the \pkg{xspace} package}
 By default, the package uses the \pkg{xspace} package to insert a space automatically after the pronoun. The \pkg{xspace} package automatically checks for following punctuation and suppresses the space in these cases.  However, it's not perfect, and some users might prefer not to have the space inserted automatically.  They can do this by using the \pkg{[noxspace]} option.
 
-If you are using the default settings, and encounter problems (for example, using a pronoun macro as the argument to another macro such as \pkg{\bs emph} or \pkg{\bs textbf}) will pose problems) you can temporarily suppress the insertion of the space using the boolean \pkg{\bs xspacefalse}. The examples below illustrate this.
+If you are using the default settings, and encounter problems (for example, using a pronoun macro as the argument to another macro which ends in |\relax| will pose problems, as will punctuation that \pkg{xspace} doesn't know about) you can temporarily suppress the insertion of the space using the boolean |\xspacefalse|. The examples below illustrate this.
 
+\newcommand*\mymacro[1]{#1\relax}
 \begin{exe}
 \ex\label{xspaces}
 \begin{xlist}
 \ex \begin{lstlisting}
-\emph{\Heshe} will leave.
+\newcommand*\mymacro[1]{#1\relax}
+I will see \mymacro{\himher}.
 \end{lstlisting}
-\ex \emph{\Heshe} will leave.\hfill(Extra space incorrectly inserted.)
+\ex I will see \mymacro{\himher}.\hfill(Extra space incorrectly inserted.)
 \ex\begin{lstlisting}
-\emph{\xspacefalse\Heshe} will leave.
+\newcommand*\mymacro[1]{\xspacefalse#1\relax}
+I will see \mymacro{\himher}.
 \end{lstlisting}
-\ex \emph{\hetrue\xspacefalse\Heshe} will leave.\hfill(Extra space suppressed.)
+\def\mymacro#1{\xspacefalse#1\relax}
+\ex I will see \mymacro{\himher}.\hfill(Extra space suppressed.)
 \end{xlist}
 \end{exe}
 \subsection{Manually switching the gender state}
-The booleans \pkg{\bs hetrue} and \pkg{\bs hefalse} can be used anywhere to manually change the current gender. The first use of a switching pronoun inserts a masculine pronoun and then changes the gender to feminine by setting \pkg{\bs hefalse}. This means that for an anaphoric pronoun, the form is the opposite gender to the current state of the boolean.  This is best shown by some examples:
+\sloppy For some purposes it might be useful to set the gender manually.  For this there is the |\setgender{}| command. This command takes one argument which can be any version of |Male/Female/Masculine/Feminine/M/F|. Using the manual method might actually be practical in some cases.  For example, you could set the state at the beginning of a chapter and then just use the anaphoric version of the pronouns for all generic pronouns throughout the chapter.  This might be a less annoying strategy than switching pronouns constantly throughout a chapter. Another possible use for this method would be for form letters which have text which must be personalized for the gender of the addressee.
 
+Here are some examples.  In (\ref{booleansa}) we see the gender set to F and then a switching version of the pronoun is used. This switches the gender to M.  In (\ref{booleansb}), the gender is set to F and then a anaphoric pronoun is used, and its gender is also F.\footnote{This command replaces direct manipulation of the state-switching boolean which was present in older versions. Documents using these direct manipulations will still work, however.}
+
+
 \begin{exe}
-\ex\label{booleans}
+\ex\label{booleansa}
 \begin{xlist}
 \ex \begin{lstlisting}
-\Heshe will leave.
+\setgender{F} \Heshe will leave.
 \end{lstlisting}
-\ex \hefalse\Heshe will leave.\hfill(Boolean state: \pkg{\bs hetrue })
+\ex \setgender{F}\Heshe will leave.\hfill(Since gender is set to F, the switched pronoun is M)
+\end{xlist}
+\end{exe}
+\begin{exe}
+\ex\label{booleansb}
+\begin{xlist}
 \ex\begin{lstlisting}
-\hefalse \He will leave.
+\setgender{F} \He will leave.
 \end{lstlisting}
-\ex \hefalse \He will leave.\hfill(Because of \pkg{\bs hefalse} the anaphoric pronoun is masculine)
+\ex \setgender{F} \He will leave.\hfill(Since gender is set to F the anaphoric pronoun is also F)
 \end{xlist}
 \end{exe}
 
-Using the manual method might actually be practical in some cases.  For example, you could set the state at the beginning of a chapter and then just use the anaphoric version of the pronouns for all generic pronouns throughout the chapter.  This might be a less annoying strategy than switching pronouns constantly throughout a chapter.
+
 \section{The \pkg{[para]} option}
 For some purposes it may be useful to have the genders switch every paragraph.  In this case you may use the \pkg{[para]} option.  With this option, every new paragraph resets the gender.  In this case, as with the per chapter example just discussed, \emph{only} the anaphoric versions of the pronouns should be used in the running text. This option was added in response to another  \href{http://tex.stackexchange.com/q/100108/2693}{Stack Exchange question}.
 
 \section{The \pkg{[they]} option}
-When you get tired of the silliness of alternating genders, you can switch to
+When you get tired of alternating genders, you can switch to
 this option, which will replace all of the relevant pronouns with the third
-person plural pronoun form (\emph{they/them/their}).  Note that for the nominative
+person plural pronoun form (\emph{they/them/their/theirs}).  Note that for the nominative
 this will cause your document to produce ungrammatical text, since there is 
 no way to fix the subject/verb agreement. As a result, this is probably not intended to be a robust alternative! You have been warned! (And you will be if you use it too.) Here is a sample:
 \begin{exe}
@@ -216,5 +238,6 @@
 \end{xlist}
 \end{exe}
 \section{Bugs}
-Feel free to report bugs if you find some. Given the low utility of the whole package, they may or may not be addressed. (Although if you really find the package useful, please let me know.)  The same goes for feature requests.
+Feel free to report bugs if you find some. I will try to address them as time permits. Also,  if you really find the package useful, please let me know.  The same goes for feature requests.
+
 \end{document}
\ No newline at end of file

Modified: trunk/Master/texmf-dist/tex/latex/he-she/he-she.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/he-she/he-she.sty	2016-06-10 23:21:09 UTC (rev 41358)
+++ trunk/Master/texmf-dist/tex/latex/he-she/he-she.sty	2016-06-10 23:21:30 UTC (rev 41359)
@@ -8,7 +8,7 @@
 % Includes an option to flag to turn off xspace, and a silly option for replacing
 % all pronouns with 'they/them/their'.
 %
-% Copyright 2011 by Alan Munn
+% Copyright 2011, 2013, 2016 by Alan Munn
 %
 % This package may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3
@@ -36,9 +36,9 @@
 %
 % Option they
 %
-% When you get tired of the silliness of alternating genders, you can switch to
+% When you get tired of of alternating genders, you can switch to
 % this option, which will replace all of the relevant pronouns with the third
-% person plural pronoun form ('they/them/their').  Note that for the nominative
+% person plural pronoun form ('they/them/their/theirs').  Note that for the nominative
 % this will cause your document to produce ungrammatical text, since there is 
 % no way to fix the subject/verb agreement.
 %
@@ -48,8 +48,16 @@
 % Version history
 % Version 1.0 2011/02/13 Initial release.
 % Version 1.1 2013/03/04 Added [para] option and reflexive forms.
+% Version 1.1b 2013/06/11 Fixed bug with [para] option (thanks to Enrico Gregorio)
+% Version 1.2 2016/05/25 Added \hishers, \hers and  \hiss commands 
+% (thanks to Mike Sabin for the feature request)
+% Version 1.3 2016/06/06 Added a \setgender command to make choosing the gender more user friendly.
+% Documentation rewritten to reflect this change. All internal macros have now been prefixed with HS@
+% User level access to the booleans is now through \setgender although the old booleans are emulated
+% for backwards compatibility.
+% (thanks to Sefarin James for the feature request)
 %
-\ProvidesPackage{he-she}[2013/03/04 Semi-automatic pronoun switching with anaphora v1.1]
+\ProvidesPackage{he-she}[2016/06/06 Semi-automatic pronoun switching with anaphora v1.3]
 \RequirePackage{xspace}
 \newif\ifxspace\xspacetrue
 \newif\ifHS at they\HS at theyfalse
@@ -62,7 +70,7 @@
 %
 \DeclareOption{para}{
   \HS at paratrue
-  \PackageWarning{he-she}{*** WARNING: Use the `\CurrentOption` at your own risk. ***}}
+  \PackageWarning{he-she}{*** WARNING: Use the `\CurrentOption` at your own risk. With this option you should use *only* the anaphoric versions of the pronouns in your text. ***}}
 %
 \DeclareOption*{%
  \PackageWarning{he-she}{Unknown option `\CurrentOption`}%
@@ -69,7 +77,41 @@
 }
 \ProcessOptions
 % toggle for changing the gender
-\newif\ifhe\hetrue
+\newif\ifHS at he\HS at hetrue
+
+% macro to get first character of a token
+\def\HS at getfirst#1{\HS at fstx#1\empty\empty}
+\def\HS at fstx#1#2\empty{%
+ \edef\HS at fst{#1}}
+
+% macros for comparison 
+\def\HS at Masc{M}
+\def\HS at masc{m}
+\def\HS at Fem{F}
+\def\HS at fem{f}
+
+% command to set gender (takes Male/M Female/F etc. or lowercase version of each)
+% expands argument first to allow it to be a macro
+\newcommand\setgender[1]{%
+\edef\next{\noexpand\HS at setgender{#1}}\next}
+\newcommand\HS at setgender[1]{%
+\HS at getfirst{#1}
+\ifx\HS at fst\HS at Masc \global\HS at hefalse
+	\else
+	\ifx\HS at fst\HS at masc \global\HS at hefalse
+		\else
+		\ifx\HS at fst\HS at Fem \global\HS at hetrue
+			\else
+			\ifx\HS at fst\HS at fem \global\HS at hetrue
+				\else
+				\global\HS at hetrue 
+				\PackageWarning{he-she}{Invalid value for gender. Using Masculine}
+				\fi
+			\fi
+		\fi
+	\fi
+}
+
 %
 %
 \ifHS at para%
@@ -86,15 +128,19 @@
 \newcommand*{\Himher}{Them\ifxspace\xspace\fi}
 \newcommand*{\Himherself}{Themselves\ifxspace\xspace\fi}
 \newcommand*{\hisher}{their\ifxspace\xspace\fi}
+\newcommand*{\hishers}{theirs\ifxspace\xspace\fi}
 \newcommand*{\Hisher}{Their\ifxspace\xspace\fi}
+\newcommand*{\Hishers}{Theirs\ifxspace\xspace\fi}
 \newcommand*{\he}{they\ifxspace\xspace\fi}
 \newcommand*{\He}{They\ifxspace\xspace\fi}
 \newcommand*{\him}{them\ifxspace\xspace\fi}
 \newcommand*{\himself}{themselves\ifxspace\xspace\fi}
 \newcommand*{\Him}{Them\ifxspace\xspace\fi}
-\newcommand*{\Him}{Themselves\ifxspace\xspace\fi}
+\newcommand*{\Himself}{Themselves\ifxspace\xspace\fi}
 \newcommand*{\his}{their\ifxspace\xspace\fi}
+\newcommand*{\hiss}{theirs\ifxspace\xspace\fi}
 \newcommand*{\His}{Their\ifxspace\xspace\fi}
+\newcommand*{\Hiss}{Theirs\ifxspace\xspace\fi}
 %
 \else
 %
@@ -102,21 +148,23 @@
 %
 % Nominative lowercase switching form \heshe
 \newcommand*{\heshe}{%
-  \ifhe%
+  \leavevmode
+  \ifHS at he
     he%
-    \global\hefalse%
-  \else%
+    \global\HS at hefalse%
+  \else
     she%
-    \global\hetrue%
-  \fi%
+    \global\HS at hetrue%
+  \fi
   \ifxspace\xspace\fi
 }
 %
 % Nominative lowercase anaphoric form \he
 \newcommand*\he{%
-\ifhe%
-	she%
-  \else%
+  \leavevmode
+  \ifHS at he
+	  she%
+  \else
   	he%
   \fi
   \ifxspace\xspace\fi
@@ -124,21 +172,23 @@
 %
 % Accusative lowercase switching form \himher
 \newcommand*\himher{%
-  \ifhe%
+  \leavevmode
+  \ifHS at he
   	him%
-    \global\hefalse%
-  \else%
+    \global\HS at hefalse%
+  \else
   	her%
-    \global\hetrue%
-  \fi%
+    \global\HS at hetrue%
+  \fi
   \ifxspace\xspace\fi
 }%
 % Lowercase switching reflexive form \himherself
 %
 \newcommand*\himherself{%
-\ifhe%
-	herself%
-  \else%
+  \leavevmode
+  \ifHS at he
+	  herself%
+  \else
   	himself%
   \fi
   \ifxspace\xspace\fi
@@ -146,9 +196,10 @@
 %
 % Accusative lowercase anaphoric form \him
 \newcommand*\him{%
-\ifhe%
-	her%
-  \else%
+  \leavevmode
+  \ifHS at he
+	  her%
+  \else
   	him%
   \fi
   \ifxspace\xspace\fi
@@ -156,9 +207,10 @@
 % Lowercase anaphoric reflexive form \himself
 %
 \newcommand*\himself{%
-\ifhe%
-	herself%
-  \else%
+  \leavevmode
+  \ifHS at he
+	  herself%
+  \else
   	himself%
   \fi
   \ifxspace\xspace\fi
@@ -166,45 +218,74 @@
 %
 % Genitive lowercase switching form \hisher
 \newcommand*\hisher{%
-  \ifhe%
+  \leavevmode
+  \ifHS at he
   	his%
-    \global\hefalse%
-  \else%
+    \global\HS at hefalse%
+  \else
   	her%
-    \global\hetrue%
-  \fi%
+    \global\HS at hetrue%
+  \fi
   \ifxspace\xspace\fi
 }
 %
 % Genitive lowercase anaphoric form \his
 \newcommand*\his{%
-\ifhe%
-	her%
-  \else%
+  \leavevmode
+  \ifHS at he
+	  her%
+  \else
   	his%
   \fi
   \ifxspace\xspace\fi
 }
 %
+% Genitive null NP form ('The car is his/hers')
+% Genitive lowercase switching form \hishers
+\newcommand*\hishers{%
+  \leavevmode
+  \ifHS at he
+  	his%
+    \global\HS at hefalse%
+  \else
+  	hers%
+    \global\HS at hetrue%
+  \fi
+  \ifxspace\xspace\fi
+}
+%
+% Genitive lowercase anaphoric form \hiss
+\newcommand*\hiss{%
+  \leavevmode
+  \ifHS at he
+	  hers%
+  \else
+  	his%
+  \fi
+  \ifxspace\xspace\fi
+}
+%
 % Uppercase versions:
 %
 % Nominative uppercase switching form \Heshe
 \newcommand*{\Heshe}{%
-  \ifhe%
+  \leavevmode
+  \ifHS at he
     He%
-    \global\hefalse%
-  \else%
+    \global\HS at hefalse%
+  \else
     She%
-    \global\hetrue%
-  \fi%
+    \global\HS at hetrue%
+  \fi
   \ifxspace\xspace\fi
 }
 %
 % Nominative uppercase anaphoric form \He
 \newcommand*\He{%
-\ifhe%
-	She%
-  \else%
+  \leavevmode
+  \ifHS at he
+	  She%
+  \else
   	He%
   \fi
   \ifxspace\xspace\fi
@@ -212,13 +293,14 @@
 %
 % Accusative uppercase switching form \Himher
 \newcommand*\Himher{%
-  \ifhe%
+  \leavevmode
+  \ifHS at he
   	Him%
-    \global\hefalse%
-  \else%
+    \global\HS at hefalse%
+  \else
   	Her%
-    \global\hetrue%
-  \fi%
+    \global\HS at hetrue%
+  \fi
   \ifxspace\xspace\fi
 }%
 
@@ -225,10 +307,11 @@
 % Uppercase switching reflexive form \Himherself
 %
 \newcommand*\Himherself{%
-\ifhe%
-	Herself%
-  \else%
-  Himself%
+  \leavevmode
+  \ifHS at he
+	  Herself%
+  \else
+    Himself%
   \fi
   \ifxspace\xspace\fi
 }
@@ -235,9 +318,10 @@
 %
 % Accusative uppercase anaphoric form \Him
 \newcommand*\Him{%
-\ifhe%
-	Her%
-  \else%
+  \leavevmode
+  \ifHS at he
+	  Her%
+  \else
   	Him%
   \fi
   \ifxspace\xspace\fi
@@ -246,9 +330,10 @@
 % Uppercase anaphoric reflexive form \Himself
 %
 \newcommand*\Himself{%
-\ifhe%
-	Herself%
-  \else%
+  \leavevmode
+  \ifHS at he
+	  Herself%
+  \else
   	Himself%
   \fi
   \ifxspace\xspace\fi
@@ -256,26 +341,53 @@
 %
 % Genitive uppercase switching form \Hisher
 \newcommand*\Hisher{%
-  \ifhe%
+  \leavevmode
+  \ifHS at he
   	His%
-    \global\hefalse%
-  \else%
+    \global\HS at hefalse%
+  \else
   	Her%
-    \global\hetrue%
-  \fi%
+    \global\HS at hetrue%
+  \fi
   \ifxspace\xspace\fi
 }
 %
 % Genitive uppercase anaphoric form \His
 \newcommand*\His{%
-\ifhe%
-	Her%
-  \else%
+  \leavevmode
+  \ifHS at he
+	  Her%
+  \else
   	His%
   \fi
   \ifxspace\xspace\fi
 }
+% Genitive null NP form ('The car is his/hers')
+% Genitive uppercase switching form \Hishers
+\newcommand*\Hishers{%
+  \leavevmode
+  \ifHS at he
+  	His%
+    \global\HS at hefalse%
+  \else
+  	Hers%
+    \global\HS at hetrue%
+  \fi
+  \ifxspace\xspace\fi
+}
+%
+% Genitive uppercase anaphoric form \Hiss
+\newcommand*\Hiss{%
+  \leavevmode
+  \ifHS at he
+	  Hers%
+  \else
+  	His%
+  \fi
+  \ifxspace\xspace\fi
+}
 \fi
+% Define synonyms
 \let\she\he
 \let\She\He
 \let\her\him
@@ -284,4 +396,9 @@
 \let\Herself\Himself
 \let\hir\his
 \let\Hir\His
+\let\hers\hiss
+\let\Hers\Hiss
+% These for backward compatibility to previous versions
+\newcommand*\hetrue{\setgender{F}}
+\newcommand*\hefalse{\setgender{M}}
 \endinput
\ No newline at end of file



More information about the tex-live-commits mailing list