diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/frankenstein/titles.stq')
-rw-r--r-- | Master/texmf-dist/tex/latex/frankenstein/titles.stq | 432 |
1 files changed, 432 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/frankenstein/titles.stq b/Master/texmf-dist/tex/latex/frankenstein/titles.stq new file mode 100644 index 00000000000..c540e9a5348 --- /dev/null +++ b/Master/texmf-dist/tex/latex/frankenstein/titles.stq @@ -0,0 +1,432 @@ +%% +%% This is file `titles.stq', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% titles.sty +%% +%% This program is part of the Frankenstein bundle for LaTeX. +%% +%% Copyright (C) 1995-2001 Matthew Swift <swift@alum.mit.edu> +%% +%% This file may have one of TWO names, either +%% titles.sty or titles.stq. This +%% LaTeX package will work ONLY if it is called titles.sty +%% and placed in a proper directory. This file should have been +%% distributed to you with a DIFFERENT file (also) called +%% titles.sty which functions identically to this one +%% but contains documentation in comments. This file works faster, +%% but the other should be kept because it contains the documentation +%% for this LaTeX package. Files called README and INSTALL should have +%% also been distributed to you with this file; see them for more +%% information. +%% +%% This program is free software; you may redistribute it and/or +%% modify it under the conditions of the LaTeX Project Public +%% License, either version 1.2 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.2 or later is +%% part of all distributions of LaTeX version 1999/12/01 or later. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% LaTeX Project Public License for more details. +%% +%% \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 \~} +\def\fileinfo{title macros (Frankenstein's references)} +\def\DoXPackageS {} +\def\initelyHavECitationS {} +\def\fileversion{v1.2} +\def\filedate{2001/08/31} +\def\docdate{2001/08/31} +\edef\PPOptArg {% + \filedate\space \fileversion\space \fileinfo +} +\makeatletter% A special comment to help create bst files. Don't change! +\@ifundefined{JusTLoaDInformatioN} {% + }{% ELSE (we know the compsci package is already loaded, too) + \UndefineCS\JusTLoaDInformatioN + \SaveDoXVarS + \eExpand\csname DoXPackageS\endcsname\In {%use \csname in case it's undefined + \usepackage{#1}% + }% + \RestoreDoXVarS + \makeatother + \endinput +}% A special comment to help create bst files. Don't change! +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{titles}[\PPOptArg] +%% +\RequirePackage{moredefs,slemph} +\ReserveCS\ti@domelater +\DeclareOption{british} {% + \def\ti@domelater {% + \let\Wrapquotes\WrapquotesNN + \@doublequotes@false + } +} +\DeclareOption{american} {% + \def\ti@domelater {% + \let\Wrapquotes\WrapquotesNS + \@doublequotes@true + } +} +\ExecuteOptions{american} +\ProcessOptions +\newcommand\IfQuestionOrExclamation [1] {% + \@tempswafalse + \ti@checkfor@q #1?\@nil + \ti@checkfor@e #1!\@nil + \if@tempswa + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi +} +\newboolean{@ti@sw@} +\ReserveCS\ti@prev +\ReserveCS\ti@prev@prev +\NewName{ti@checkfor@q} {#1?#2\@nil} {% + \def\sc@t@a{#2}% + \def\sc@t@b{?}% + \ifx\sc@t@a\ShortEmpty + \else + \ifx\sc@t@a\sc@t@b + \@tempswatrue + \else + \let\ti@prev\sc@t@a + \let\ti@prev@prev\sc@t@a + \@ti@sw@true + \@whilesw \if@ti@sw@ \fi {% + \ifx\sc@t@a\ShortEmpty + \@ti@sw@false + \else + \let\ti@prev@prev\ti@prev + \let\ti@prev\sc@t@a + \edef\sc@t@a{\E@cdr\sc@t@a\@nil}% + \fi + }% + \edef\ti@prev@prev{\E@car\ti@prev@prev\@nil}% + \ifx\ti@prev@prev\sc@t@b + \@tempswatrue + \fi + \fi + \fi +} +\NewName{ti@checkfor@e} {#1!#2\@nil} {% + \def\sc@t@a{#2}% + \def\sc@t@b{!}% + \ifx\sc@t@a\ShortEmpty + \else + \ifx\sc@t@a\sc@t@b + \@tempswatrue + \else + \let\ti@prev\sc@t@a + \let\ti@prev@prev\sc@t@a + \@ti@sw@true + \@whilesw \if@ti@sw@ \fi {% + \ifx\sc@t@a\ShortEmpty + \@ti@sw@false + \else + \let\ti@prev@prev\ti@prev + \let\ti@prev\sc@t@a + \edef\sc@t@a{\E@cdr\sc@t@a\@nil}% + \fi + }% + \edef\ti@prev@prev{\E@car\ti@prev@prev\@nil}% + \ifx\ti@prev@prev\sc@t@b + \@tempswatrue + \fi + \fi + \fi +} +\newcommand*\ti@wrapquotes@suck [1] {% + \IfQuestionOrExclamation {#1} {% + \ti@wrapquotes@nosuck{#1}% + }{% ELSE + \begingroup + \if@doublequotes@ + \@doublequotes@false + \def\sc@t@a {\ti@open@double #1\ti@close@double@suck}% + \else + \@doublequotes@true + \def\sc@t@a {\ti@open@single #1\ti@close@single@suck}% + \fi + \sc@t@a + \endgroup + }% +} +\newcommand*\ti@wrapquotes@nosuck [1] {% + \begingroup + \if@doublequotes@ + \@doublequotes@false + \def\sc@t@a {\ti@open@double #1\ti@close@double@nosuck}% + \else + \@doublequotes@true + \def\sc@t@a {\ti@open@single #1\ti@close@single@nosuck}% + \fi + \sc@t@a + \endgroup +} +\newboolean{@doublequotes@} +\newcommand*\WrapquotesNS {% + \ti@wrapquotes@suck +} +\newcommand*\WrapquotesIS {% + \ToggleBoolean{@doublequotes@}% + \ti@wrapquotes@suck +} +\newcommand*\WrapquotesNN {% + \ti@wrapquotes@nosuck +} +\newcommand*\WrapquotesIN {% + \ToggleBoolean{@doublequotes@}% + \ti@wrapquotes@nosuck +} +\newcommand*\WrapquotesSN [1] {% + \begingroup + \ti@open@single #1\ti@close@single@nosuck + \endgroup +} +\newcommand*\WrapquotesDN [1] {% + \begingroup + \ti@open@double #1\ti@close@double@nosuck + \endgroup +} +\newcommand*\WrapquotesSK [1] {% FIX: test + \begingroup + \ti@open@single #1\ti@close@single@nosuck\@% + \endgroup +} +\ReserveCS\Wrapquotes +\ti@domelater +\newcommand\ti@open@double {% + \gdef\sc@t@f {\textquotedblleft}% + \ti@openquote +} +\newcommand\ti@open@single {% + \gdef\sc@t@f {\textquoteleft}% + \ti@openquote +} +\newcommand\ti@openquote {% + \futurelet\sc@t@a\ti@@openquote +} +\newcommand\ti@@openquote {% + \sc@t@f + \ifx\sc@t@a\WrapquotesNS + \,% + \else \ifx\sc@t@a\WrapquotesNN + \,% + \else \ifx\sc@t@a\WrapquotesIN + \,% + \else \ifx\sc@t@a\WrapquotesIS + \,% + \else \ifx\sc@t@a\WrapquotesSN + \,% + \else \ifx\sc@t@a\WrapquotesDN + \,% + \else \ifx\sc@t@a\WrapquotesSK + \,% + \else + \fi \fi \fi \fi \fi \fi \fi +} +\newcommand*\ti@close@single@nosuck {% + \aftergroup\ti@close@single@@nosuck +} +\newcommand*\ti@close@double@nosuck {% + \aftergroup\ti@close@double@@nosuck +} +\newcommand*\ti@close@single@@nosuck {% + \gdef\sc@t@f {\textquoteright}% + \ti@close@quote@nosuck +} +\newcommand*\ti@close@double@@nosuck {% + \gdef\sc@t@f {\textquotedblright}% + \ti@close@quote@nosuck +} +\newboolean{@look@nosuck@} +\@look@nosuck@false +\newcommand\ti@close@quote@nosuck {% + \@look@nosuck@true +%% FIX + \expandafter \ti@q@ifnextcharin \expandafter {\nospacelist} {% + \sc@t@f + }{% ELSE + \sc@t@f\space + }% +} +\newcommand\ti@close@double@suck {% + \aftergroup\ti@close@double@@suck +} +\newcommand\ti@close@single@suck {% + \aftergroup\ti@close@single@@suck +} +\newcommand\ti@close@double@@suck {% + \gdef\sc@t@f {\textquotedblright}% + \ti@close@quote@suck +} +\newcommand\ti@close@single@@suck {% + \gdef\sc@t@f {\textquoteright}% + \ti@close@quote@suck +} +\requirecommand\nospacelist {% + ,.':;?-/\slash~!)]\bgroup\egroup\@sptoken\ \space\/\@xobeysp +} +\newcommand\ti@close@quote@suck {% + \@look@nosuck@false + \ti@q@ifnextcharin {.,} {% + \sc@t@c\sc@t@f\DGobbleM % This gobbles the original punctuation. + }{% ELSE + \@look@nosuck@true + \expandafter \ti@q@ifnextcharin \expandafter {\nospacelist} {% + \sc@t@f + }{% ELSE + \sc@t@f\space + }% + }% +} +%% FIX +\newcommand\ti@q@ifnextcharin [3] {% args: charlist true false + \gdef\sc@t@e {#1}% + \gdef\sc@t@a {#2}% + \gdef\sc@t@b {#3}% + \ti@q@check +} +\newcommand\ti@q@check {% + \futurelet\sc@t@c\ti@q@ifnch +} +%% \verb*|\ | +\newcommand\ti@q@ifnch {% + \ifx\sc@t@c\ifvmode + \let\sc@t@d\ti@q@handle@ifvmode + \else + \let\sc@t@d\ti@q@@ifnch + \fi + \sc@t@d +} +\newcommand\ti@q@@ifnch {% + \ifx\sc@t@c\check@icr + \defcommand\sc@t@d [1] {% + ##1\aftergroup\ti@q@check + }% + \else \ifx\sc@t@c\endgroup + \def\sc@t@d {\aftergroup\ti@q@check}% + \else \ifx\sc@t@c\@sptoken + \let\sc@t@d\ti@q@handle@space + \else \ifx\sc@t@c\egroup + \def\sc@t@d {\aftergroup\ti@q@check}% + \else \ifx\sc@t@c\ti@close@double@suck + \let\sc@t@d\ti@q@handle@double@suck + \else \ifx\sc@t@c\ti@close@single@suck + \let\sc@t@d\ti@q@handle@single@suck + \else \ifx\sc@t@c\ti@close@double@nosuck + \let\sc@t@d\ti@q@handle@double@nosuck + \else \ifx\sc@t@c\ti@close@single@nosuck + \let\sc@t@d\ti@q@handle@single@nosuck + \else + \@tempswafalse + \expandafter \@tfor + \expandafter \sc@t@g + \expandafter :% + \expandafter =% + \sc@t@e + \do {% + \expandafter\ifx\sc@t@g\sc@t@c + \@tempswatrue + \@break@tfor + \else + \fi + }% + \if@tempswa + \let\sc@t@d\sc@t@a % the ``true'' clause + \else + \let\sc@t@d\sc@t@b % the ``false'' clause + \fi + \fi \fi \fi \fi \fi \fi \fi \fi + \sc@t@d +} +\newcommand\ti@q@handle@ifvmode {% + \FrankenInfo{titles} + {Handling an \string\ifvmode\space following a title.\MessageBreak + If you now get an error that \string\sc@t@d\space does not\MessageBreak + match its definition, this \string\ifvmode\space is\MessageBreak + unexpected}% + \DefName{sc@t@d} {\ifvmode\else\check@icr\fi} {% + \ifvmode + \else + \check@icr + \fi + \aftergroup\ti@q@check + }% + \sc@t@d +} +\ReserveCS\ti@q@handle@space +\let\sc@t@a\: +\def\:{\ti@q@handle@space} \expandafter\def\: {\ti@q@check} +\let\:\sc@t@a +\newcommand*\ti@q@handle@double@suck [1] {% + \g@addto@macro\sc@t@f {\,\textquotedblright}% + \ti@q@check +} +\newcommand*\ti@q@handle@single@suck [1] {% + \g@addto@macro\sc@t@f {\,\textquoteright}% + \ti@q@check +} +\newcommand*\ti@q@handle@double@nosuck [1] {% + \if@look@nosuck@ + \g@addto@macro\sc@t@f {\,\textquotedblright}% + \let\sc@t@d\sc@t@a % the ``true'' clause of ti@q@ifnextcharin + \else + \let\sc@t@d\sc@t@b % the ``false'' clause of ti@q@ifnextcharin + \fi + \ti@q@check +} +\newcommand*\ti@q@handle@single@nosuck [1] {% + \if@look@nosuck@ + \g@addto@macro\sc@t@f {\,\textquoteright}% + \let\sc@t@d\sc@t@a % the ``true'' clause of ti@q@ifnextcharin + \else + \let\sc@t@d\sc@t@b % the ``false'' clause of ti@q@ifnextcharin + \fi + \ti@q@check +} +\newlet\word\textitswitch +\newlet\foreign\textitswitch +\newcommand\foreignword [1] {% + \phrase{\word{#1}}% +} + +\newcommand\phrase [1] {% + \textquoteleft #1\textquoteright\@% +} +\newlet\term\textitswitch +\newlet\defn\textslswitch +\newlet\book\textitswitch +\newlet\journal\textitswitch +\newlet\music\textitswitch +\newlet\article\Wrapquotes +\newlet\storytitle\Wrapquotes +\newlet\poemtitle\Wrapquotes +\newlet\play\textitswitch % \manualref{7.145} +\newlet\craft\textitswitch +\newlet\species\textitswitch +\InputIfFileExists{titles.cfg}{}{} +\endinput +%% +%% End of file `titles.stq'. |