summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/morehype
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-01-27 18:46:38 +0000
committerKarl Berry <karl@freefriends.org>2011-01-27 18:46:38 +0000
commitcad1a5c4ccf4ccecf16ba4a6cca0e7c6e8f367ae (patch)
treedfa1166739c1dc91145bf63d53072bb947d4fdf5 /Master/texmf-dist/tex/latex/morehype
parent5691eba007aa04de66f737f9e721b76d2d6b5454 (diff)
morehype 0.1 (26jan11)
git-svn-id: svn://tug.org/texlive/trunk@21192 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/morehype')
-rw-r--r--Master/texmf-dist/tex/latex/morehype/atari.fdf8
-rw-r--r--Master/texmf-dist/tex/latex/morehype/blog.sty706
-rw-r--r--Master/texmf-dist/tex/latex/morehype/hypertoc.sty37
-rw-r--r--Master/texmf-dist/tex/latex/morehype/lang-de.fdf7
-rw-r--r--Master/texmf-dist/tex/latex/morehype/lang-en.fdf7
-rw-r--r--Master/texmf-dist/tex/latex/morehype/texlinks.sty261
6 files changed, 1026 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/morehype/atari.fdf b/Master/texmf-dist/tex/latex/morehype/atari.fdf
new file mode 100644
index 00000000000..70274c832ca
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/morehype/atari.fdf
@@ -0,0 +1,8 @@
+\ProvidesFile{atari.fdf}[2010/08/24 Atari to ISO-8859-1 with blog.sty]
+\newcommand*{\AtariCodes}{%
+ \MakeActiveDef{}\MakeActiveDef{}\MakeActiveDef{}%
+ \MakeActiveDef{}\MakeActiveDef{}\MakeActiveDef{}%
+ \MakeActiveDef{}%
+}
+\endinput
+
diff --git a/Master/texmf-dist/tex/latex/morehype/blog.sty b/Master/texmf-dist/tex/latex/morehype/blog.sty
new file mode 100644
index 00000000000..762789b4792
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/morehype/blog.sty
@@ -0,0 +1,706 @@
+\NeedsTeXFormat{LaTeX2e}[1994/12/01] %% \newcommand* etc.
+\ProvidesPackage{blog}[2011/01/24 v0.4 simple fast HTML (UL)]
+%% copyright (C) 2010 2011 Uwe Lueck,
+%% http://www.contact-ednotes.sty.de.vu
+%% -- author-maintained in the sense of LPPL below.
+%%
+%% This file can be redistributed and/or modified under
+%% the terms of the LaTeX Project Public License; either
+%% version 1.3c of the License, or any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% We did our best to help you, but there is NO WARRANTY.
+%%
+%% Please report bugs, problems, and suggestions via
+%%
+%% http://www.contact-ednotes.sty.de.vu
+%%
+%% == Processing ==
+%% We are building on the 'fifinddo' package:
+\RequirePackage{fifinddo}
+%% |\BlogCopyFile[<changes>]{<src-file>}|
+%% ``copies" the \TeX\ source file <src-file>
+%% into the file specified by `\ResultFile'.
+%% As in \TeX\ an empty line starts a new paragraph,
+%% we ``interpret" an empty source line as
+%% HTML tag \xmltagcode{p} for starting a new paragraph.
+%% Empty source lines following some first empty source
+%% line immediately are ignored
+%% (``compression" of empty lines).---However,
+%% I am not entirely sure that this won't have
+%% unwanted effects, so it must be required
+%% explicitly by |\BlogAutoPars|, or by calling the
+%% package with option |[autopars]|.
+%% In the latter case, it can be turned off by
+%% |\noBlogAutoPars|
+\newif\ifBlogAutoPars
+\newcommand*{\BlogAutoPars}{\BlogAutoParstrue}
+\newcommand*{\noBlogAutoPars}{\BlogAutoParsfalse}
+\DeclareOption{autopars}{\BlogAutoPars}
+\ProcessOptions
+\MakeOther\< \MakeOther\> %% TODO ...
+\newcommand*{\BlogCopyFile}[2][]{%
+ \ProcessFileWith[\BlogCodes #1]{#2}{%
+ \IfFDinputEmpty
+ {\IfFDpreviousInputEmpty
+ \relax
+ {\WriteResult{\ifBlogAutoPars<p>\fi}}}%
+ \CopyLine
+ }%
+}
+%% For a while, line endings swallowed inter-word spaces,
+%% until I found the setting of `\endlinechar'
+%% ('fifinddo''s default is `-1')
+%% in |\BlogCodes|:
+\newcommand*{\BlogCodes}{% %% 2010/09/07
+ \endlinechar`\ \catcode`\~\active \BasicNormalCatCodes}
+%% The tilde is active as in Plain~TeX too, it is so natural to
+%% use it for abbreviating HTML's `&nbsp;'!
+%%
+%% == General HTML Matters ==
+%% The following stuff is required for any web page
+%% (or hardly evitable).
+%% === General Tagging ===
+%% $$|\TagSurr{<el-name>}{<attr>}{<content>}|$$
+%% (I hoped this way code would be more readable
+%% than with `\TagSurround' ...)
+%% and $$|\SimpleTagSurr{<el-name>}{<content>}|$$
+%% are used to avoid repeating element names <el-name> in
+%% definitions of \TeX\ macros that refer to ``entire"
+%% elements---as opposed to elements whose content often
+%% spans lines (as readable HTML code).
+%% We will handle the latter kind of elements
+%% using \LaTeX's idea of ``environments."
+%% `\TagSurr' also inserts specifications of element
+%% \textbf{attributes},
+%% [TODO: 'wiki.sty' syntax would be so nice here]
+%% while `\SimpleTagSurr' is for elements used without
+%% specifying attributes. |\STS| is an abbreviation for
+%% `\SimpleTagSurr' that is useful as the `\SimpleTagSurr'
+%% function occurs so frequently:
+\newcommand*{\SimpleTagSurr}[2]{<#1>#2</#1>}
+\newcommand*{\STS}{} \let\STS\SimpleTagSurr %% 2010/05/23
+\newcommand*{\TagSurr}[3]{<#1 #2>#3</#1>}
+%%
+%% === Attributes ===
+%% Inspired by the common way to use `@' for referring
+%% to element attributes---i.e., `@<attr>' refers to attribute
+%% `<attr>'---in HTML/XML documentation, we often use
+%% $$`\@<attr>{<value>}' \qquad
+%% \mbox{to ``abbreviate"}\qquad `<attr>="<value>"'$$
+%% within the starting tag of an HTML element.
+%% This does not really
+%% make typing easier or improve readability,
+%% it rather saves \TeX's memory by using a single token
+%% for referring to an attribute.
+%% This ``abbreviation" is declared by
+%% |\declareHTMLattrib{<attr>}|, even with a check
+%% whether `\@<attr>' has been defined before:
+\newcommand*{\declareHTMLattrib}[1]{%
+ \def\reserved@a{@#1}%
+ \@ifundefined{@#1}%
+% {\@namedef{@#1}##1{ #1="##1"}}%
+ {\@namedef{@#1}##1{#1="##1"}}%
+ \@notdefinable}
+%% So after `\declareHTMLattrib{<attr>}', `\@<attr>' is a
+%% \TeX\ macro expecting one parameter for the specification.
+%%
+%% A few frequent attributes are declared this way here.
+%% |@href| is most important for that ``hyper-text:"
+\declareHTMLattrib{href}
+%% ... and |@name| (among other uses) is needed for
+%% hyper-text anchors:
+\declareHTMLattrib{name} %% 2010/11/06
+% \expandafter\show\csname @href\endcsname
+%% |@bgcolor| and other attributes following are especially used
+%% in formatting \textbf{tables}:
+\declareHTMLattrib{bgcolor}
+%% Of course, conflicts may occur, as the form
+%% `\@<ASCII-chars>' of macro names is used for internal
+%% (La)\TeX\ macros.
+%% Indeed, `\@width' that we want to have for the |@width|
+%% attribute already ``abbreviates"
+%% \TeX's ``keyword" (\TeX book p.~61) %% 2010/11/27
+%% `width' in \LaTeX\
+%% (for specifying the width of a `\hrule' or `\vrule' from \TeX;
+%% again just saving \TeX\ tokens rather than for readibility).
+\PackageWarning{blog}{Redefining \protect\@width}
+\let\@width\relax
+\declareHTMLattrib{width}
+%% Same with |@height|:
+\PackageWarning{blog}{Redefining \protect\@height}
+\let\@height\relax
+\declareHTMLattrib{height} %% 2010/07/24
+%% We can enumerate the specifications allowed for
+%% |@align| ... actually it isn't used/introduced here ...
+%% we just abbreviate (indeed!) entire attribute specifications:
+\newcommand*{\@align@c}{align="center"} %% 2010/08/03
+\newcommand*{\@align@l}{align="left"} %% 2010/07/17
+\newcommand*{\@align@r}{align="right"}
+%% Some other uses of `\declareHTMLattrib' essential for
+%% tables:
+\declareHTMLattrib{cellpadding} %% 2010/07/18
+\declareHTMLattrib{cellspacing} %% 2010/07/18
+\declareHTMLattrib{colspan} %% 2010/07/17
+\declareHTMLattrib{frame} %% 2010/07/24
+%% \textbf{Another problem} with this namespace idea is that
+%% \emph{either} this reference to attributes cannot be used in
+%% ``author" source files for generating HTML---\emph{or} `@'
+%% cannot be used for ``private" (internal) macros.
+%% Cf. |\ContentAtt| for \xmltagcode{meta} tags ...
+%% well, not so bad, as the main purpose of this namespace
+%% is saving tokens \emph{in macros.}
+%%
+%% === HTML's Special Symbols ===
+%% |#| is needed for numerical specifications in HTML,
+%% especially colors and Unicode symbols,
+%% while it plays a different (essential) role in our
+%% definitions of \TeX\ macros here.
+%% We redefine \LaTeX's |\#|
+%% for a kind of ``quoting" `#' in macro definitions
+%% in order to refer to their HTML meaning.---I \textbf{wonder}
+%% what I had in mind with the |&| things here.
+%% I cannot find any use of |\AmpMark| in my code
+%% (including my web pages). There is no real problem
+%% with calling special HTML symbols, `&' is simply
+%% made `other' already here for macros calling those symbols
+%% (below), and in processing source files, it is as well
+%% `other' by default. The symbols section, however, redefines |\&|
+%% for calling HTML's ampersand symbol.
+{\catcode`\&=12 \catcode`\#=12
+ \gdef\AmpMark{&} \gdef\#{#}}
+%% ... `\CompWordMark' etc.?
+%%
+%% === Head ===
+%% |\head| produces the first two tags that an HTML file must start
+%% with (we sometimes use `^^J' for line breaks in the HTML file
+%% to get some readibility of the generated code):
+\newcommand*{\head}{<html><head>} %% ^^J rm 2010/10/10
+%% |\MetaTag{<inside>}| and |\ContentAtt{<value>}|
+%% are internal shortcuts:
+\newcommand*{\MetaTag}[1]{\space\space<meta #1>}
+\newcommand*{\ContentAtt}[1]{content="#1"}
+%% |\charset{<code-page>}|
+\newcommand*{\charset}[1]{%
+ \MetaTag{http-equiv="Content-Type" \ContentAtt{text/html; #1}}}
+%% |\description{<text>}| for web searches (I think):
+\newcommand*{\description}[1]{%
+ \MetaTag{\@name{description} \ContentAtt{#1}}}
+%% ... an outright \textbf{mistake!} The definition is overridden
+%% to get the HTML equivalent to \LaTeX's `description' environment.
+%% `\newcommand' did not warn here because we don't load any \LaTeX\
+%% class for text-processing macros and code generation.---And so
+%% some |\MetaDescr| should be defined---and used finally!
+%%
+%% |\robots{<instructions>}|:
+\newcommand*{\robots}[1]{%% juergenf: index, follow, noarchive
+ \MetaTag{\@name{robots} \ContentAtt{#1}}}
+%% |\stylesheet{<media>}{<css>}| !?
+\newcommand*{\stylesheet}[2]{%
+ \space\space %% 2010/09/10
+ <link rel="stylesheet" media="#1" type="text/css" \@href{#2.css}>}
+%% With |\title{<text>}|, <text> heads %% grammar? TODO 2010/04/08
+%% the browser window:
+\renewcommand*{\title}[1]{\space\space<title>#1</title>}
+%%
+%% === Body ===
+%% |\body| separates the `head' element from the `body' element
+%% of the page.
+\newcommand*{\body}{</head><body>}
+%% |\topofpage| generates an anchor `top-of-page':
+\newcommand*{\topofpage}{\hanc{top-of-page}{}}
+%% |\finish| finishes the page, closing the `body' and `html'
+%% elements.
+\newcommand*{\finish}{</body></html>}
+%%
+%%
+%% == Fonts ==
+%% |\heading{<level>}{<text>}| prints <text> with size dependent
+%% on <level>. The latter may be one out of `1', `2', `3', `4'
+%% (I think).
+\newcommand*{\heading}[1]{\SimpleTagSurr{h#1}}
+%% ... I might use `\section' etc. one day, I made `\heading'
+%% when I could not control the sizes of the section titles
+%% properly and decided first to experiment with the level numbers.
+%%
+%% We ``re-use" some \LaTeX\ commands for specifying font attributes,
+%% rather than (re)defining macros `\i', `\b', `\tt', ...
+%% $$|\textit{<text>}| \qquad
+%% \mbox{just expands to}\qquad
+%% \xmltagcode{i}<text>\xmltagcode{/i}$$
+\renewcommand*{\textit}{\SimpleTagSurr i}
+%% etc. for |\textbf|, |\texttt| ...:
+\renewcommand*{\textbf}{\SimpleTagSurr b}
+\renewcommand*{\texttt}{\SimpleTagSurr{tt}} %% 2010/06/07
+%% |\textcolor| is from \LaTeX's 'color' package
+%% that we won't load for generating HTML,
+%% so it is ``new" here, it is just natural to use it
+%% for colored text (2010/05/15):
+\newcommand*{\textcolor}[1]{\TagSurr{font}{color="#1"}}
+%% |\code{<text>}| is different than the former font commands,
+%% it is \emph{not} a standard \LaTeX\ macro.
+%% It is similar to `\verb', which however doesn't work with
+%% a pair of curly braces. The macro name rather is derived
+%% from the HTML element name `code':
+\newcommand*{\code} {\SimpleTagSurr{code}} %% 2010/04/27
+%% |\emph{<text>}| is \LaTeX's command again, but somewhat abused,
+%% expanding to \lq\xmltagcode{em}<text>\xmltagcode{/em}\rq:
+\renewcommand*{\emph} {\SimpleTagSurr{em}}
+%% ... Note that \LaTeX's `\emph' feature of switching to `up'
+%% when `\emph' appears in an italic context doesn't work here ...
+%%
+%% |\strong{<text>}| again just calls an HTML element.
+%% It may behave like `\textbf{<text>}', or ... I don't know ...
+\newcommand*{\strong} {\SimpleTagSurr{strong}}
+%%
+%% == Environments ==
+%% We reduce \LaTeX's |\begin| and |\end| to their most primitive
+%% core.
+%% \begin{description}
+%% \cmdboxitem|\begin{<command>}| just executes the macro `\<command>',
+%% and
+%% \cmdboxitem|\end{<command>}| just executes the macro `\end<command>'.
+%% \end{description}
+%%
+%% They don't constitute a group with local settings.
+%% Indeed, the present (2010/11/07) version of 'blog.sty'
+%% does not allow any assignments while ``copying"
+%% the \TeX\ source into the `.htm'.
+%% There even is no check for proper nesting.
+%% `\begin' and `\end' just represent HTML elements
+%% (their starting/ending tags)
+%% that typically have ``long" content.
+%% (We might ``intercept" `\begin' and `\end' before
+%% copying for executing some assignments in a future version.)
+\let\begin\@nameuse
+\def\end#1{\csname end#1\endcsname}
+%% |{center}|---TODO cf. \xmltagcode{center} 2010/07/18:
+\renewenvironment*{center}{<p align="center">}{</p>}
+%% ... moving |{english}| to `xmlprint.cfg'
+%% 2010/05/22 ...%% doc 2010/11/06
+%%
+%% As formerly with ``fonts," we have \emph{two} policies for
+%% \textbf{choosing macro names}:
+%% (i)~using an \emph{existing} HTML element name,
+%% (ii)~using a \LaTeX\ command name for accessing a somewhat
+%% similar HTML element having a \emph{different} name.
+%%
+%% |\declareHTMLelement{<el-name>}| creates a \emph{new}
+%% <el-name> ``environment" according to policy~(i):
+\newcommand*{\declareHTMLelement}[1]{%
+ \newenvironment*{#1}{<#1>}{</#1>}}
+%% |\renderHTMLelement{<ltx-env>}{<el-name>}| \emph{redefines}
+%% \LaTeX's <ltx-env> environment to use HTML's <el-name> element
+%% according to policy~(ii):
+\newcommand*{\renderHTMLelement}[2]{%
+ \renewenvironment*{#1}{<#2>}{</#2>}}
+%% Applying former auxiliaries:
+%%
+%% `\small' is a \LaTeX\ command from a \emph{class}---that
+%% we won't load, therefore we can create a \emph{new}
+%% |{small}| environment using \xmltagcode{small} according to
+%% policy~(i):
+\declareHTMLelement{small}
+%% The next definitions for |{enumerate}|, |{itemize}|,
+%% `{verbatim}' follow policy~(ii):
+\renderHTMLelement{enumerate}{ol}
+\renderHTMLelement{itemize} {ul}
+%% %% 2010/11/16:
+%% With 'blog.sty', |{verbatim}| really doesn't work much
+%% like its original \LaTeX\ variant. \TeX\ macros inside
+%% still are expanded, and you must care yourself for
+%% wanted \dqtd{quoting}:
+\renderHTMLelement{verbatim} {pre} %% 2010/09/10
+%%
+%% |{quote}| is defined in \LaTeX\ classes only again.
+%% To use it for policy~(ii), we give it a dummy definition
+%% so `\render'... won't complain:
+\let\quote\empty
+\renderHTMLelement{quote} {blockquote}
+%% For list |\item|s, I tried to get readable HTML code
+%% using `\indenti'. This fails with nested lists.
+%% The indent could be increased for nested lists
+%% if we supported assignments with `\begin' and `\end'.
+\renewcommand*{\item}{\indenti<li>}
+%% <- 2010/05/23, 2010/06/10 ->
+% \renewcommand*{\item}{<li>}
+%% \LaTeX's |{description}| environment redefines the
+%% label format for the optional argument of `\item'.
+%% Again, \emph{we} cannot do this here
+%% (we even cannot use optional arguments,
+%% at least not easily).
+%% Instead we define a different |\ditem{<term>}|
+%% having a \emph{mandatory} argument.
+%% %% 2010/07/05:
+\renderHTMLelement{description}{dl}
+\newcommand*{\ditem}[1]{\indenti<dt>\strong{#1}<dd>}
+%%
+%% == Links ==
+%% === Basic Link Macros ===
+%% |\hanc{<id>}{<text>}| makes <text> an anchor with
+%% HTML label <id> (like 'hyperref''s `\hypertarget'):
+\newcommand*{\hanc}[1]{\TagSurr a{\@name{#1}}}
+%% |\hancref{<id>}{<url>}{<text>}| makes <text> an anchor with
+%% HTML label <id> and at the same time a link to <url>:
+\newcommand*{\hancref}[2]{\TagSurr a{\@name{#1} \@href{#2}}}
+%% |\href{<id>}{<text>}| makes <text> a link to <url>:
+\newcommand*{\href}[1]{\TagSurr a{\@href{#1}}}
+%%
+%% === Special cases of Basic Link Macros ===
+%% |\autanc{<text>}| creates an anchor where <text> is
+%% the text and the internal label at the same time:
+\newcommand*{\autanc}[1]{\hanc{#1}{#1}} %% 2010/07/04
+%% |\ancref{<id>}{<text>}| makes <text> a link to
+%% an anchor <id> on the same web page.
+%% This is especially useful for a ``table of contents"---a
+%% list of links to sections of the page.
+\newcommand*{\ancref}[1]{\href{\##1}}
+%% |\autref{<text>}| makes <text> a link to an anchor
+%% named <text> itself:
+\newcommand*{\autref}[1]{\ancref{#1}{#1}} %% 2010/07/04
+%%
+%% === Italic Variants ===
+%% Some of the link macros get ``emphasized" or ``italic"
+%% variants. Originally I used ``emphasized," later I decided
+%% to replace it by ``italic," as I found that I had used
+%% italics for another reason than emphasizing.
+%% E.g., <text> may be \qtd{bug,} and I am not referring to
+%% some bug, but to the Wikipedia article \textit{Bug.}
+%% This has been inspired by some Wikipedia typography convention
+%% about referring to titles of books or movies.
+%% (The `em'\,->\,`it' replacement has not been completed yet.)
+% \newcommand*{\emhref}[2]{\href{#1}{\emph{#2}}}
+\newcommand*{\ithref}[2]{\href{#1}{\textit{#2}}}
+\newcommand*{\itancref}[2]{\ancref{#1}{\textit{#2}}}%% 2010/05/30
+\newcommand*{\emancref}[2]{\ancref{#1}{\emph{#2}}}
+%%
+%% === Built Macros for Links to Local Files ===
+%% Originally, I wanted to refer to my web pages only,
+%% using $$|\fileref{<filename-base>}|.$$ I have used
+%% extension `.htm' to avoid disturbing my Atari
+%% editor 'xEDIT' or the the Atari emulator (Hatari).
+%% I could switch to `.html' some time using symbolic links.
+%% The extension I actually use is stored as macro
+%% |\htext| in a more local file (e.g., `.cfg').---Later
+%% I realized that I may want to refer to local files
+%% other than web pages, and therefore I introduced a more
+%% general |\FileRef{<filename>}|.
+%% \textbf{Only now (v0.2) I realize}
+%% it's just the same as |\href|!
+\newcommand*{\FileRef}[1]{\TagSurr a{\@href{#1}}}
+%% <- 2010/09/11 ->
+\newcommand*{\fileref}[1]{\FileRef{#1\htext}}
+% \newcommand*{\emfileref}[2]{\fileref{#1}{\emph{#2}}}
+\newcommand*{\itfileref}[2]{\fileref{#1}{\textit{#2}}}
+%% |\fileancref{<file>}{<anchor>}| links to
+%% anchor <anchor> on web page <file>:
+\newcommand*{\fileancref}[2]{%
+ \TagSurr a{\@href{#1\htext\##2}}}
+% \newcommand*{\emfileancref}[3]{\fileancref{#1}{#2}{\emph{#3}}}
+%% <- 2010/05/31 ->
+\newcommand*{\itfileancref}[3]{\fileancref{#1}{#2}{\textit{#3}}}
+%%
+%% === Built Macros for Links to Remote Files ===
+%% 'blog.sty' currently (even 2011/01/24) implements my style
+%% \emph{not} to open a new browser window or tab for \emph{local}
+%% files but to open a new one for \emph{remote} files, i.e.,
+%% when a file is addressed by a full URL. For the latter case,
+%% there is \[|\httpref{<host-path[#frag]>}{<text>}|\] making <text>
+%% a link to `http://<host-path[#frag]>':
+% \newcommand*{\httpref}[1]{\href{http://#1}}
+\newcommand*{\httpref}[1]{% %% 2010/04/11
+ \TagSurr a{\@href{http://#1" target="_blank}}}
+%% With v0.4, macros based on `\httpref' are moved to 'texlinks.sty':
+\RequirePackage{texlinks}
+%% Former |\urlref| appears as |\urlhttpref| there ...
+\newcommand \urlref {} \let\urlref\urlhttpref
+%% ... and |\ctanref| has been replaced by `\tugctanref'.
+%% Let's go on playing with the difference ...
+\newcommand*{\ctanref}[1]{\httpref{ctan.org/tex-archive/#1}}
+%%
+%%
+%% == Symbols ==
+%% |&| is made `other' for using it to call HTML's ``character
+%% entities".
+\@makeother\&
+%% Again we have the two policies about choosing macro names
+%% and respectively two new definition commands.
+%% |\declareHTMLsymbol{<name>}| defines a macro `\<name>'
+%% expanding to `&<name>;'. Checking for prior definedness
+%% hasn't been implemented yet. (TODO)
+\newcommand*{\declareHTMLsymbol}[1]{\@namedef{#1}{&#1;}}
+%% |\renderHTMLsymbol{<macro>}{<name>}| \emph{redefines}
+%% macro <macro> to expand to `&<name>;':
+\newcommand*{\renderHTMLsymbol} [2]{\renewcommand*{#1}{&#2;}}
+%% These auxilaries applied: |\ccedil| (TODO re-order) ...
+\declareHTMLsymbol{ccedil} %% 2010/08/17
+%% Arrows: |\gets|, |\to|, |\uparrow|, |\downarrow| ...
+\renderHTMLsymbol {\gets} {larr}
+\renderHTMLsymbol {\to} {rarr}
+\renderHTMLsymbol {\uparrow} {uarr} %% 2010/09/15
+\renderHTMLsymbol {\downarrow}{darr} %% 2010/09/15
+%% \verb+>+ and \verb+<+: |\gt|, |\lt| ...
+\declareHTMLsymbol{gt} %% greater than 2010/06/13
+\declareHTMLsymbol{lt} %% less than 2010/06/13
+%% Redefinitions of |\&| and |\%|
+%% (well, `\PercentChar' is 'fifinddo's version of
+%% \LaTeX's `\@percentchar'):
+\renderHTMLsymbol {\&} {amp}
+\let\%\PercentChar %% 2010/07/01
+%% Horizontal ellipsis: |\dots| ...
+\renderHTMLsymbol {\dots} {hellip}
+%% The tilde |~| is used for its wonderful purpose,
+%% by analogy to \TeX:
+\renderHTMLsymbol {~} {nbsp}
+%% But now we need a replacement |\tilde| for URLs involving
+%% home directories of institution members:
+{\@makeother\~ \gdef\tilde{~}}
+%% The ligatures `--' and `---' for en~dash and em~dash
+%% don't work in our expanding mode. Now, HTML's policy
+%% for choosing names often prefers shorter names than
+%% are recommended for (La)\TeX, so here I adopt a \emph{third}
+%% police besides (i) and (ii) earlier; cf. \LaTeX's
+%% `\textemdash' and `\textendash'.---`\newcommand'
+%% does not accept macros whose names start with `end', so:
+%% |\endash|, |\emdash| ...
+\def \endash {&ndash;} %% \end... illegal
+\newcommand*{\emdash} {&mdash;}
+%% ``Math" spaces |\enspace|, |\quad|, |\qquad|:
+\renderHTMLsymbol{\enspace} {ensp}
+\renderHTMLsymbol{\quad} {emsp}
+\renewcommand* {\qquad} {\quad\quad}
+%% Quotes: |\lq|, |\rq| ... (TODO own subsection)
+\renderHTMLsymbol{\lq} {lsquo}
+% \newcommand* {\rsquo} {&rsquo;} %% removed 2010/04/26
+\renderHTMLsymbol{\rq} {rsquo}
+%% In order to use the right single quote for the HTML apostrophe,
+%% we must save other uses before.
+%% |\screentqtd{<text>}| is used for screen messages,
+%% and |\urlapostr| is the version of the right single quote
+%% for URLs (TODO which? Wikipedia?):
+\newcommand*{\screenqtd}[1]{`#1'}
+\newcommand*{\urlapostr} {'} %% 2010/09/10
+%% Here finally is the change of |'|:
+\MakeActiveDef\'{&rsquo;}
+%% ... TODO \verb+\MakeActiveLet\'\rq+!
+%% And this might better be in `\BlogCodes'! would
+%% save `\screenqtd'! Tilde likwise!?
+%% ... TODO change `\catcode`\`'!? 2010/04/26
+%%
+%% |\ldquo|, |\rdquo|, |\sbquo|, |\prime|, |\Prime| ...
+\declareHTMLsymbol{ldquo}
+\declareHTMLsymbol{rdquo}
+\declareHTMLsymbol{sbquo} %% 2010/07/01
+\renewcommand*{\prime}{&prime;}
+\declareHTMLsymbol{Prime}
+% \newcommand*{\Prime}{&Prime;}
+%% |\endqtd{<text>}| quotes in the English style using double quote
+%% marks, |\enqtd{<text>}| uses single quote marks instead, and
+%% |\dedqtd{<text>}| quotes in German style:
+\def\endqtd#1{\ldquo#1\rdquo} %% \newcommand: "\end"
+\newcommand*\enqtd[1]{\lq#1\rq} %% 2010/09/08, \new... 2010/11/08
+\newcommand*{\dedqtd}[1]{&bdquo;#1\ldquo}
+%% ... TODO `\bdquo'!? %% 2010/11/08
+%%
+%% Some more letters: |\eacute|, |\ocirc| (``r\^ole"),
+%% |\Omega| ...
+\declareHTMLsymbol{eacute}
+\declareHTMLsymbol{ocirc}
+\renderHTMLsymbol{\Omega} {Omega} %% 2010/08/24
+%% |\uml{<char>}| yields the umlaut for <char>
+%% (useful in macro definitions): %% 2010/11/13
+\newcommand* {\uml}[1] {&#1uml;} %% 2010/08/24
+%% |\copyright|:
+\renderHTMLsymbol{\copyright}{copy} %% 2010/08/24
+%% Curly braces |\{| and |\}|: %% 2010/09/10
+\begingroup
+ \Delimiters\[\] \gdef\{[{] \gdef\}[}]
+\endgroup
+%%
+%% %% Problem: line-wise approach requires that all macro arguments
+%% %% are in the same line. Otherwise the lines must be enclosed
+%% %% in curly braces. Or split single arguments. %% 2010/04/11
+%% % <- rm 2010/11/08
+%%
+%% \pagebreak[3]
+%% == \TeX-related == %% 2010/08/24
+%% Somebody actually using 'blog.sty' must have a need to put down
+%% notes about \TeX\ for her own private purposes at least---I expect.
+%% === Logos ===
+%% ``Program" names might be typeset in a special font,
+%% I once thought, and started tagging program names with
+%% |\prg|. It could be `\texttt' or `\textsf' like in
+%% documentations of \LaTeX\ packages. However,
+%% sans-serif is of doubtable usefulness on web pages,
+%% and typewriter imitations usually look terrible on
+%% web pages. So I am waiting for a better idea and
+%% let `\prg' just remove the braces.
+\newcommand*{\prg}[1]{} \let\prg\@firstofone
+\newcommand*{\BibTeX}{\prg{BibTeX}} %% 2010/09/13
+\renewcommand*{\TeX}{\prg{TeX}}
+\renewcommand*{\LaTeX}{\prg{LaTeX}}
+\newcommand*{\allTeX}{\prg{(La)TeX}}%% 2010/10/05
+\newcommand*{\LuaTeX}{\prg{LuaTeX}}
+\newcommand*{\pdfTeX}{\prg{pdfTeX}}
+\newcommand*{\XeTeX}{\prg{XeTeX}} %% 2010/10/09
+\newcommand*{\TeXbook}{TeXbook} %% 2010/09/13
+%%
+%% === Else ===
+%% With v0.4, \TeX-related \emph{links} are moved to 'texlinks.sty'.
+%%
+%% |\texcs{\<tex-cmd-name>}| or `\texcs\<tex-cmd-name>'
+%% (care for spacing yourself):
+\newcommand*{\texcs}[1]{\code{\string#1}} %% 2010/11/13
+%%
+%% == Tables ==
+%% These macros have proved somewhat bad. It may be better to
+%% re-implement tables support alltogether.
+%%
+%% There are three levels of indenting:
+%% $$|\indenti|, \quad
+%% |\indentii|,\quad \mbox{and}\quad
+%% |\indentiii|.$$
+%% The intention for these was to get readable HTML code. Not sure ...
+{\catcode`\ =12%% 2010/05/19
+\gdef\indenti{ }\gdef\indentii{ }\gdef\indentiii{ }}
+%% 2010/07/17:
+\newcommand*{\startTable}[1]{<table #1>}
+\def\endTable{</table>}
+%% 2010/07/18:
+\newcommand*{\starttr}{<tr>}
+\def\endtr{</tr>}
+\newcommand*{\startTd}[1]{<td #1>}
+\def\endTd{</td>}
+\newcommand*{\simplecell}{\SimpleTagSurr{td}}
+\newcommand*{\@frame@box}{\@frame{box}}
+\newcommand*{\@frame@groups}{\@frame{groups}}
+\newenvironment{allrulestable}[2]
+ {\startTable{\@cellpadding{#1} \@width{#2}
+ \@frame@box rules="all"}^^J%
+ \indenti<tbody>}
+ {\indenti</tbody>^^J\endTable}
+%% I first thought it would be good for readability if
+%% some HTML comments explain nesting or briefly describe
+%% the content of some column, row, or cell.
+%% But this is troublesome when you want to comment out
+%% an entire table ...
+\newenvironment*{TableRow}[2]{%% weniger ^^J 2010/05/18
+% \indenti\ \comment{ #1 }^^J%
+%% <- 2010/05/23 ->
+% \ \comment{ #1 }^^J%
+%% <- 2010/07/18 ->
+ \indenti \comment{ #1 }^^J%
+ \indentii<tr #2>%
+ }{%
+ \indentii</tr>}
+\newenvironment{tablecoloredrow}[2]
+ {\TableRow{#1}{\@bgcolor{#2}}}
+ {\endTableRow}
+%% "top" 2010/05/18:
+\newenvironment{tablerow}[1]{\TableRow{#1}{valign="top"}}
+ {\endTableRow}
+% \newcommand*{\TableCell}[2]{\indentiii<td #1>#2</td>}
+% \newcommand*{\TableCell}[2]{\indentiii\TagSurr{td}{#1}{#2}}
+ %% <- 2010/07/18 ->
+\newcommand*{\TableCell}[2]{\indentiii\startTd{#1}#2\endTd}
+%% 2010/06/15:
+\newcommand*{\colorwidthcell}[2]{\TableCell{\@bgcolor{#1}\@width{#2}}}
+\newcommand*{\tablewidthcell}[1]{\TableCell{\@width{#1}}}
+\newcommand*{\tablecell} {\TableCell{}}
+\newcommand*{\tableCell} {\TableCell\@align@c}
+%% Idea: use closing star for environment variants!?
+% %% 2010/05/19:
+\newenvironment{bigtablecell}[1]{\BigTableCell{#1}{}}
+ {\endBigTableCell}
+% {\ifx\\#1\\% %% 2010/05/30
+% \indentii\ \comment{#1}^^J%
+% \fi
+% \indentiii<td>}
+% {\indentii</td>} %% !? 2010/05/23
+%% Generalization 2010/06/28:
+% \newcommand*{\FillRow}[2]{% %% broke line 2011/01/24
+% \indentiii\TagSurr{td}{\@colspan{#1} #2}{}}
+ %% <- 2010/07/18 ->
+\newcommand*{\FillRow}[2]{\indentiii\startTd{\@colspan{#1} #2}\endTd}
+\newcommand*{\fillrow}[1]{\FillRow{#1}{}}
+\newcommand*{\fillrowcolor}[2]{\FillRow{#1}{\@bgcolor{#2}}}
+%% 2010/06/05:
+\newenvironment{BigTableCell}[2]
+ {\ifx\\#1\\\indentii\ \comment{#1}^^J\fi
+ \indentiii\startTd{#2}}
+ {\indentii\endTd} %% TODO indent? 2010/07/18
+%%
+%% == Misc ==
+%% |\comment{<comment>}| produces a one-line HTML comment.
+%% By contrast, there is an environment
+%% |{commentlines}{<comment>}|
+%% for mult-line comments. It is convenient for ``commenting out"
+%% code (unless the latter contains other HTML comments ...)
+%% where <comment> is a \emph{comment} for explaining what is
+%% commented out. %% 2010/11/14
+\newcommand*{\comment}[1]{<!--#1-->}
+% \newcommand{\commentlines}[1]{\comment{^^J#1^^J}} %% 2010/05/07
+% %% <- TODO bzw. \endlinechar=`\^^J 2010/05/09 back 2010/05/10
+\newenvironment{commentlines}[1] %% 2010/05/17
+ {<!--#1}
+ {-->}
+%% \TeX's |\hrule| (rather deprecated in \LaTeX) is redefined
+%% to produce an HTML horizontal line:
+\renewcommand*{\hrule}{<hr>}
+%% Redefining |\ | to be the same as `\space' may be helpful
+%% for manual indenting or spacing of HTML code.
+%% Or better (just now remembering): I used it for making
+%% ``ASCII trees" with the \xmltagcode{pre} element
+%% (redefined `verbatim').
+\let\ \space
+%% I couldn't find a perfect way to generate \xmltagcode{p}.
+%% Actually I started completing the present documentation
+%% when I had decided to implement automatic generation
+%% of \xmltagcode{p} from empty lines.
+% \def\par{<p>} %% + empty lines !? 2010/04/26
+%% <- difficult with `\stop'; 2010/09/10:
+%% |\endgraf| produces \xmltagcode{/p}!?
+\renewcommand*{\endgraf}{</p>}
+%% 2010/04/28:
+%% \xmltagcode{br} can be generated either by |\newline|
+%% or by |\\|:
+\renewcommand*{\newline}{<br>}
+\let\\\newline
+%% |\rightpar{<text>}| places <text> flush right.
+%% I have used this for \qtd{Last revised \dots} and for placing
+%% navigation marks.
+\newcommand*{\rightpar}{\TagSurr p\@align@r} %% 2010/06/17
+%% For references, there were
+% \catcode`\^=\active
+% \def^#1{\SimpleTagSurr{sup}{#1}}
+%% and
+% \newcommand*{\src}[1]{\SimpleTagSurr{sup}{[#1]}}
+%% as of 2010/05/01, inspired by the \xmltagcode{ref} element
+%% of MediaWiki; moved to `xmlprint.tex' 2010/06/02.
+%%
+%% == The End ==
+\endinput
+%%
+%% == VERSION HISTORY ==
+v0.1 2010/08/20 final version for DFG
+v0.2 2010/11/08 final documentation version before
+ moving some functionality to 'fifinddo'
+v0.3 2010/11/10 removed ^^J from \head
+ 2010/11/11 moving stuff to fifinddo.sty; \BlogCopyFile
+ 2010/11/12 date updated; broke too long code lines etc.;
+ \CatCode replaced (implemented in niceverb only);
+ \ifBlogAutoPars etc.
+ 2010/11/13 doc: \uml useful in ...; \texcs
+ 2010/11/14 doc: argument for {commentlines},
+ referring to environments with curly braces,
+ more on \ditem
+ 2010/11/15 TODO: usage, templates
+ 2010/11/16 note on {verbatim}
+ 2010/11/23 doc. corr. on \CtanPkgRef
+ 2010/11/27 "keyword"; \CopyLine without `fd'
+ 2010/12/03 \emhttpref -> \ithttpref
+ 2010/12/23 `%' added to \texhaxpref
+ 2011/01/23 more in \Provides...
+ 2011/01/24 updated copyright; resolving `td' ("today")
+ JUST STORED as final version before texlinks.sty
+v0.4 2011/01/24 moving links to texlinks.sty
diff --git a/Master/texmf-dist/tex/latex/morehype/hypertoc.sty b/Master/texmf-dist/tex/latex/morehype/hypertoc.sty
new file mode 100644
index 00000000000..e78ca6fe8de
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/morehype/hypertoc.sty
@@ -0,0 +1,37 @@
+\NeedsTeXFormat{LaTeX2e}[1994/12/01]
+\ProvidesPackage{hypertoc}[2011/01/23 v0.1 pretty TOC links (UL)]
+
+%% Copyright (C) 2011 Uwe Lueck,
+%% http://www.contact-ednotes.sty.de.vu
+%% -- author-maintained in the sense of LPPL below --
+%%
+%% This file can be redistributed and/or modified under
+%% the terms of the LaTeX Project Public License; either
+%% version 1.3c of the License, or any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% We did our best to help you, but there is NO WARRANTY.
+%%
+%% Please report bugs, problems, and suggestions via
+%%
+%% http://www.contact-ednotes.sty.de.vu
+%%
+%% Modifying |\@dottedtocline|:
+\let\HTOC@@line\@dottedtocline
+\renewcommand*{\@dottedtocline}[4]{%
+ \HTOC@@line{#1}{#2}{#3}{\mathstrut#4\mathstrut}}
+%% `\mathstrut' is like `\vphantom{()}', it indeed expands to
+%% `\vphantom(' in \LaTeX\ (as in plain \TeX).
+%%
+%% Modifying |\l@section|:
+%% % TODO: next lines appropriate for 'acticle.cls' only!?---and
+%% % `\chapter' still missing ...
+\let\HTOC@@section\l@section
+\renewcommand*{\l@section}[1]{%
+ \HTOC@@section{\mathstrut#1\mathstrut}}
+%% Leaving:
+\endinput
+%%
+%% == VERSION HISTORY ==
+
+v0.1 2011/01/23 very first
diff --git a/Master/texmf-dist/tex/latex/morehype/lang-de.fdf b/Master/texmf-dist/tex/latex/morehype/lang-de.fdf
new file mode 100644
index 00000000000..52ea2b6eb5c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/morehype/lang-de.fdf
@@ -0,0 +1,7 @@
+\ProvidesFile{lang-de.fdf}[2011/01/25 German settings for blog.sty]
+\def\dqtd {\dedqtd}
+\def\qtd {\deqtd}
+\def\lastrev {\delastrev}
+\def\totopofpage{\detotopofpage}
+\endinput
+
diff --git a/Master/texmf-dist/tex/latex/morehype/lang-en.fdf b/Master/texmf-dist/tex/latex/morehype/lang-en.fdf
new file mode 100644
index 00000000000..b000e0f2bb2
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/morehype/lang-en.fdf
@@ -0,0 +1,7 @@
+\ProvidesFile{lang-en.fdf}[2011/01/25 English settings for blog.sty]
+\def\dqtd {\endqtd}
+\def\qtd {\enqtd}
+\def\lastrev {\enlastrev}
+\def\totopofpage{\entotopofpage}
+\endinput
+
diff --git a/Master/texmf-dist/tex/latex/morehype/texlinks.sty b/Master/texmf-dist/tex/latex/morehype/texlinks.sty
new file mode 100644
index 00000000000..6ab5bca6b06
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/morehype/texlinks.sty
@@ -0,0 +1,261 @@
+\NeedsTeXFormat{LaTeX2e}[1994/12/01] %% \newcommand* etc.
+\ProvidesPackage{texlinks}[2011/01/24 v0.1 TeX-related links (UL)]
+%% copyright (C) 2011 Uwe Lueck,
+%% http://www.contact-ednotes.sty.de.vu
+%% -- author-maintained in the sense of LPPL below.
+%%
+%% This file can be redistributed and/or modified under
+%% the terms of the LaTeX Project Public License; either
+%% version 1.3c of the License, or any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% We did our best to help you, but there is NO WARRANTY.
+%%
+%% Please report bugs, problems, and suggestions via
+%%
+%% http://www.contact-ednotes.sty.de.vu
+%%
+%% == Outline ==
+%% All the link macros of 'texlinks' are based on a macro
+%% |\httpref|. For use of 'texlinks' with 'blog.sty',
+%% the latter provides a definition of `\httpref'
+%% suitable for HTML, where a choice of opening a new
+%% tab or window---or not---is relevant.
+%%
+%% For use with 'hyperref' (or ...?), 'texlinks' may
+%% provide a definition of `\httpref' based on `\href'.
+%% The decision to do so or not may happen at
+%% `\begin{document}'. 'blog.sty' generates HTML without
+%% using the `{document}' environment, so we might assume
+%% that when `\begin{document}' is found, we are running
+%% 'hyperref', or just \emph{something} that provides a
+%% useful `\href'. We might then execute a definition of
+%% `\httpref' in terms of `\href'. Well, not sure ...
+%%
+%% Moreover, a PDF file with links may be \emph{printed},
+%% and klicking the links on the paper may fail.
+%% URLs in main text, on the other hand, sometimes are
+%% troublesome. I consider it a good idea to present
+%% links with their URL as the displayed text in \emph{footnotes}
+%% (or endnotes). It may even be useful with HTML to present
+%% the URLs displayed in some "appendix".
+%%
+%% I tend to introduce something for this ... and there might be a
+%% package option forcing `\httpref' to use this style.
+%% Well, better \emph{not today} ... [2011/01/24, TODO]
+%%
+%% == Package Options ==
+%% Somebody may want to suppress a definition of `\httpref'
+%% at `\begin{document}' ... [2011/01/24, TODO]
+%%
+%% == Providing &\httpref ==
+%% \kern-\baselineskip
+%% \[|\httpref{<host-path[#frag]>}{<text>}|\]
+%% should display <text>
+%% as a link to `http://<host-path[#frag]>'.
+%% \
+%% In case `\begin{document}' is found with a definition of
+%% `\href' present, we provide a definition of `\httpref'
+%% in terms of `\href' there:
+\AtBeginDocument{%
+ \@ifundefined{href}{%
+% \PackageError ... TODO!? 2011/01/24
+ }{\newcommand*{\httpref}[1]{\href{http://#1}}}}
+%%
+%% == Variants of &\httpref ==
+%% |\ithttpref{<url>}{<text>}| displays <text> in italics:
+\newcommand*{\ithttpref}[2]{\httpref{#1}{\textit{#2}}} %% 2010/12/03
+%% With |\urlhttpref{<host-path[#frag]>}|, that URL
+%% is displayed:
+\newcommand* \urlhttpref [1] {\httpref{#1}{\urlfmt{\httpprefix#1}}}
+%% |\httpprefix| is an idea that was missing in 'blog.sty' up to v0.3.
+%% It may be used to determine generally whether a display of an
+%% URL should include `http://'. I choose as default what was default
+%% in 'blog.sty':
+\newcommand\httpprefix{} \let\httpprefix\@empty
+%% `\let\httpprefix\relax' would be bad for 'blog.sty'
+%% (would display `\relax'),
+%% while it would be somewhat more efficient.%%%---%%%
+%%
+%% Now you may customize `\httpprefix' by
+%% \[`\renewcommand{\httpprefix}{http://}'.\]
+%%
+%% |\urlfmt{<url>}| is chosen as `\texttt' here and may be
+%% customized, e.g., with the 'breakurl' package.
+\newcommand* \urlfmt [1] {} \let\urlfmt\texttt
+%% In 'blog.sty' (as of 2010/05/26), there was a command
+%% `\urlref' instead of `\urlhttpref'. It did not provide `\urlfmt'.
+%%
+%% == Wikipedia ==
+%% |\Wikideref{<lemma>}| refers to article <lemma> in the German
+%% Wikipedia. (The next considerations apply to English
+%% etc. as well!) With umlauts etc.,
+%% |\wikideref{<wiki-id>}{<lemma>}| may be needed.
+%% For this form, sometimes using \qtd{&_} seemed to be needed.
+%% In 'blog.sty', there was `\catcode`\_=12'.
+%% This was no problem there, as the underscore was not needed
+%% for math there. (For some time I thought of making it `\active'
+%% for a shorthand for \xmltagcode{sub} elements ...)
+%% But I could not find out whether it was needed or avoidable.
+%% I leave this matter open here (for 'hyperref') ...
+%% [2011/01/24, TODO, maybe solved there]
+\newcommand*{\wikideref}[1]{\httpref{de.wikipedia.org/wiki/#1}}
+\newcommand*{\Wikideref}[1]{\wikideref{#1}{#1}}
+%% Anyway, |\underscorechar| seems to be useful in our macro
+%% definitions. The name is inspired by \LaTeX's
+%% `\@backslashchar' and `\@percentchar':
+\newcommand \underscorechar {}
+{\@makeother\_ \gdef\underscorechar{_}}
+%% \strong{Note:} It would be natural to replace `\Wikideref'
+%% by equipping `\wikideref' with an optional argument---with
+%% \LaTeX. With 'blog.sty' however, where this code is now
+%% taken from, optional arguments didn't work.
+%% Later we might indeed in a similar manner to dealing
+%% with 'hyperref' at `\begin{document}' introduce optional
+%% arguments for the case of typesetting.---Analogues apply
+%% in the sequel again. [2011/01/24, TODO]
+%%
+%% |\itwikideref| is an italic variant of `\wikideref':
+\newcommand*{\itwikideref}[2]{\wikideref{#1}{\textit{#2}}}
+%% |\wikienref{<wiki-id>}{<lemma>}| refers to the English Wikipedia:
+\newcommand*{\wikienref}[1]{\httpref{en.wikipedia.org/wiki/#1}}
+%% By analogy to `\Wikideref',
+%% |\Wikienref{<lemma>}| saves you from repeating <lemma>:
+%% %% abbreviates `\wikienref{<lemma>}{<lemma>}':
+\newcommand*{\Wikienref}[1]{\wikienref{#1}{#1}}
+%% Quite often, programs share their names with movies,
+%% biological species, etc.,
+%% then disambiguation is required. Usually, the movie is irrelevant
+%% and we don't want to display the disambiguation.
+%% The following macros save you from typing the underscore
+%% (didn't spaces suffice sometimes?) %% TODO 2011/01/24
+%% and the round parantheses.
+%% |\wikiendisambref{<term>}{<suffix>}{<text>}|
+%% links to
+%% \[`http://en.wikipedia.org/wiki/<term>_(<suffix>)'\]
+%% while displaying <text> as link text only:
+\newcommand*{\wikiendisambref}[2]{%
+ \wikienref{#1\underscorechar (#2)}}
+%% |\Wikiendisambref{<term>}{<suffix>}|
+%% does the same when <text> is the same as <term>:
+\newcommand*{\Wikiendisambref}[2]{%
+ \wikienref{#1\underscorechar (#2)}{#1}}
+%% Italic variant |\itwikienref| of `\wikienref'
+%% ('blog.sty' had `\emwikienref' instead):
+\newcommand*{\itwikienref}[2]{\wikienref{#1}{\textit{#2}}}
+%% |\urluml{<ascii-char>}| as of 2010/05/25
+%% (not sure if it ever worked or was actually needed):
+\newcommand*{\urluml}[1]{\csname urluml:#1\endcsname}
+\@namedef{urluml:a}{\#C3\#A4}
+\@namedef{urluml:o}{\#C3\#B6}
+\@namedef{urluml:u}{\#C3\#BC}
+\@namedef{urluml:s}{\#C3\#9F} %% 2010/08/09
+%% For \strong{anchors}, \qtd{&#} can be used with 'blog.sty'---and
+%% even with 'hyperref'.
+%% \par\smallskip\noindent
+%% \strong{Example:}\quad
+%% `\wikienref{TeX#History}{\TeX}'
+%% \ for \
+%% \wikienref{TeX#History}{\TeX}.
+%%
+%% == \TeX-related == %% 2010/08/24
+%% === CTAN ===
+%% |\bytopicref{<anchor>}{<text>}|
+%% makes <text> a link to <anchor> of J\"urgen Fenn's
+%% Topical Index of the \TeX\ Catalogue. You find the <anchor>
+%% by clicking at the respective TOC entry on top of the page
+%% and then read the URL from the browser's navigation display.
+\newcommand*{\bytopicref}[1]{%
+ \httpref{mirror.ctan.org/help/Catalogue/bytopic.html\##1}}
+%% (Example:\quad `\bytopicref{html}{HTML}' \ for \ \bytopicref{html}{HTML}.)
+%%
+%% % `\newcommand*{\ctanref}[1]{\httpref{ctan.org/#1}}'
+%% % once was replaced in 'blog.sty' by what will now be
+%% |\tugctanref{<path>}{<text>}|
+%% makes <text> a link
+%% to a \TeX~Archive directory or file <path>:
+\newcommand*{\tugctanref}[1]{%
+ \httpref{tug.ctan.org/tex-archive/#1}}
+%% %% corr. 2010/11/23:
+%% $|\ctanpkgref{<pkg-name>}|$
+%% makes <text> a link to the CTAN package info page for
+%% the package <pkg-name>. $|\CtanPkgRef{<name>}{<Name>}|$
+%% is a variant for the cases where authors have a special idea
+%% <Name> using some capital letters when they describe their packages
+%% (ASCII versions of ``Logos" such as `BibTeX')
+%% while the identifier <name> doesn't allow capital letters.
+%% %% 2011/01/24:
+%% Also, <Name> may be a package from a \emph{bundle} <name>
+%% where <name> has a description page while <Name>
+%% doesn't have its \emph{own} description page
+%% (such as \CtanPkgRef{nicetext}{fifinddo}).
+\newcommand*{\CtanPkgRef}[2]{%
+ \httpref{ctan.org/pkg/#1}{\pkgnamefmt{#2}}}
+\newcommand*{\ctanpkgref}[1]{\CtanPkgRef{#1}{#1}}
+%% Instead of |\pkgnamefmt{<pack-name>}|,
+%% 'blog.sty' had `\prg{<pack-name>}', without a proper
+%% implementation. For typesetting, choosing `\pkgnamefmt'
+%% as `\textsf' seems to conform to common practice today.
+%% The following code may later be suppressed at some package options,
+%% as with the choice for `\httpref': %% TODO 2011/01/24
+\@ifdefinable\pkgnamefmt {\let\pkgnamefmt\@firstofone}
+\AtBeginDocument {\let\pkgnamefmt\textsf}
+%%
+%% === TUG ===
+%% |\tugref{<path>}{<text>}| makes <text> a link
+%% to <path> on domain `tug.org':
+\newcommand*{\tugref}[1]{\httpref{tug.org/#1}}
+%% ==== texhax ====
+%% |\texhaxref{<id>}{<text>}| makes <text> a link
+%% to the TUG web page displaying
+%% a texhax posting. You find <id> by searching
+%% `tug.org/pipermail/texhax/' and then reading the URL.
+%% |\THref{<id>}| saves you from choosing <text>
+%% and uses `texhax' instead.
+\newcommand*{\texhaxref}[1]{\tugref{pipermail/texhax/#1}}
+\newcommand*{\THref}[1]{\texhaxref{#1}{texhax}}
+%% (It was `\prg{texhax}' in 'blog.sty', to have something
+%% logo-like, without a good idea how to implement it.)
+%%
+%% |\texhaxpref{<id-code>}{<text>}| is a variant
+%% of `\texhaxref' where in place of <id>
+%% you only type the third and fourth digit of the
+%% year, then a `-', then the (arabic) number of
+%% the month, then another `-', and then actual
+%% internal identifier
+%% (a number of six digits preceding `.html' of the URL).
+%% I made this macro because I prefer typing to copying
+%% from the URL.
+\newcommand*{\texhaxpref}[1]{% %% 2010/09/07
+ \texhaxref{20\@texhax@parse#1/.html}}
+\def\@texhax@parse#1-#2-#3/{%
+ #1-%
+ \ifcase #2\or
+ January\or February\or March\or April\or
+ May\or June\or July\or August\or
+ September\or October\or November\or December% 2010/12/23
+ \fi
+ /#3}
+%% TODO: `\texhaxPref#1' searches list of offsets
+%% to determine year/month from id
+%%
+%% ==== Other ====
+%% |\tugbartref{<filename-base>}{<text>}| makes <text>
+%% a link to the TUGboat article `<filename-base>.pdf':
+\newcommand*{\tugbartref}[1]{\tugref{TUGboat/Articles/#1.pdf}}
+%% |\TUGIref{<anchor>}{<text>}| makes text a link to an <anchor>
+%% on the TUG web page entitled \qtd{TeX Resources on the Web}
+%% (e.g., \TUGIref{web}{\qtd{Web Projects}}):
+\newcommand*{\TUGIref}[1]{\tugref{interest.html\##1}}
+%%
+%% === UK FAQ ===
+%% |\ukfaqref{<label>}{<text>}| makes <text> a link to
+%% the UK~\TeX~FAQ page with ``label"~= <label>:
+\newcommand*{\ukfaqref}[1]{\httpref{%
+ www.tex.ac.uk/cgi-bin/texfaq2html?label=#1}}
+%%
+%% == Leaving == %% 2011/01/24
+\endinput
+%%
+%% == VERSION HISTORY ==
+v0.1 2011/01/24 new file, code from blog.sty v0.3