|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r48824 - sandbox/committee/concepts/stdlib
From: mmarcus_at_[hidden]
Date: 2008-09-17 16:46:26
Author: mmarcus
Date: 2008-09-17 16:46:25 EDT (Wed, 17 Sep 2008)
New Revision: 48824
URL: http://svn.boost.org/trac/boost/changeset/48824
Log:
remove local tex styles
Removed:
sandbox/committee/concepts/stdlib/isodate.sty
sandbox/committee/concepts/stdlib/substr.sty
sandbox/committee/concepts/stdlib/underscore.sty
Deleted: sandbox/committee/concepts/stdlib/isodate.sty
==============================================================================
--- sandbox/committee/concepts/stdlib/isodate.sty 2008-09-17 16:46:25 EDT (Wed, 17 Sep 2008)
+++ (empty file)
@@ -1,394 +0,0 @@
-%%
-%% This is file `isodate.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% isodate.dtx (with options: `isodate')
-%%
-%% isodate package
-%%
-%% Copyright 2000--2005 Harald Harders
-%%
-%% This program can be redistributed and/or modified under the terms
-%% of the LaTeX Project Public License Distributed from CTAN
-%% archives in directory macros/latex/base/lppl.txt; either
-%% version 1 of the License, or any later version.
-%%
-%% h.harders_at_[hidden]
-%%
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{isodate}
- [2005/04/15 v2.28 Print dates with different formats (HH)]
-\RequirePackage{ifthen}
-\IfFileExists{substr.sty}{\RequirePackage{substr}%
- }{\PackageError{isodate.sty}{Package file substr.sty not found}
- {This version of isodate.sty needs the package substr.sty.^^J%
- You can download it from
- CTAN:/macros/latex/contrib/substr/^^J%
- e.g., one CTAN node is ftp.dante.de.
- Install substr.sty into your TeX tree.}}
-\DeclareOption{iso}{\AtEndOfPackage{\isodate}}
-\DeclareOption{num}{\AtEndOfPackage{\numdate}}
-\DeclareOption{short}{\AtEndOfPackage{\shortdate}}
-\DeclareOption{TeX}{\AtEndOfPackage{\TeXdate}}
-\DeclareOption{orig}{\AtEndOfPackage{\origdate}}
-\DeclareOption{shortorig}{\AtEndOfPackage{\shortorigdate}}
-\DeclareOption{Roman}{\AtEndOfPackage{\Romandate}}
-\DeclareOption{roman}{\AtEndOfPackage{\romandate}}
-\DeclareOption{shortRoman}{\AtEndOfPackage{\shortRomandate}}
-\DeclareOption{shortroman}{\AtEndOfPackage{\shortromandate}}
-\DeclareOption{cleanlook}{\AtEndOfPackage{\cleanlookdateon}}
-\DeclareOption{nocleanlook}{\AtEndOfPackage{\cleanlookdateoff}}
-\DeclareOption{inputenglish}{\AtEndOfPackage{\dateinputformat{english}}}
-\DeclareOption{inputbritish}{\AtEndOfPackage{\dateinputformat{english}}}
-\DeclareOption{inputUKenglish}{\AtEndOfPackage{\dateinputformat{english}}}
-\DeclareOption{inputamerican}{\AtEndOfPackage{\dateinputformat{american}}}
-\DeclareOption{inputUSenglish}{\AtEndOfPackage{\dateinputformat{american}}}
-\DeclareOption{inputtex}{\AtEndOfPackage{\dateinputformat{tex}}}
-\DeclareOption{inputTeX}{\AtEndOfPackage{\dateinputformat{tex}}}
-\DeclareOption{inputlatex}{\AtEndOfPackage{\dateinputformat{tex}}}
-\DeclareOption{inputLaTeX}{\AtEndOfPackage{\dateinputformat{tex}}}
-\DeclareOption{american}{\input{english.idf}}
-\DeclareOption{australian}{\input{english.idf}}
-\DeclareOption{austrian}{\input{german.idf}}
-\DeclareOption{danish}{\input{danish.idf}}
-\DeclareOption{english}{\input{english.idf}}
-\DeclareOption{british}{\input{english.idf}}
-\DeclareOption{french}{\input{french.idf}}
-\DeclareOption{frenchb}{\input{french.idf}}
-\DeclareOption{german}{\input{german.idf}}
-\DeclareOption{italian}{\input{italian.idf}}
-\DeclareOption{naustrian}{\input{german.idf}}
-\DeclareOption{newzealand}{\input{english.idf}}
-\DeclareOption{ngerman}{\input{german.idf}}
-\DeclareOption{norsk}{\input{norsk.idf}}
-\DeclareOption{norwegian}{\input{norsk.idf}}
-\DeclareOption{swedish}{\input{swedish.idf}}
-\DeclareOption{UKenglish}{\input{english.idf}}
-\DeclareOption{USenglish}{\input{english.idf}}
-\DeclareOption*{%
- \InputIfFileExists{\CurrentOption.idf}{}{%
- \PackageError{isodate}{%
- Isodate definition file \CurrentOption.idf not found}{%
- Maybe you misspelled the language option?}}%
- }
-\ExecuteOptions{orig,nocleanlook}
-\ProcessOptions*
-\ifx\iso_at_languageloaded\@undefined
- \PackageError{isodate}{%
- You haven't specified a language option}{%
- You need to specify a language, either as a global
- option\MessageBreak
- or as an optional argument to the \string\usepackage\space
- command.\MessageBreak
- If you have used the old isodate package (version <=1.06) you can
- change the\MessageBreak
- usepackage command to \protect\usepackage{isodate}.\MessageBreak
- You shouldn't try to proceed from here, type x to quit.}
-\fi
-\newcommand*\iso_at_printday[1]{%
- \ifisotwodigitday
- \ifthenelse{\number#1<10}{0}{}%
- \fi
- \number#1%
-}%
-\newcommand*\twodigitarabic[1]{%
- \ifthenelse{\number\arabic{#1}<10}{0}{}%
- \arabic{#1}%
-}
-\newcommand*\iso_at_printmonth[1]{%
- \setcounter{iso_at_tmpmonth}{#1}%
- \theiso_at_tmpmonth%
-}
-\newcounter{iso_at_tmpmonth}
-\newcounter{iso_at_yeartwo}%
-\newcommand*\iso_at_yeartwo[1]{%
- \setcounter{iso_at_yeartwo}{\number#1}%
- \whiledo{\theiso_at_yeartwo>99}{%
- \addtocounter{iso_at_yeartwo}{-100}}{}%
- \ifthenelse{\number\theiso_at_yeartwo<10}{0}{}\theiso_at_yeartwo
-}
-\newcommand*\iso_at_yearfour[1]{%
- \ifthenelse{\number#1<1000}{0}{}%
- \ifthenelse{\number#1<100}{0}{}%
- \ifthenelse{\number#1<10}{0}{}%
- \number#1%
-}%
-\newif\ifisotwodigitday
-\def\iso_at_dateformat{numeric}
-\DeclareRobustCommand*\dateinputformat[1]{%
- \ifthenelse{%
- \equal{#1}{english}\or
- \equal{#1}{british}\or
- \equal{#1}{UKenglish}}{%
- \def\iso_at_inputformat{english}%
- }{%
- \ifthenelse{%
- \equal{#1}{american}\or
- \equal{#1}{USenglish}}{%
- \def\iso_at_inputformat{american}%
- }{%
- \ifthenelse{%
- \equal{#1}{tex}\or
- \equal{#1}{TeX}\or
- \equal{#1}{latex}\or
- \equal{#1}{LaTeX}}{%
- \def\iso_at_inputformat{tex}%
- }{%
- \PackageError{isodate}{Invalid date input format}{%
- Maybe you misspelled the language option (english, american,
- tex)?}%
- }%
- }%
- }%
-}
-\dateinputformat{english}
-\DeclareRobustCommand*\numdate[1][twodigitarabic]{%
- \def\iso_at_dateformat{numeric}%
- \isotwodigitdaytrue
- \def\theiso_at_tmpmonth{\csname #1\endcsname{iso_at_tmpmonth}}%
-}
-\DeclareRobustCommand*\shortdate[1][twodigitarabic]{%
- \def\iso_at_dateformat{short}%
- \isotwodigitdaytrue
- \def\theiso_at_tmpmonth{\csname #1\endcsname{iso_at_tmpmonth}}%
-}
-\DeclareRobustCommand*\isodate[1][twodigitarabic]{%
- \def\iso_at_dateformat{iso}%
- \isotwodigitdaytrue
- \def\theiso_at_tmpmonth{\csname #1\endcsname{iso_at_tmpmonth}}%
-}
-\DeclareRobustCommand*\origdate{%
- \def\iso_at_dateformat{orig}%
- \isotwodigitdayfalse
- \def\theiso_at_tmpmonth{\twodigitarabic{iso_at_tmpmonth}}%
-}
-\DeclareRobustCommand*\shortorigdate{%
- \def\iso_at_dateformat{shortorig}%
- \isotwodigitdayfalse
- \def\theiso_at_tmpmonth{\twodigitarabic{iso_at_tmpmonth}}%
-}
-\DeclareRobustCommand*\TeXdate[1][twodigitarabic]{%
- \def\iso_at_dateformat{TeX}%
- \isotwodigitdaytrue
- \def\theiso_at_tmpmonth{\csname #1\endcsname{iso_at_tmpmonth}}%
-}
-\DeclareRobustCommand*\Romandate{%
- \numdate[Roman]%
- \isotwodigitdayfalse
-}
-\DeclareRobustCommand*\romandate{%
- \numdate[roman]%
- \isotwodigitdayfalse
-}
-\DeclareRobustCommand*\shortRomandate{%
- \shortdate[Roman]%
- \isotwodigitdayfalse
-}
-\DeclareRobustCommand*\shortromandate{%
- \shortdate[roman]%
- \isotwodigitdayfalse
-}
-\def\iso_at_isodash{-}%
-\DeclareRobustCommand*\isodash[1]{\def\iso_at_isodash{#1}}%
-\def\iso_at_twodigitsign{}
-\DeclareRobustCommand*\shortyearsign[1]{\def\iso_at_twodigitsign{#1}}%
-\def\iso_at_rangesign{\csname iso_at_rangesign@\iso_at_languagename\endcsname}%
-\DeclareRobustCommand*\isorangesign[1]{\def\iso_at_rangesign{#1}}%
-\newif\ifiso_at_printyear
-\DeclareRobustCommand*\printyearon{\iso_at_printyeartrue}
-\DeclareRobustCommand*\printyearoff{\iso_at_printyearfalse}
-\printyearon
-\newif\ifiso_at_cleanlook
-\DeclareRobustCommand*\cleanlookdateon{\iso_at_cleanlooktrue}
-\DeclareRobustCommand*\cleanlookdateoff{\iso_at_cleanlookfalse}
-\cleanlookdateoff
-\newcommand*\iso_at_printdate[3]{%
- \begingroup%
- \@ifundefined{iso_at_printdate@\iso_at_languagename}{%
- \PackageWarning{isodate}{Language \iso_at_languagename\space unknown
- to isodate.\MessageBreak
- Using default format}%
- }{}%
- \year=#1 %
- \month=#2 %
- \day=#3 %
- \today%
- \endgroup%
-}
-\DeclareRobustCommand*\printdate[1]{%
- \edef\iso_at_date{#1}%
- \SubStringsToCounter{iso_at_slash}{/}{\iso_at_date}%
- \SubStringsToCounter{iso_at_minus}{-}{\iso_at_date}%
- \SubStringsToCounter{iso_at_dot}{.}{\iso_at_date}%
- \ifthenelse{\equal{\theiso_at_dot}{2}}{%
- \expandafter\iso_at_input@german\iso_at_date\@empty}{%
- \ifthenelse{\equal{\theiso_at_minus}{2}}{%
- \expandafter\iso_at_input@iso\iso_at_date\@empty}{%
- \ifthenelse{\equal{\theiso_at_slash}{2}}{%
- \expandafter\iso_at_input@english\iso_at_date\@empty}{%
- ????\iso_at_isodash ??\iso_at_isodash ??%
- \PackageError{isodate}{unrecognized date format}{Use one of
- the following formats as macro argument:^^J%
- \space\space dd.mm.yyyy^^J%
- \space\space dd/mm/yyyy^^J%
- \space\space yyyy-mm-dd^^J%
- Don't use any spaces or commands like \protect\, or
- \protect~ inside the argument.}%
- }}}%
-}
-\def\iso_at_input@iso#1-#2-#3\@empty{\iso_at_printdate{#1}{#2}{#3}}
-\def\iso_at_input@german#1.#2.#3\@empty{\iso_at_printdate{#3}{#2}{#1}}
-\def\iso_at_input@english#1/#2/#3\@empty{%
- \ifthenelse{\equal{\iso_at_inputformat}{tex}}{%
- \iso_at_printdate{#1}{#2}{#3}%
- }{%
- \ifthenelse{\equal{\iso_at_inputformat}{american}}{%
- \iso_at_printdate{#3}{#1}{#2}%
- }{%
- \iso_at_printdate{#3}{#2}{#1}%
- }%
- }%
-}
-\DeclareRobustCommand*\printdateTeX[1]{%
- \edef\iso_at_date{#1}%
- \SubStringsToCounter{iso_at_slash}{/}{\iso_at_date}%
- \ifthenelse{\equal{\theiso_at_slash}{2}}{%
- \expandafter\iso_at_input@TeX\iso_at_date\@empty}{%
- ????\iso_at_isodash ??\iso_at_isodash ??%
- \PackageError{isodate}{unrecognized date format}{Use one of
- the following formats as macro argument:^^J%
- \space\space dd.mm.yyyy^^J%
- \space\space dd/mm/yyyy^^J%
- \space\space yyyy-mm-dd^^J%
- Don't use any spaces or commands like \protect\, or
- \protect~ inside the argument.}%
- }}
-\def\iso_at_input@TeX#1/#2/#3\@empty{\iso_at_printdate{#1}{#2}{#3}}
-\DeclareRobustCommand*\daterange[2]{%
- \edef\iso_at_date{#1}%
- \edef\iso@@date{#2}%
- \edef\iso@@@date{\iso_at_date,\iso@@date}%
- \SubStringsToCounter{iso_at_slash}{/}{\iso_at_date}%
- \SubStringsToCounter{iso_at_minus}{-}{\iso_at_date}%
- \SubStringsToCounter{iso_at_dot}{.}{\iso_at_date}%
- \SubStringsToCounter{iso@@slash}{/}{\iso@@date}%
- \SubStringsToCounter{iso@@minus}{-}{\iso@@date}%
- \SubStringsToCounter{iso@@dot}{.}{\iso@@date}%
- \ifthenelse{\equal{\theiso_at_dot}{2}\and\equal{\theiso@@dot}{2}}{%
- \expandafter\iso_at_range@input_at_german\iso@@@date\@empty}{%
- \ifthenelse{\equal{\theiso_at_minus}{2}\and\equal{\theiso@@minus}{2}}{%
- \expandafter\iso_at_range@input_at_iso\iso@@@date\@empty}{%
- \ifthenelse{\equal{\theiso_at_slash}{2}\and%
- \equal{\theiso@@slash}{2}}{%
- \expandafter\iso_at_range@input_at_english\iso@@@date\@empty}{%
- ????\iso_at_isodash ??\iso_at_isodash ??%
- \PackageError{isodate}{unrecognized date format}{Use one of
- the following formats as macro argument:^^J%
- \space\space dd.mm.yyyy^^J%
- \space\space dd/mm/yyyy^^J%
- \space\space yyyy-mm-dd^^J%
- Don't use any spaces or commands like \protect\, or
- \protect~ inside the argument.^^J
- Use the same format for both arguments.}%
- }}}%
-}
-\def\iso_at_range@input_at_iso#1-#2-#3,#4-#5-#6\@empty{%
- \begingroup
- \@ifundefined{iso_at_daterange@\iso_at_languagename}{%
- \PackageWarning{isodate}{Language \iso_at_languagename\space unknown
- to isodate.\MessageBreak
- Using default date range\MessageBreak
- with range sign --}%
- \expandafter\def\csname iso_at_printdate@\iso_at_languagename\endcsname{}%
- \iso_at_printdate{#1}{#2}{#3}--\iso_at_printdate{#4}{#5}{#6}%
- }{%
- \ifthenelse{\equal{\number#1}{\number#4}}{}{\printyearon}%
- \csname iso_at_daterange@\iso_at_languagename\endcsname{%
- #1}{#2}{#3}{#4}{#5}{#6}%
- }%
- \endgroup
-}
-\def\iso_at_range@input_at_german#1.#2.#3,#4.#5.#6\@empty{%
- \begingroup
- \@ifundefined{iso_at_daterange@\iso_at_languagename}{%
- \PackageWarning{isodate}{Language \iso_at_languagename\space unknown
- to isodate.\MessageBreak
- Using default date range\MessageBreak
- with range sign --}%
- \expandafter\def\csname iso_at_printdate@\iso_at_languagename\endcsname{}%
- \iso_at_printdate{#3}{#2}{#1}--\iso_at_printdate{#6}{#5}{#4}%
- }{%
- \ifthenelse{\equal{\number#3}{\number#6}}{}{\printyearon}%
- \csname iso_at_daterange@\iso_at_languagename\endcsname{%
- #3}{#2}{#1}{#6}{#5}{#4}%
- }%
- \endgroup
-}
-\def\iso_at_range@input_at_english#1/#2/#3,#4/#5/#6\@empty{%
- \begingroup
- \@ifundefined{iso_at_daterange@\iso_at_languagename}{%
- \PackageWarning{isodate}{Language \iso_at_languagename\space unknown
- to isodate.\MessageBreak
- Using default date range\MessageBreak
- with range sign --}%
- \expandafter\def\csname iso_at_printdate@\iso_at_languagename\endcsname{}%
- \ifthenelse{\equal{\iso_at_inputformat}{tex}}{%
- \iso_at_printdate{#1}{#2}{#3}--\iso_at_printdate{#4}{#5}{#6}%
- }{%
- \ifthenelse{\equal{\iso_at_inputformat}{american}}{%
- \iso_at_printdate{#3}{#1}{#2}--\iso_at_printdate{#6}{#4}{#5}%
- }{%
- \iso_at_printdate{#3}{#2}{#1}--\iso_at_printdate{#6}{#5}{#4}%
- }%
- }%
- }{%
- \ifthenelse{\equal{\number#3}{\number#6}}{}{\printyearon}%
- \ifthenelse{\equal{\iso_at_inputformat}{tex}}{%
- \csname iso_at_daterange@\iso_at_languagename\endcsname{%
- #1}{#2}{#3}{#4}{#5}{#6}%
- }{%
- \ifthenelse{\equal{\iso_at_inputformat}{american}}{%
- \csname iso_at_daterange@\iso_at_languagename\endcsname{%
- #3}{#1}{#2}{#6}{#4}{#5}%
- }{%
- \csname iso_at_daterange@\iso_at_languagename\endcsname{%
- #3}{#2}{#1}{#6}{#5}{#4}%
- }%
- }%
- }%
- \endgroup
-}
-\newcounter{iso_at_slash}
-\newcounter{iso_at_minus}
-\newcounter{iso_at_dot}
-\newcounter{iso@@slash}
-\newcounter{iso@@minus}
-\newcounter{iso@@dot}
-\AtBeginDocument{%
- \@tempswafalse
- \@ifpackageloaded{babel}{%
- \@tempswatrue
- \typeout{isodate: babel.sty has been loaded}%
- }{}%
- \@ifpackageloaded{german}{%
- \@tempswatrue
- \typeout{isodate: german.sty has been loaded}%
- }{}%
- \@ifpackageloaded{ngerman}{%
- \@tempswatrue
- \typeout{isodate: ngerman.sty has been loaded}%
- }{}%
- \if_at_tempswa
- \gdef\iso_at_languagename{\languagename}%
- \edef\iso_at_tmplang{\languagename}%
- \expandafter\selectlanguage\expandafter{\iso_at_tmplang}%
- \else
- \typeout{isodate: babel.sty, (n)german.sty have not been loaded}%
- \csname date\iso_at_languagename\endcsname%
- \fi
-}
-\endinput
-%%
-%% End of file `isodate.sty'.
Deleted: sandbox/committee/concepts/stdlib/substr.sty
==============================================================================
--- sandbox/committee/concepts/stdlib/substr.sty 2008-09-17 16:46:25 EDT (Wed, 17 Sep 2008)
+++ (empty file)
@@ -1,184 +0,0 @@
-%%
-%% substr.sty
-%%
-%% This package provides commands to deal with substrings in strings:
-%% Determine if a string contains a substring, count appearances of a
-%% substring in a string.
-%%
-%%
-%% Commands:
-%%
-%% \IfSubStringInString{substring}{string}{true part}{false part}
-%% This command searches <substring> in <string> and executes the
-%% <true part> if it is and else the <else part>
-%%
-%% \IfCharInString{char}{string}{true part}{false part}
-%% Actualy the same as \IfSubStringInString.
-%%
-%% \BehindSubString{substring}{string}
-%% Returns the part of <string> that is on the behind
-%% <substring>. Always the first appearance of <substring> is taken.
-%%
-%% \BeforeSubString{substring}{string}
-%% Returns the part of <string> that is on the before
-%% <substring>. Always the first appearance of <substring> is taken.
-%%
-%% \CountSubStrings{substring}{string}
-%% Counts the number of appearances of <substring> in <string> and
-%% returns it as text.
-%%
-%% \SubStringsToCounter{counter}{substring}{string}
-%% Counts the number of appearances of <substring> in <string> and
-%% sets the counter <counter> to that value.
-%%
-%% \IfBeforeSubStringEmpty{substring}{string}{true part}{false part}
-%% Calls <true part> if <substring> is equal to the beginning of <string>.
-%% Else call <false part>.
-%%
-%% \IfBehindSubStringEmpty{substring}{string}{true part}{false part}
-%% Calls <true part> if <substring> is equal to the end of <string>.
-%% Else call <false part>.
-%%
-%%
-%% History of this package:
-%%
-%% The package arises from a posting of me in the newsgroup
-%% de.comp.text.tex in which I asked how to find out if a substring
-%% is included in a string. Heiko Oberdiek
-%% <oberdiek_at_[hidden]> posted the commands
-%% \IfSubStringInString and \IfCharInString and suggested to write a
-%% command which counts the appearances in a string. So, I wrote the
-%% commands \CountSubStrings and \SubStringsToCounter.
-%% After I wrote this package I sent it to Heiko Oberdiek
-%% who improved and rewrote many parts of it.
-%%
-%%
-%% Copyright 2000, 2005 Harald Harders
-%%
-%% This program can be redistributed and/or modified under the terms
-%% of the LaTeX Project Public License Distributed from CTAN
-%% archives in directory macros/latex/base/lppl.txt; either
-%% version 1 of the License, or any later version.
-%%
-%%
-%% 2005-11-29
-%% Harald Harders
-%% h.harders_at_[hidden]
-%%
-\ProvidesPackage{substr}[2005/11/29 v1.1 Handle substrings]
-%%
-% expands the first and second argument with
-% \protected_at_edef and calls #3 with them:
-\newcommand\su_at_ExpandTwoArgs[3]{%
- \protected_at_edef\su_at_SubString{#1}%
- \protected_at_edef\su_at_String{#2}%
- \expandafter\expandafter\expandafter#3%
- \expandafter\expandafter\expandafter{%
- \expandafter\su_at_SubString\expandafter
- }\expandafter{\su_at_String}%
-}
-%%
-%% tests if #1 in #2. If yes execute #3, else #4
-\newcommand*\IfSubStringInString[2]{%
- \su_at_ExpandTwoArgs{#1}{#2}\su_at_IfSubStringInString
-}
-%%
-\newcommand*\su_at_IfSubStringInString[2]{%
- \def\su_at_compare##1#1##2\@nil{%
- \def\su_at_param{##2}%
- \ifx\su_at_param\@empty
- \expandafter\@secondoftwo
- \else
- \expandafter\@firstoftwo
- \fi
- }%
- \su_at_compare#2#1\@nil
-}
-%%
-%% tests if #1 in #2. If yes execute #3, else #4
-\newcommand\IfCharInString{}
-\let\IfCharInString\IfSubStringInString
-%%
-%% returns the part of the string behind the found substring
-\newcommand*\BehindSubString[2]{%
- \su_at_ExpandTwoArgs{#1}{#2}\su_at_BehindSubString
-}
-\newcommand*\su_at_BehindSubString[2]{%
- \def\su_at_rest##1#1##2\@nil{##2}%
- \IfSubStringInString{#1}{#2}{\su_at_rest#2\@nil}{}%
-}
-%%
-%% returns the part of the string before the found substring
-\newcommand*\BeforeSubString[2]{%
- \su_at_ExpandTwoArgs{#1}{#2}\su_at_BeforeSubString
-}
-\newcommand*\su_at_BeforeSubString[2]{%
- \def\su_at_rest##1#1##2\@nil{##1}%
- \IfSubStringInString{#1}{#2}{\su_at_rest#2\@nil}{#2}%
-}
-%%
-%% calls #3 if part of string before substring is empty, otherwise calls #4.
-\newcommand*\IfBeforeSubStringEmpty[2]{%
- \su_at_ExpandTwoArgs{#1}{#2}\su_at_IfBeforeSubStringEmpty
-}
-%%
-\newcommand*\su_at_IfBeforeSubStringEmpty[4]{%
- \def\su_at_rest##1#1##2\@nil{##1}%
- \IfSubStringInString{#1}{#2}{%
- \edef\su_at_resta{\su_at_rest#2\@nil}%
- \ifx\@empty\su_at_resta #3\else #4\fi
- }{#4}%
-}
-%%
-%% calls #3 if part of string after substring is empty, otherwise calls #4.
-\newcommand*\IfBehindSubStringEmpty[2]{%
- \su_at_ExpandTwoArgs{#1}{#2}\su_at_IfBehindSubStringEmpty
-}
-%%
-\newcommand*\su_at_IfBehindSubStringEmpty[4]{%
- \def\su_at_rest##1#1##2\@nil{##2}%
- \IfSubStringInString{#1}{#2}{%
- \edef\su_at_resta{\su_at_rest#2\@nil}%
- \ifx\@empty\su_at_resta #3\else #4\fi
- }{#4}%
-}
-%%
-%% counter for counting appearances
-\newcounter{su_at_anzahl}
-%%
-% #1: String
-% #2: Substring
-% #3: Counter
-\newcommand*\su_at_StringSubstringCounter[3]{%
- \su_at_IfSubStringInString{#2}{#1}{%
- \stepcounter{#3}%
- \def\su_at_rest##1#2##2\@nil{##2}%
- \expandafter\su_at_StringSubstringCounter\expandafter
- {\su_at_rest#1\@nil}{#2}{#3}%
- }{}%
-}
-%%
-\newcommand*\CountSubStrings[2]{%
- \su_at_ExpandTwoArgs{#1}{#2}\su_at_CountSubStrings
-}
-\newcommand*\su_at_CountSubStrings[2]{%
- \setcounter{su_at_anzahl}{0}%
- \su_at_StringSubstringCounter{#2}{#1}{su_at_anzahl}%
- \thesu_at_anzahl
-}
-% #1: counter
-% #2: substring
-% #3: string
-\newcommand*\SubStringsToCounter[3]{%
- \su_at_ExpandTwoArgs{#2}{#3}\su_at_SubStringsToCounter{#1}%
-}
-% #1: substring
-% #2: string
-% #3: counter
-\newcommand*\su_at_SubStringsToCounter[3]{%
- \setcounter{#3}{0}%
- \su_at_StringSubstringCounter{#2}{#1}{#3}%
-}
-%%
-\endinput
-%% EOF
Deleted: sandbox/committee/concepts/stdlib/underscore.sty
==============================================================================
--- sandbox/committee/concepts/stdlib/underscore.sty 2008-09-17 16:46:25 EDT (Wed, 17 Sep 2008)
+++ (empty file)
@@ -1,232 +0,0 @@
-% underscore.sty 12-Oct-2001 Donald Arseneau asnd_at_[hidden]
-% Make the "_" character print as "\textunderscore" in text.
-% Copyright 1998,2001 Donald Arseneau; Distribute freely if unchanged.
-% Instructions follow after the definitions.
-
-\ProvidesPackage{underscore}[2001/10/12]
-
-\begingroup
- \catcode`\_=\active
- \gdef_{% \relax % No relax gives a small vulnerability in alignments
- \ifx\if_at_safe@actives\iftrue % must be outermost test!
- \string_%
- \else
- \ifx\protect\@typeset_at_protect
- \ifmmode \sb \else \BreakableUnderscore \fi
- \else
- \ifx\protect\@unexpandable_at_protect \noexpand_%
- \else \protect_%
- \fi\fi
- \fi}
-\endgroup
-
-% At begin: set catcode; fix \long \ttdefault so I can use it in comparisons;
-\AtBeginDocument{%
- {\immediate\write\@auxout{\catcode\number\string`\_ \string\active}}%
- \catcode\string`\_\string=\active
- \edef\ttdefault{\ttdefault}%
-}
-
-\newcommand{\BreakableUnderscore}{\leavevmode\nobreak\hskip\z_at_skip
- \ifx\f_at_family\ttdefault \string_\else \textunderscore\fi
- \usc_at_dischyph\nobreak\hskip\z_at_skip}
-
-\DeclareRobustCommand{\_}{%
- \ifmmode \nfss_at_text{\textunderscore}\else \BreakableUnderscore \fi}
-
-\let\usc_at_dischyph\@dischyph
-\DeclareOption{nohyphen}{\def\usc_at_dischyph{\discretionary{}{}{}}}
-\DeclareOption{strings}{\catcode`\_=\active}
-
-\ProcessOptions
-\ifnum\catcode`\_=\active\else \endinput \fi
-
-%%%%%%%% Redefine commands that use character strings %%%%%%%%
-
-\@ifundefined{UnderscoreCommands}{\let\UnderscoreCommands\@empty}{}
-\expandafter\def\expandafter\UnderscoreCommands\expandafter{%
- \UnderscoreCommands
- \do\include \do\includeonly
- \do\@input \do\@iinput \do\InputIfFileExists
- \do\ref \do\pageref \do\newlabel
- \do\bibitem \do\@bibitem \do\cite \do\nocite \do\bibcite
-}
-
-% Macro to redefine a macro to pre-process its string argument
-% with \protect -> \string.
-\def\do#1{% Avoid double processing if user includes command twice!
- \@ifundefined{US\string_\expandafter\@gobble\string#1}{%
- \edef\@tempb{\meaning#1}% Check if macro is just a protection shell...
- \def\@tempc{\protect}%
- \edef\@tempc{\meaning\@tempc\string#1\space\space}%
- \ifx\@tempb\@tempc % just a shell: hook into the protected inner command
- \expandafter\do
- \csname \expandafter\@gobble\string#1 \expandafter\endcsname
- \else % Check if macro takes an optional argument
- \def\@tempc{\@ifnextchar[}%
- \edef\@tempa{\def\noexpand\@tempa####1\meaning\@tempc}%
- \@tempa##2##3\@tempa{##2\relax}%
- \edef\@tempb{\meaning#1\meaning\@tempc}%
- \edef\@tempc{\noexpand\@tempd \csname
- US\string_\expandafter\@gobble\string#1\endcsname}%
- \if \expandafter\@tempa\@tempb \relax 12\@tempa % then no optional arg
- \@tempc #1\US_at_prot
- \else % There is optional arg
- \@tempc #1\US_at_protopt
- \fi
- \fi
- }{}}
-
-\def\@tempd#1#2#3{\let#1#2\def#2{#3#1}}
-
-\def\US_at_prot#1#2{\let\@@protect\protect \let\protect\string
- \edef\US_at_temp##1{##1{#2}}\restore_at_protect\US_at_temp#1}
-\def\US_at_protopt#1{\@ifnextchar[{\US_at_protarg#1}{\US_at_prot#1}}
-\def\US_at_protarg #1[#2]{\US_at_prot{{#1[#2]}}}
-
-\UnderscoreCommands
-\let\do\relax \let\@tempd\relax % un-do
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\endinput
-
-underscore.sty 12-Oct-2001 Donald Arseneau
-
-Features:
-~~~~~~~~~
-\_ prints an underscore so that the hyphenation of constituent words
-is not affected and hyphenation is permitted after the underscore.
-For example, "compound\_fracture" hyphenates as com- pound_- frac- ture.
-If you prefer the underscore to break without a hyphen (but still with
-the same rules for explicit hyphen-breaks) then use the [nohyphen]
-package option.
-
-A simple _ acts just like \_ in text mode, but makes a subscript in
-math mode: activation_energy $E_a$
-
-Both forms use an underscore character if the font encoding contains
-one (e.g., "\usepackage[T1]{fontenc}" or typewriter fonts in any encoding),
-but they use a rule if the there is no proper character.
-
-Deficiencies:
-~~~~~~~~~~~~~
-The skips and penalties ruin any kerning with the underscore character
-(when a character is used). However, there doesn't seem to be much, if
-any, such kerning in the ec fonts, and there is never any kerning with
-a rule.
-
-You must avoid "_" in file names and in cite or ref tags, or you must use
-the babel package, with its active-character controls, or you must give
-the [strings] option, which attempts to redefine several commands (and
-may not work perfectly). Even without the [strings] option or babel, you
-can use occasional underscores like: "\include{file\string_name}".
-
-Option: [strings]
-~~~~~~~~~~~~~~~~~
-The default operation is quite simple and needs no customization; but
-you must avoid using "_" in any place where LaTeX uses an argument as
-a string of characters for some control function or as a name. These
-include the tags for \cite and \ref, file names for \input, \include,
-and \includegraphics, environment names, counter names, and placement
-parameters (like "[t]"). The problem with these contexts is that they
-are `moving arguments' but LaTeX does not `switch on' the \protect
-mechanism for them.
-
-If you need to use the underscore character in these places, the package
-option [strings] is provided to redefine commands taking a string argument
-so that the argument is protected (with \protect -> \string). The list
-of commands is given in "\UnderscoreCommands", with "\do" before each,
-covering \cite, \ref, \input, and their variants. Not included are many
-commands regarding font names, everything with counter names, environment
-names, page styles, and versions of \ref and \cite defined by external
-packages (e.g. \vref and \citeyear).
-
-You can add to the list of supported commands by defining \UnderscoreCommands
-before loading this package; e.g.
-
- \usepackage{chicago}
- \newcommand{\UnderscoreCommands}{% (\cite already done)
- \do\citeNP \do\citeA \do\citeANP \do\citeN \do\shortcite
- \do\shortciteNP \do\shortciteA \do\shortciteANP \do\shortciteN
- \do\citeyear \do\citeyearNP
- }
- \usepackage[strings]{underscore}
-
-Not all commands can be supported this way! Only commands that take a
-string argument *first* can be protected. One optional argument before
-the string argument is also permitted, as exemplified by \cite: both
-\cite{tags} and \cite[text]{tags} are allowed. A command like
-\@addtoreset which takes two counter names as arguments could not
-be protected by adding it to \UnderscoreCommands.
-
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-!! When you use the [strings] option, you must load this package !!
-!! last (or nearly last). !!
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
-There are two reasons: 1) The redefinitions done for protection must come
-after other packages define their customized versions of those commands.
-2) The [strings] option requires the _ character to be activated immediately
-in order for the cite and ref tags to be read properly from the .aux file
-as plain strings, and this catcode setting might disrupt other packages.
-
-The babel package implements a protection mechanism for many commands,
-and will be a complete fix for most documents without the [strings] option.
-Many add-on packages are compatible with babel, so they will get the
-strings protection also. However, there are several commands that are
-not covered by babel, but can easily be supported by the [strings] and
-\UnderscoreCommands mechanism. Beware that using both [strings] and babel
-may lead to conflicts, but does appear to work (load babel last).
-
-Implementation Notes:
-~~~~~~~~~~~~~~~~~~~~~
-The first setting of "_" to be an active character is performed in a local
-group so as to not interfere with other packages. The catcode setting
-is repeated with \AtBeginDocument so the definition is in effect for the
-text. However, the catcode setting is repeated immediately when the
-[strings] option is detected.
-
-The definition of the active "_" is essentially:
- \ifmmode \sb \else \BreakableUnderscore \fi
-where "\sb" retains the normal subscript meaning of "_" and where
-"\BreakableUnderscore" is essentially "\_". The rest of the definition
-handles the "\protect"ion without causing \relax to be inserted before
-the character.
-
-\BreakableUnderscore uses "\nobreak\hskip\z_at_skip" to separate the
-underscore from surrounding words, thus allowing TeX to hyphenate them,
-but preventing free breaks around the underscore. Next, it checks the
-current font family, and uses the underscore character from tt fonts or
-otherwise \textunderscore (which is a character or rule depending on
-the font encoding). After the underscore, it inserts a discretionary
-hyphenation point as "\usc_at_dischyph", which is usually just "\-"
-except that it still works in the tabbing environment, although it
-will give "\discretionary{}{}{}" under the [nohyphen] option. After
-that, another piece of non-breaking interword glue is inserted.
-Ordinarily, the comparison "\ifx\f_at_family\ttdefault" will always fail
-because \ttdefault is `long' where \f_at_family is not (boooo hisss), but
-\ttdefault is redefined to be non-long by "\AtBeginDocument".
-
-The "\_" command is then defined to use "\BreakableUnderscore".
-
-If the [strings] option is not given, then that is all!
-
-Under the [strings] option, the list of special commands is processed to:
-- retain the original command as \US_command (\US_ref)
-- redefine the command as \US_at_prot\US_command for ordinary commands
- (\ref -> \US_at_prot\US_ref) or as \US_at_protopt\US_command when an optional
- argument is possible (\bibitem -> \US_at_protopt\US_bibitem).
-- self-protecting commands (\cite) retain their self-protection.
-Diagnosing the state of the pre-existing command is done by painful
-contortions involving \meaning.
-
-\US_at_prot and \US_at_protopt read the argument, process it with \protect
-enabled, then invoke the saved \US_command.
-
-Modifications:
-~~~~~~~~~~~~~~
-12-Oct-2001 Babel (safe_at_actives) compatibility and [nohyphen] option.
-
-Test file integrity: ASCII 32-57, 58-126: !"#$%&'()*+,-./0123456789
-:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk