diff options
author | Karl Berry <karl@freefriends.org> | 2011-02-15 00:55:15 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-02-15 00:55:15 +0000 |
commit | 7fd47b273a66a811d63d0575e85848101e8d2493 (patch) | |
tree | 61c3b58b5ec2238e4983dd22e72e677afa3ce95d | |
parent | 73b76d6d7b5047bad09c2f43f6a99334e6d5a67c (diff) |
new latex package he-she (14feb11)
git-svn-id: svn://tug.org/texlive/trunk@21407 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/latex/he-she/README | 26 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/he-she/he-she.pdf | bin | 0 -> 159767 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/he-she/he-she.tex | 210 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/he-she/he-she.sty | 227 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tlpkg-ctan-check | 4 | ||||
-rwxr-xr-x | Master/tlpkg/libexec/ctan2tds | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/collection-fontsextra.tlpsrc | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/he-she.tlpsrc | 0 |
9 files changed, 468 insertions, 2 deletions
diff --git a/Master/texmf-dist/doc/latex/he-she/README b/Master/texmf-dist/doc/latex/he-she/README new file mode 100644 index 00000000000..19917fd1014 --- /dev/null +++ b/Master/texmf-dist/doc/latex/he-she/README @@ -0,0 +1,26 @@ +This package implements a version of semi-automatic pronoun switching +for writing gender-neutral (and possibly annoying) prose. The basic code +is due to Josef (no last name) and Martin Scharrer on +http://tex.stackexchange.com/questions/10787/ + +Modified to handle anaphoric reference to the current gender plus all +three case forms in both uppercase and lowercase. 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 + +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 +any later version. The latest version of this license is in +http://www.latex-project.org/lppl.txt and version 1.3 or later is part +of all distributions of LaTeX version 2005/12/01 or later. + +This package has the LPPL maintenance status `maintained'. + +The Current Maintainer of this package is Alan Munn. + +This package consists of the file he-she.sty and documentation files +he-she.tex and he-she.pdf + +Version 1.0 2011/02/13 diff --git a/Master/texmf-dist/doc/latex/he-she/he-she.pdf b/Master/texmf-dist/doc/latex/he-she/he-she.pdf Binary files differnew file mode 100644 index 00000000000..d8ed4a5a765 --- /dev/null +++ b/Master/texmf-dist/doc/latex/he-she/he-she.pdf diff --git a/Master/texmf-dist/doc/latex/he-she/he-she.tex b/Master/texmf-dist/doc/latex/he-she/he-she.tex new file mode 100644 index 00000000000..ddc1c3d591b --- /dev/null +++ b/Master/texmf-dist/doc/latex/he-she/he-she.tex @@ -0,0 +1,210 @@ +\documentclass[11pt]{article} +\title{\textbf{The \textsf{he-she} package}} +\author{\textbf{Alan Munn}\\Department of Linguistics and Languages\\\texttt{\href{mailto:amunn@msu.edu}{amunn@msu.edu}}} +\date{Version 1.0\\February 13, 2011} +\usepackage[T1]{fontenc} +\usepackage[margin=.75in]{geometry} +\usepackage{titling} +\usepackage[utf8]{inputenc} +\usepackage{array, booktabs, multicol, fancyhdr, xspace,tabularx} +\usepackage{enumitem} +\usepackage{fancyvrb,listings,url} +\usepackage[sf]{titlesec} +\usepackage{he-she} +\usepackage{gb4e} +\usepackage[colorlinks=true]{hyperref} +\noautomath + + +\DefineShortVerb{\|} +\newcommand*\bs{\textbackslash} + +\IfFileExists{luximono.sty}% +{% + \usepackage[scaled]{luximono}% +} +{% + \IfFileExists{beramono.sty}% + {% + \usepackage[scaled]{beramono}% + }{} +} + + +\lstset{% + basicstyle=\ttfamily\small, + commentstyle=\itshape\ttfamily\small, + showspaces=false, + showstringspaces=false, + breaklines=true, + breakautoindent=true, + captionpos=t + language=TeX +} + +\newcommand*{\pkg}[1]{\texttt{#1}\xspace} +\setitemize[1]{label={}} +\setitemize[2]{label={}} +\setdescription{font={\normalfont}} +\setlength{\droptitle}{-1in} + +\lhead{} +\chead{} +\rhead{} +\lfoot{\emph{}} +\cfoot{\thepage} +\rfoot{} +\renewcommand{\headrulewidth}{0pt} +\renewcommand{\footrulewidth}{0pt} +\pagestyle{fancy} + + +\begin{document} +\maketitle +\thispagestyle{empty} +\renewcommand{\abstractname}{\sffamily Abstract} + +\abstract{\noindent\begin{quote}This is a package to produce ``gender neutral'' text by allowing one to alternate use of the masculine and feminine genders within a text. It is not really intended to be taken too seriously (although it works) but it was fun to think about how one would do this automatically. Some comments about using the package in practice are given at the end.\end{quote}} +\section{Introduction} +This package arose out of a question asked on the StackExchange website: \url{http://tex.stackexchange.com/questions/10787/}. The question asked how easy it would be to automatically alternate masculine and feminine pronouns. A couple of almost identical solutions were proposed by Martin Scharrer and someone named Josef. It became clear to me that the simple solution really wasn't enough, since you don't want to switch pronouns all the time, but also require anaphora to an existing switched pronoun. This package is the result of that discussion. +\section{Background} +If you are trying to write truly gender-neutral text, then in generic constructs like (\ref{1}) prescriptively require you to use either the masculine pronoun (\ref{he}) (which today sounds very stuffy) or the somewhat awful-looking \emph{he or she} (\ref{heshe}) or even worse \emph{s/he} (\ref{she}). With any luck the use of the gender neutral \emph{they} (as in (\ref{they1})) will become more acceptable to editors, but until then, people who don't like either of the first two options are stuck. + +\begin{exe} +\ex\label{1} +\begin{xlist} +\ex When a student registers, he receives an ID card.\label{he} +\ex When a student registers, he or she receives an ID card.\label{heshe} +\ex When a student registers, s/he receives an ID card.\label{she} +\ex When a student registers, they receive an ID card.\label{they1} +\end{xlist} +\end{exe} + +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. +\section{Package Options} +There are two package options, one serious, and one comic. +\begin{center} +\begin{tabularx}{.8\textwidth}{>{\ttfamily}lX} +\toprule +\multicolumn{1}{c}{\textbf{Option name}} & \multicolumn{1}{l}{\textbf{Description}}\\ +\midrule +{[xspace]} & Disable the use of \pkg{\bs xspace}\\ +{[they]} & Replace all pronouns with the gender neutral \emph{they/them/their}. This is not really a practical option, but is included for comic purposes. (See usage notes below.)\\ +\bottomrule +\end{tabularx} +\end{center} + + +\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. 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 + +\begin{tabularx}{.8\textwidth}{>{\ttfamily}lX} +\toprule +\normalfont\textbf{Command} & \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 him} & \emph{him} or \emph{her} 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 Hisher} & Uppercase version.\\ +{\bs He} & Uppercase version.\\ +{\bs Him} & Uppercase version.\\ +{\bs His} & Uppercase version.\\ +{\bs she,\bs her,\bs hir} & synonyms for the anaphoric pronouns.\\ +{\bs She,\bs Her,\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.\\ +\bottomrule +\end{tabularx} +\section{Comments on practical usage} +\subsection{Use of the switching and anaphoric forms} +To see why two systems are needed, consider the following continuation of the example in (\ref{1}). If we implemented this by replacing each pronoun with a switching version, the result would be (\ref{switched}), which is ridiculous. Instead, we need subsequent pronouns to be anaphoric to the current gender state, as in (\ref{anaphoric}) + +\begin{exe} +\ex\label{2} +\begin{xlist} +\ex \hefalse When a student registers, \heshe receives an ID card. \Heshe also must go to the advising office so that an advisor can can verify \hisher schedule with \himher.\label{switched} +\ex When a student registers, \heshe receives an ID card. \He also must go to the advising office so that an advisor can can verify \his schedule with \him.\label{anaphoric} +\end{xlist} +\end{exe} + +Using the package, the code that produces the two examples in (\ref{2}) is given in (\ref{code}): + +\begin{exe} +\ex\label{code} +\begin{xlist} +\ex +\begin{lstlisting} +When a student registers, \heshe receives an ID card. \Heshe also must go to the advising office so that an advisor can can verify \hisher schedule with \himher. +\end{lstlisting} +\sn +\vskip-2em +\ex +\begin{lstlisting} +When a student registers, \heshe receives an ID card. \He also must go to the advising office so that an advisor can can verify \his schedule with \him. +\end{lstlisting} +\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}). + +\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. + +\begin{exe} +\ex\label{xspaces} +\begin{xlist} +\ex \begin{lstlisting} +\emph{\Heshe} will leave. +\end{lstlisting} +\ex \emph{\Heshe} will leave.\hfill(Extra space incorrectly inserted.) +\ex\begin{lstlisting} +\emph{\xspacefalse\Heshe} will leave. +\end{lstlisting} +\ex \emph{\hetrue\xspacefalse\Heshe} will leave.\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: + +\begin{exe} +\ex\label{booleans} +\begin{xlist} +\ex \begin{lstlisting} +\Heshe will leave. +\end{lstlisting} +\ex \hefalse\Heshe will leave.\hfill(Boolean state: \pkg{\bs hetrue }) +\ex\begin{lstlisting} +\hefalse \He will leave. +\end{lstlisting} +\ex \hefalse \He will leave.\hfill(Because of \pkg{\bs hefalse} the anaphoric pronoun is masculine) +\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{[they]} option} +When you get tired of the silliness 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 +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} +\ex\label{they} +\begin{xlist} +\ex \begin{lstlisting} +If someone thinks \heshe is sick \he should go to a doctor immediately. When \he goes the the doctor, \heshe can figure out the problem. +\end{lstlisting} +\ex If someone thinks they is sick they should go to a doctor immediately. When they goes the the doctor, they can figure out the problem. +\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. The same goes for feature requests. +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/he-she/he-she.sty b/Master/texmf-dist/tex/latex/he-she/he-she.sty new file mode 100644 index 00000000000..be39aad6b0b --- /dev/null +++ b/Master/texmf-dist/tex/latex/he-she/he-she.sty @@ -0,0 +1,227 @@ +% This package implements a version of semi-automatic pronoun switching for writing +% gender-neutral (and possibly annoying) prose. +% The basic code is due to Josef (no last name) and Martin Scharrer on +% http://tex.stackexchange.com/questions/10787/ +% +% Modified to handle anaphoric reference to the current gender plus +% all three case forms in both uppercase and lowercase. +% 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 +% +% 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 any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This package has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this package is Alan Munn. +% +% This package consists of the file he-she.sty and documentation files +% he-she.tex and he-she.pdf +% +% Version 1.0 2011/02/13 +% +% Option noxspace +% +% xspace can cause problems if the macro is e.g. enclosed in other markup such +% as \emph{}. The noxspace option turns off the xspace and forces users to +% insert a following space using "\ " explicitly. Default is to enable xspace. +% +% With the default option, the \xspace can be suppressed with the \xspacefalse +% command as needed. +% +% Option they +% +% When you get tired of the silliness 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 +% 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.) +% +\ProvidesPackage{he-she}[2011/02/12 Semi-automatic pronoun switching with anaphora v1.0] +\RequirePackage{xspace} +\newif\ifxspace\xspacetrue +\newif\ifthey\theyfalse +\DeclareOption{noxspace}{\xspacefalse} +\DeclareOption{they}{% +\theytrue +\PackageWarning{he-she}{*** WARNING: Use of option `\CurrentOption` will screw up subject/verb agreement for most nominative pronouns. It is only present for for its comic value! USE AT YOUR OWN RISK! ***} +} +\DeclareOption*{% + \PackageWarning{he-she}{Unknown option `\CurrentOption`}% +} +\ProcessOptions +% toggle for changing the gender +\newif\ifhe\hetrue +% +% +\ifthey +% Implement the (somewhat useless) 'they' option +% +\newcommand*{\heshe}{they\ifxspace\xspace\fi} +\newcommand*{\Heshe}{They\ifxspace\xspace\fi} +\newcommand*{\himher}{them\ifxspace\xspace\fi} +\newcommand*{\Himher}{Them\ifxspace\xspace\fi} +\newcommand*{\hisher}{their\ifxspace\xspace\fi} +\newcommand*{\Hisher}{Their\ifxspace\xspace\fi} +\newcommand*{\he}{they\ifxspace\xspace\fi} +\newcommand*{\He}{They\ifxspace\xspace\fi} +\newcommand*{\him}{them\ifxspace\xspace\fi} +\newcommand*{\Him}{Them\ifxspace\xspace\fi} +\newcommand*{\his}{their\ifxspace\xspace\fi} +\newcommand*{\His}{Their\ifxspace\xspace\fi} +% +\else +% +% Lowercase versions: +% +% Nominative lowercase switching form \heshe +\newcommand*{\heshe}{% + \ifhe% + he% + \global\hefalse% + \else% + she% + \global\hetrue% + \fi% + \ifxspace\xspace\fi +} +% +% Nominative lowercase anaphoric form \he +\newcommand*\he{% +\ifhe% + she% + \else% + he% + \fi + \ifxspace\xspace\fi +} +% +% Accusative lowercase switching form \himher +\newcommand*\himher{% + \ifhe% + him% + \global\hefalse% + \else% + her% + \global\hetrue% + \fi% + \ifxspace\xspace\fi +}% +% +% Accusative lowercase anaphoric form \him +\newcommand*\him{% +\ifhe% + her% + \else% + him% + \fi + \ifxspace\xspace\fi +} +% +% Genitive lowercase switching form \hisher +\newcommand*\hisher{% + \ifhe% + his% + \global\hefalse% + \else% + her% + \global\hetrue% + \fi% + \ifxspace\xspace\fi +} +% +% Genitive lowercase anaphoric form \his +\newcommand*\his{% +\ifhe% + her% + \else% + his% + \fi + \ifxspace\xspace\fi +} +% +% Uppercase versions: +% +% Nominative uppercase switching form \Heshe +\newcommand*{\Heshe}{% + \ifhe% + He% + \global\hefalse% + \else% + She% + \global\hetrue% + \fi% + \ifxspace\xspace\fi +} +% +% Nominative uppercase anaphoric form \He +\newcommand*\He{% +\ifhe% + She% + \else% + He% + \fi + \ifxspace\xspace\fi +} +% +% Accusative uppercase switching form \Himher +\newcommand*\Himher{% + \ifhe% + Him% + \global\hefalse% + \else% + Her% + \global\hetrue% + \fi% + \ifxspace\xspace\fi +}% +% +% Accusative uppercase anaphoric form \Him +\newcommand*\Him{% +\ifhe% + Her% + \else% + Him% + \fi + \ifxspace\xspace\fi +} +% +% Genitive uppercase switching form \Hisher +\newcommand*\Hisher{% + \ifhe% + His% + \global\hefalse% + \else% + Her% + \global\hetrue% + \fi% + \ifxspace\xspace\fi +} +% +% Genitive uppercase anaphoric form \His +\newcommand*\His{% +\ifhe% + Her% + \else% + His% + \fi + \ifxspace\xspace\fi +} +\fi +\let\she\he +\let\She\He +\let\her\him +\let\Her\Him +\let\hir\his +\let\Hir\His +\endinput
\ No newline at end of file diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 2cbcd495c95..7b2b7375254 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -170,7 +170,7 @@ my @TLP_working = qw( grid gridset grverb gu guitar guitlogo hands hanging har2nat hardwrap harmony harpoon harvard harvardkyoto harvmac hatching - hc hep hepnames + hc he-she hep hepnames hepparticles hepthesis hepunits here hexgame hhtensor histogr historische-zeitschrift hitec hrefhide hrlatex hvfloat hvindex @@ -293,7 +293,7 @@ my @TLP_working = qw( rjlparshap rlepsf rmpage robustcommand robustindex romande romanneg romannum rotating rotfloat rotpages - roundbox rsc rsfs + roundbox rsc rsfs rsfso rtkinenc rtklage russ rvwrite ryethesis sageep sansmath sauerj sauterfonts savefnmark savesym savetrees scale scalebar schemabloc scientificpaper sciposter screenplay script sdrt diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index 7ea7f571a06..1f3419afae5 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -678,6 +678,7 @@ $Master = "$mydir/../.."; 'rmannot', "die 'skipping, per author (dps) request'", 'romande', "&MAKEcopy", 'rsfs', "&MAKEflatten", + 'rsfso', "&MAKEcopy", 'rst', "die 'skipping, nonfree license'", 'sae', "die 'skipping, nosell license'", 'saferef', "die 'skipping, nonfree license'", diff --git a/Master/tlpkg/tlpsrc/collection-fontsextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-fontsextra.tlpsrc index 4a479d5cc4e..37e4ee4108b 100644 --- a/Master/tlpkg/tlpsrc/collection-fontsextra.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-fontsextra.tlpsrc @@ -136,6 +136,7 @@ depend punk depend punknova depend recycle depend romande +#depend rsfso depend sauter depend sauterfonts depend semaphor diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc index 6f64bbfc4c2..d24367a16a6 100644 --- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc @@ -291,6 +291,7 @@ depend hanging depend hardwrap depend harpoon depend hc +depend he-she depend hhtensor depend histogr depend hitec diff --git a/Master/tlpkg/tlpsrc/he-she.tlpsrc b/Master/tlpkg/tlpsrc/he-she.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/Master/tlpkg/tlpsrc/he-she.tlpsrc |