summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/seealso
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-04-07 20:56:43 +0000
committerKarl Berry <karl@freefriends.org>2014-04-07 20:56:43 +0000
commit707e19bbe7f732068f5e535e9c82fcf26c321bb7 (patch)
treeede911582ae882d4564ccad962495df253a00649 /Master/texmf-dist/tex/latex/seealso
parent7358507835747d8146f85cd4e157aaa99b3ff9ef (diff)
seealso (7apr14)
git-svn-id: svn://tug.org/texlive/trunk@33400 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/seealso')
-rw-r--r--Master/texmf-dist/tex/latex/seealso/seealso.sty125
1 files changed, 125 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/seealso/seealso.sty b/Master/texmf-dist/tex/latex/seealso/seealso.sty
new file mode 100644
index 00000000000..ae67167b76f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/seealso/seealso.sty
@@ -0,0 +1,125 @@
+%%
+%% This is file `seealso.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% seealso.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%% Copyright (C) 2014 by Leo Liu <leoliu.pku@gmail.com>
+%% --------------------------------------------------------------------------
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% 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.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{seealso}
+ [2014/04/06 v1.0 makeidx's see and seealso with page number support.]
+\RequirePackage{etoolbox}
+\RequirePackage{kvoptions}
+\SetupKeyvalOptions{
+ family=seealso@opt,
+ prefix=seealso@}
+\DeclareBoolOption[true]{override}
+\DeclareBoolOption[true]{activecr}
+\ProcessKeyvalOptions*
+\def\seealso@charlet#1{%
+ \begingroup\lccode`\~=`#1\lowercase{\endgroup\let~}}
+\let\seealso@macrolist\empty
+\def\seealso@clearlists{%
+ \def\do##1{\cslet{seealso@##1@list}\empty}%
+ \dolistloop\seealso@macrolist}
+\AtBeginDocument{\seealso@clearlists}
+\newcommand\SeealsoPrintList{%
+ \forlistloop\seealso@printlist\seealso@macrolist
+ \seealso@clearlists}
+\newif\ifseealso@firstitem
+\def\seealso@printlist#1{%
+ \ifcsempty{seealso@#1@list}
+ {}
+ {\csuse{seealso@#1@listsep}%
+ \csuse{seealso@#1@nameformat}{\csuse{#1name}}%
+ \seealso@firstitemtrue
+ \forlistcsloop{\seealso@listitem{#1}}{seealso@#1@list}}}
+\def\seealso@listitem#1#2{%
+ \ifseealso@firstitem
+ \seealso@firstitemfalse
+ \else
+ \csuse{seealso@#1@itemsep}%
+ \fi
+ \csuse{seealso@#1@itemformat}{#2}}
+\newcommand\DeclareSeealsoMacro[3]{%
+ \newcommand#1[2]{%
+ \seealso@setactivecr
+ \ifinlistcs{##1}{seealso@#2@list}
+ {}
+ {\listcsgadd{seealso@#2@list}{##1}}%
+ \csuse{seealso@#2@pageformat}{##2}}%
+ \listadd\seealso@macrolist{#2}%
+ \define@key{seealso@#2}{name}{%
+ \csdef{#2name}{##1}}%
+ \ifcsdef{#2name}
+ {}
+ {\setkeys{seealso@#2}{name=#3}}%
+ \def\do##1{%
+ \define@key{seealso@#2}{##1}{%
+ \csdef{seealso@#2@##1}{####1}}%
+ \setkeys{seealso@#2}{##1=\csuse{seealso@##1}}}%
+ \docsvlist{listsep,itemsep}%
+ \def\do##1{%
+ \define@key{seealso@#2}{##1}{%
+ \csdef{seealso@#2@##1}########1{####1}}%
+ \setkeys{seealso@#2}{##1=\csuse{seealso@##1}{####1}}}%
+ \docsvlist{nameformat,itemformat,pageformat}}
+\@onlypreamble{\DeclareSeealsoMacro}
+\newif\ifseealso@iscractive
+\def\seealso@setactivecr{%
+ \ifseealso@activecr
+ \unless\ifseealso@iscractive
+ \catcode`\^^M=\active
+ \seealso@charlet\^^M\seealso@cr
+ \seealso@iscractivetrue
+ \fi
+ \fi}
+\def\seealso@cr{%
+ \catcode`\^^M=5
+ \seealso@iscractivefalse
+ \SeealsoPrintList}
+\def\seealso@listsep{,\space}
+\def\seealso@itemsep{,\space}
+\def\seealso@nameformat#1{\emph{#1}\space}
+\def\seealso@itemformat#1{#1}
+\def\seealso@pageformat#1{#1}
+\def\seealso@define@key#1{%
+ \define@key{seealso}{#1}{%
+ \csdef{seealso@#1}{##1}}}
+\def\seealso@define@keyarg#1{%
+ \define@key{seealso}{#1}{%
+ \csdef{seealso@#1}####1{##1}}}
+\forcsvlist\seealso@define@key{listsep,itemsep}
+\forcsvlist\seealso@define@keyarg{nameformat,itemformat,pageformat}
+\def\SeealsoGobble#1{\@ifnextchar#1{\seealso@gobbleignorespaces}{}}
+\def\seealso@gobbleignorespaces#1{\ignorespaces}
+\newcommand\seealsosetup[2][]{%
+ \ifstrempty{#1}{%
+ \setkeys{seealso}{#2}%
+ }{%
+ \def\do##1{\setkeys{seealso@##1}{#2}}%
+ \forcsvlist{\do}{#1}}}
+\let\seenopage\see
+\let\seealsonopage\seealso
+\DeclareSeealsoMacro\seepage{see}{see}
+\DeclareSeealsoMacro\seealsopage{also}{see also}
+\ifseealso@override
+ \def\see{\seepage}
+ \def\seealso{\seealsopage}
+\fi
+\endinput
+%%
+%% End of file `seealso.sty'.