From cdfe96a3444a4d0664b9702c4ff6fe6622257834 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 20 Jul 2010 22:30:22 +0000 Subject: stex update once more git-svn-id: svn://tug.org/texlive/trunk@19548 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/stex/sref/sref.sty | 91 ++++++++++++++++++++++ .../texmf-dist/tex/latex/stex/sref/sref.sty.ltxml | 33 ++++++++ 2 files changed, 124 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/stex/sref/sref.sty create mode 100644 Master/texmf-dist/tex/latex/stex/sref/sref.sty.ltxml (limited to 'Master/texmf-dist/tex/latex/stex/sref') diff --git a/Master/texmf-dist/tex/latex/stex/sref/sref.sty b/Master/texmf-dist/tex/latex/stex/sref/sref.sty new file mode 100644 index 00000000000..52f4b1c7d12 --- /dev/null +++ b/Master/texmf-dist/tex/latex/stex/sref/sref.sty @@ -0,0 +1,91 @@ +%% +%% This is file `sref.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% sref.dtx (with options: `package') +%% +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{sref}[2010/06/25 v0.9 Semantic Cross-References] +\newif\ifextrefs\extrefsfalse +\DeclareOption{extrefs}{\extrefstrue} +\ProcessOptions +\RequirePackage{omd} +\newcommand{\sref}[2][]{% +\@ifundefined{sref@part}{\sref@hlink[#1]{#2}}{\sref@hlink[#1]{\sref@part @#2}}} +\newcommand{\srefs}[3][]{% +\def\@test{#1}\ifx\@test\@empty\sref{#2} and \sref{#3}\else #1\fi} +\newcommand{\srefl}[3][]{% +\def\@test{#1}\ifx\@test\@empty\sref{#2} to \sref{#3}\else #1\fi} +\newcommand{\spageref}[2][]{% +\@ifundefined{sref@part}{\sref@hlink[#1]{#2}}{\sref@hlink[#1]{\sref@part @#2}}} +\newif\ifhref\hreffalse +\AtBeginDocument{\@ifpackageloaded{hyperref}{\hreftrue}{\hreffalse}} +\def\sref@href@ifh#1#2{\ifhref\href{#1}{#2}\else#2\fi} +\def\sref@hlink@ifh#1#2{\ifhref\hyperlink{#1}{#2}\else#2\fi} +\def\sref@target@ifh#1#2{\ifhref\hypertarget{#1}{#2}\else#2\fi} +\def\sref@target% +{\ifx\sref@id\@empty\else% +\expandafter\sref@target@ifh% +{sref@\@ifundefined{sref@part}{}{\sref@part @}\sref@id @target}{}\fi} +\def\@sref@def#1#2#3{\expandafter\gdef\csname sref@#1@#2\endcsname{#3}} +\ifextrefs\newwrite\refs@file\else\def\refs@file{\@auxout}\fi +\def\sref@def#1#2#3{%\@sref@def{#1}{#2}{#3}% +\protected@write\refs@file{}{\string\@sref@def{#1}{#2}{#3}}} +\omdaddkey{srefaddidkey}{prefix} +\newcommand\srefaddidkey[2][]{\omdsetkeys{srefaddidkey}{#1}% +\@omd@ext@clear@keys{#2}{sref@id}{}% id cannot have a default +\define@key{#2}{id}{\edef\sref@id{\srefaddidkey@prefix ##1}}} +\def\makeextrefs#1{\gdef\sref@part{#1}% +\makeatletter +\IfFileExists{\jobname.refs}{\input{\jobname.refs}}{}% +\immediate\openout\refs@file=\jobname.refs +\makeatother} +\def\sref@label#1#2{% +\sref@def{\@ifundefined{sref@part}{}{\sref@part @}#2}{page}{\thepage} +\sref@def{\@ifundefined{sref@part}{}{\sref@part @}#2}{label}{#1}} +\def\sref@label@id#1{\ifx\sref@id\@empty\else\sref@label{#1}{\sref@id}\fi} +\newcommand{\sref@hlink}[2][]{\def\@test{#1}% +\@ifundefined{sref@#2@label}% +{\protect\G@refundefinedtrue\@latex@warning{reference #2 undefined}??}% +{\sref@hlink@ifh{sref@#2@target}{\ifx\@test\@empty\@nameuse{sref@#2@label}\else #1\fi}}} +\newcommand{\sref@page@label}[1]{p.~{#1}} +\newcommand{\sref@pageref}[1]{\@ifundefined{sref@#1@page}% +{\protect\G@refundefinedtrue\@latex@warning{reference #1 undefined}\sref@page@label{??}}% +{\sref@hlink@ifh{sref@#1@target}{\sref@page@label{\@nameuse{sref@#1@page}}}}} +\newcommand{\sref@href}[3][]{\def\@test{#1}% +\@ifundefined{sref@#2@label}% +{\protect\G@refundefinedtrue\@latex@warning{reference #2 undefined}??}% +{\@ifundefined{sref@#3@URI}% +{\protect\G@refundefinedtrue\@latex@warning{external refs of type #3 undefined}??}% +{\edef\@uri{\@nameuse{sref@#3@URI}.pdf\#sref@#2@target} +\edef\@label{\ifx\@test\@empty\@nameuse{sref@#2@label}\else #1\fi} +\sref@href@ifh\@uri\@label}}} +\ifextrefs +\newcommand{\extref}[3][]{\def\theextref{\sref@href[#1]{#2@#3}{#2}}% +\csname doextref@#2\endcsname} +\else +\newcommand{\extref}[3][]{\sref[#1]{#3}} +\fi +\def\extrefstyle#1#2{\expandafter\gdef\csname doextref@#1\endcsname{#2}} +\newcommand{\inputrefs}[2]{% +\@namedef{sref@#1@URI}{#2} +\makeatletter% +\IfFileExists{#2.refs}{\input{#2.refs}} + {\PackageError{sref}{Reference file #1.refs does not exist} + {Maybe you have to run LaTeX on #2.tex first}} +\makeatother} +\srefaddidkey{sequation} +\def\sref@sequation@heading{equation} +\newenvironment{sequation}[1][]{\omdsetkeys{sequation}{#1}% +\ifx\sref@id\@empty\begin{displaymath}\else% no id, using equation* +\begin{equation}\sref@target\sref@label@id{\sref@sequation@heading~(\theequation)}\fi} +{\ifx\sref@id\@empty\end{displaymath}\else\end{equation}\fi} +\newenvironment{seqnarray}[1][]% +{\omdsetkeys{sequation}{#1}\begin{eqnarray*}\sref@target% +\sref@label@id{\sref@sequation@heading~(\theequation)}} +{\end{eqnarray*}} +\endinput +%% +%% End of file `sref.sty'. diff --git a/Master/texmf-dist/tex/latex/stex/sref/sref.sty.ltxml b/Master/texmf-dist/tex/latex/stex/sref/sref.sty.ltxml new file mode 100644 index 00000000000..2157be90a8a --- /dev/null +++ b/Master/texmf-dist/tex/latex/stex/sref/sref.sty.ltxml @@ -0,0 +1,33 @@ +package LaTeXML::Package::Pool; +use strict; +use LaTeXML::Package; +DeclareOption('extrefs',''); +RequirePackage('omd'); +DefConstructor('\sref[]{}', + "Section "); +DefConstructor('\srefs[]{}', + "Section "); +DefConstructor('\srefl[]{}', + "Section "); +DefConstructor('\spageref[]{}', + "Section "); +DefConstructor('\makeextrefs{}',''); +DefConstructor('\extref[]{}', + "Section "); +DefConstructor('\theextref',''); +DefConstructor('\extrefstyle{}{}',""); +DefConstructor('\inputrefs{}{}',''); +DefEnvironment('{sequation} OptionalKeyVals', + "" + . "" + . "#body" + . "" + . "", + mode=>'display_math', + properties=> sub { RefStepCounter('equation') }, + locked=>1); +DefMacro('\seqnarray OptionalKeyVals','\begin{eqnarray*}'); +DefMacro('\endseqnarray','\end{eqnarray*}'); +1; -- cgit v1.2.3