summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/morehype
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-12-21 23:32:22 +0000
committerKarl Berry <karl@freefriends.org>2012-12-21 23:32:22 +0000
commite09950f439263dd3649fc0d9bf357b0f124d247c (patch)
tree1cb95afbfec7c2e1362c7d6afcc4df7ebb36d596 /Master/texmf-dist/tex/latex/morehype
parent0dbb0a9f652efcecaf1d844cf8177d3b7a29fd03 (diff)
morehype (21dec12)
git-svn-id: svn://tug.org/texlive/trunk@28610 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/morehype')
-rw-r--r--Master/texmf-dist/tex/latex/morehype/blog.sty13
-rw-r--r--Master/texmf-dist/tex/latex/morehype/blogdot.css41
-rw-r--r--Master/texmf-dist/tex/latex/morehype/blogexec.sty18
-rw-r--r--Master/texmf-dist/tex/latex/morehype/morehype.RLS3
-rw-r--r--Master/texmf-dist/tex/latex/morehype/texblog.fdf15
-rw-r--r--Master/texmf-dist/tex/latex/morehype/texlinks.sty524
6 files changed, 453 insertions, 161 deletions
diff --git a/Master/texmf-dist/tex/latex/morehype/blog.sty b/Master/texmf-dist/tex/latex/morehype/blog.sty
index 5b99b2758de..e6b4fc532c7 100644
--- a/Master/texmf-dist/tex/latex/morehype/blog.sty
+++ b/Master/texmf-dist/tex/latex/morehype/blog.sty
@@ -1,4 +1,4 @@
-\ProvidesPackage{blog}[2012/11/29 v0.8 simple fast HTML (UL)]
+\ProvidesPackage{blog}[2012/12/20 v0.81 simple fast HTML (UL)]
%% copyright (C) 2010 2011 2012 Uwe Lueck,
%% http://www.contact-ednotes.sty.de.vu
%% -- author-maintained in the sense of LPPL below.
@@ -657,6 +657,12 @@
%% `{verbatim}' follow policy~(ii):
\useHTMLelement*{enumerate}{ol}
\useHTMLelement*{itemize} {ul}
+%% |\begin{enumtype}{<type>}| starts an enumeration
+%% environment with enumeration type <type>
+%% which can be one out of `1', `a', `A', `i', `I'
+%% (somewhat resembling the functionality of the
+%% \ctanpkgref{enumerate} package):
+\newenvironment{enumtype}[1]{<ol \@type{#1}}{</ol>}
%% %% 2010/11/16:
%% With 'blog.sty', |{verbatim}| really doesn't work much
%% like its original \LaTeX\ variant. \TeX\ macros inside
@@ -1083,6 +1089,8 @@
%% |\ss| from Plain~\TeX\ and \LaTeX\ is used for the ``s-z ligature",
%% the German ``\Wikienref{sharp s}":
\renderHTMLsymbol{\ss}{szlig}
+%% Plain~\TeX's and \LaTeX's |\-| becomes a soft hyphen:
+\renderHTMLsymbol{\-}{shy}
%% |\copyright|:
\renderHTMLsymbol{\copyright}{copy}
%% |\bullet| %% 2011/03/29
@@ -1575,3 +1583,6 @@ v0.8 2012/06/07 \underbar
2012/11/16 \TagSurr and \MetaTag with space again
2012/11/19 \endgraf -> <p>
2012/11/29 `blogligs.sty', `markblog.sty' ([ligs], [mark])
+part of MOREHYPE RELEASE r0.7
+v0.81 2012/12/20 \-, {enumtype}
+part of MOREHYPE RELEASE r0.8
diff --git a/Master/texmf-dist/tex/latex/morehype/blogdot.css b/Master/texmf-dist/tex/latex/morehype/blogdot.css
deleted file mode 100644
index 31f8e9ddeed..00000000000
--- a/Master/texmf-dist/tex/latex/morehype/blogdot.css
+++ /dev/null
@@ -1,41 +0,0 @@
-/* blogdot.css for blogdot.sty (morehype bundle) 2011/10/05 */
-/* (C) 2011 Uwe Lueck www.contact.uwe.lueck.de.vu */
-/* 2011/09/21 aus blog/plain.css, 2011/09/26 gekürzt, Versuche, Umbau */
-/*
-b, h1, h2, h3, h4, div, p, td, th, body, span, table, ol, li, a, ul {
-font-family:Arial,Verdana,"Lucinda Sans",sans-serif;
-color:#000000;
-font-size:21px;
-}
-*/
-
-h1 { font-size: 42px; margin-bottom: 21px }
-h2 { font-size: 30px; margin-bottom: 21px }
-h3 { font-size: 24px; }
-h4 { font-size: 21px; }
-
-/* body, td, th, div, p, ul, li, em, strong */
-td {
-font-family:Arial,Verdana,"Lucinda Sans",sans-serif;
-color:#000000;
-font-size: 21px
-}
-
-p { margin-bottom:0px }
-dl, ol, ul {
-/* padding-left: 18px; */
-padding-left: 1em;
-margin-left: 1em; margin-top: 18px; margin-bottom: 18px;
-vertical-align: middle;
-}
-dt { margin: 0px; margin-top: 18px; margin-bottom: 9px; padding: 0px }
-li { margin: 0px; margin-top: 9px; margin-bottom: 9px; padding: 0px }
-blockquote { margin-left: 2em }
-pre { margin-left:2em; margin-top:0px }
-
-/* table { margin: 0px; margin-top: 9px; margin-bottom: 18px; padding: 0px} */
-
-a:link { color:#0000d0; text-decoration:none; }
-a:visited { color:purple; text-decoration:none; }
-a:hover { color:blue; text-decoration:underline; }
-a:active { color:blue; text-decoration:underline; }
diff --git a/Master/texmf-dist/tex/latex/morehype/blogexec.sty b/Master/texmf-dist/tex/latex/morehype/blogexec.sty
index 917b847d556..0767561cc87 100644
--- a/Master/texmf-dist/tex/latex/morehype/blogexec.sty
+++ b/Master/texmf-dist/tex/latex/morehype/blogexec.sty
@@ -1,5 +1,5 @@
\NeedsTeXFormat{LaTeX2e}[1994/12/01] %% \newcommand* etc.
-\ProvidesPackage{blogexec}[2012/08/29 v0.2
+\ProvidesPackage{blogexec}[2012/12/20 v0.21
assignments with blog.sty (UL)]
%% copyright (C) 2011 Uwe Lueck,
%% http://www.contact-ednotes.sty.de.vu
@@ -82,7 +82,7 @@
%% TODO: default? 0-arg interception?
%%
%% == Intercepting Single-Parameter Commands ==
-%% === The General Method ===
+%% === The General Method ===
%% Macros to be intercepted that have a single argument will be
%% collected in |\blogOneArgInterceptions|:
\InitializeListMacro\blogOneArgInterceptions
@@ -155,7 +155,7 @@
}%
|endgroup
%% %% was single `%' 2011/11/20
-%% === &\EXECUTE ===
+%% === &\EXECUTE ===
%% |\EXECUTE{<run>}| runs <run> and is removed from the
%% output line:
\MakeBlogOneArgInterception\EXECUTE{#2}{}
@@ -177,7 +177,7 @@
\def\BlogInterceptions{\blogTryOneArgCmd\EXECUTE}}
\def\BlogInterceptExecute{\@ifstar@intercept@hash\blog@icl@exec}
%%
-%% === &\begin\ and &\end ===
+%% === &\begin\ and &\end ===
%% At present (2011/11/06), only |\begin{<env>}| will run %% box 2012/08/28
%% settings. Macros `\<env>' and `\end<env>' will expand
%% in the `.html' as with 'blog.sty' alone, not touched here.
@@ -223,6 +223,15 @@
%% (redefine it in italic environments)
%% \ 2.~code indenting (cf.~\ctanpkgref{inputtrc})
%%
+%% === Skipping Source Code ===
+%% The |{noblog}| environment ``suppresses" \TeX~source
+%% code in the sense that it does not produce \HTML~code---while
+%% 'blog.sty''s `{commentlines}' produces an \HTML~comment.
+\newenvironment*{noblog}{}{} %% 2012/03/04 from ...
+\MakeBlogBeginRun{noblog}{%
+ \BlogInterceptEnvironments %% 2012/06/22
+ \let\WriteResult\@gobble}
+%%
%% === A Comfortable Table Environment ===
%% As an application of |\MakeBlogBeginRun| for 'blog.sty''s
%% |{stdallrulestable}|, we provide \lq`|'\rq\ as an active character
@@ -278,3 +287,4 @@ v0.1 2011/11/04 started; arrived at \EXECUTE
v0.2 2012/08/28 \begin/\end revised (\StripEsc wrong)
2012/08/29 \ChangeBlogBeginRun, \CopyBlogBeginRun,
\blog@x
+v0.21 2012/12/20 {noblog}
diff --git a/Master/texmf-dist/tex/latex/morehype/morehype.RLS b/Master/texmf-dist/tex/latex/morehype/morehype.RLS
index f3ed4340029..ac20a063628 100644
--- a/Master/texmf-dist/tex/latex/morehype/morehype.RLS
+++ b/Master/texmf-dist/tex/latex/morehype/morehype.RLS
@@ -1,4 +1,7 @@
\ProvidesFile{morehype.RLS} %% RELEASE INFO
+ [2012/12/20 r0.8 texlinks v0.8 tug.ctan...,
+ blog v0.81 enum...,
+ blogexec v0.21 noblog]
[2012/12/08 r0.71 texlinks.sty v0.71
\string\ctanannpref\space corr.]
[2012/12/07 r0.7b blog.sty wiki-like | texlinks documentation fix]
diff --git a/Master/texmf-dist/tex/latex/morehype/texblog.fdf b/Master/texmf-dist/tex/latex/morehype/texblog.fdf
index 08792a4d4a6..fc027745c17 100644
--- a/Master/texmf-dist/tex/latex/morehype/texblog.fdf
+++ b/Master/texmf-dist/tex/latex/morehype/texblog.fdf
@@ -1,4 +1,4 @@
-\ProvidesFile{texblog.fdf}[2012/12/07 extra blog settings]
+\ProvidesFile{texblog.fdf}[2012/12/20 extra blog settings]
%%
%% macros I use for my note pages
%% -- Uwe Lueck, www.contact-ednotes.sty.de.vu
@@ -49,12 +49,7 @@
\newcommand*{\privmapName}{privmap}
%%
\makeatletter %% 2011/10/12
-\@ifpackageloaded{blogexec}{% %% 2012/03/14
-\newenvironment*{noblog}{}{} %% 2012/03/04 from ...
-\MakeBlogBeginRun{noblog}{%
- \BlogInterceptEnvironments %% 2012/06/22
- \let\WriteResult\@gobble}
-}{}
+%% {noblog} moves to blogexec.sty 2012/12/20
%% body colors (started 2010/09/15):
\let\simplebody\body
\renewcommand*{\body}{%
@@ -321,8 +316,7 @@
\newcommand*{\Fileancref}[2]{% %% 2012/09/11
\fileancref{#1}{#2}{\file{#1\##2}}} %% 2012/09/11
\newcommand*{\urlhref}[1]{\href{#1}{\urlfmt{#1}}} %% 2011/08/19
-\newcommand*{\domainref}[2]{% %% 2012/06/08
- \httpref{#1/#2}{\urlfmt{#1}}}
+%% \domainref moves to texlinks.sty 2012/12/15
\newcommand*{\localfilenewref}{\hnewref{}} %% 2011/10/12
%% Ubuntu-Wiki 2012/09/13:
\newcommand*{\ubuntuurl}{wiki.ubuntuusers.de}
@@ -476,7 +470,8 @@
\newcommand*{\samehtmlline}[1]{\ParseLigs{#1}} %% 2011/12/23
%%
%% enumeration styles:
-\newenvironment{enumtype}[1]{<ol \@type{#1}}{</ol>}
+% \newenvironment{enumtype}[1]{<ol \@type{#1}}{</ol>}
+%% <- moves to blog.sty 2012/12/20
\newenvironment{enumerate-a}{\enumtype a} %% 2011/08/15
{\endenumtype}
\newenvironment{enumerate-i}{\enumtype i} %% 2011/08/17
diff --git a/Master/texmf-dist/tex/latex/morehype/texlinks.sty b/Master/texmf-dist/tex/latex/morehype/texlinks.sty
index ace1e10d141..2ba0585b1db 100644
--- a/Master/texmf-dist/tex/latex/morehype/texlinks.sty
+++ b/Master/texmf-dist/tex/latex/morehype/texlinks.sty
@@ -1,5 +1,5 @@
\NeedsTeXFormat{LaTeX2e}[1994/12/01] %% \newcommand* etc.
-\ProvidesPackage{texlinks}[2012/12/08 v0.71 TeX-related links (UL)]
+\ProvidesPackage{texlinks}[2012/12/20 v0.8 TeX-related links (UL)]
%% copyright (C) 2011 2012 Uwe Lueck,
%% http://www.contact-ednotes.sty.de.vu
%% -- author-maintained in the sense of LPPL below.
@@ -15,7 +15,8 @@
%%
%% http://www.contact-ednotes.sty.de.vu
%%
-%% == Outline ==
+%% == Links in General == %% 2012/12/15
+%% === Outline ===
%% % Almost %% 2011/07/23
%% % all the %% including https 2011/08/27
%% The link macros of 'texlinks' are based on macros
@@ -41,15 +42,15 @@
%% links with their \URL\ as the displayed text in \emph{footnotes}
%% (or endnotes). It may even be useful with \HTML\ to present
%% the \URL s displayed in some
-%% %% 2011/01/27: %% rm. 2011/10/20
-%% ``appendix."---This idea has been resumed in v0.2 only,
-%% |\urlfoot|.
+%% %% 2011/01/27: %% rm. 2011/10/20
+%% ``appendix."---This idea has been resumed in v0.2 only, |\urlfoot|
+%% (\secref{urlfoot}). %% 2012/12/15
%% %
%% % 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 ==
+%% === Package Options ===
%% Somebody may want to suppress a definition of `\httpref'
%% at `\begin{document}' ... [2011/01/24, TODO]
%% %% 2011/02/10:
@@ -61,7 +62,8 @@
%% useful for different purposes than running 'blog.sty'.
\ProcessOptions
%%
-%% == Fonts for \URL s and File/Package Names ==
+%% === Fonts for \URL s and File/Package Names ===
+%% \label{sec:fonts} %% 2012/12/19
%% %% ** Fonts for \URL s, File Names, and Package Names **
%% %% new 2011/10/19, TODO: `meansltx'? vgl. `makedoc.cfg'
%% This section ``provides" markup for displaying \URL s (|\urlfmt|),
@@ -105,7 +107,7 @@
%% that web pages use sans-serif as the \emph{normal} font ...
%%
%% %% moving \httpsref 2011/08/27:
-%% == Providing &\httpref\ and &\httpsref ==
+%% === Providing &\httpref\ and &\httpsref ===
%% %% rm. \kern-\baselineskip 2011/10/10
%% \[|\httpref{<host-path[#frag]>}{<text>}|\]
%% should display <text>
@@ -121,10 +123,10 @@
}{\newcommand*{\httpref} [1]{\href {http://#1}}%
\newcommand*{\httpsref}[1]{\href{https://#1}}}}
%%
-%% == Variants of &\httpref\ and &\httpsref ==
+%% === Variants of &\httpref\ and &\httpsref ===
%% |\NormalHTTPref| may be used as an alias for `\httpref'
%% in situations where the latter has been redefined %% v0.2
-%% (as in Section~\ref{sec:urlfoot}):
+%% (as in \secref{urlfoot}):
\AtBeginDocument{%% TODO: options, guarded \let (mine, HO)
\@ifdefinable\NormalHTTPref{\let\NormalHTTPref\httpref}}
%% |\ithttpref{<url>}{<text>}| displays <text> in italics:
@@ -132,14 +134,7 @@
%% However, I seem never to have used it. And I would now
%% prefer |\metahttpref| TODO ...
%%
-%% === \URL s as Links ===
-%% With |\urlhttpref{<url>}|, that \URL\ <url> is displayed:
-\newcommand*{\urlhttpref}[1]{%
- \NormalHTTPref{#1}{\urlfmt{\httpprefix#1}}}
-%% %% moved up here 2011/10/20
-%% In 'blog.sty' (as of 2010/05/26), there was a command
-%% `\urlref' instead of `\urlhttpref'. It did not provide `\urlfmt'.
-%%
+%% ==== Protocol Prefix ==== %% 2012/12/15
%% |\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
@@ -158,7 +153,31 @@
%% With |\urlhttpsref{<url>}|, we \emph{force} displaying \qtd{`https://'}:
\newcommand*{\urlhttpsref}[1]{\httpsref{#1}{\urlfmt{https://#1}}}
%%
-%% === Linking \URL s in Footnotes === %% 2011/08/27
+%% ==== The \URL\ as the Link Text Phrase ====
+%% With |\urlhttpref{<url>}|, that \URL\ <url> is displayed:
+\newcommand*{\urlhttpref}[1]{%
+ \NormalHTTPref{#1}{\urlfmt{\httpprefix#1}}}
+%% %% moved up here 2011/10/20
+%% In 'blog.sty' (as of 2010/05/26), there was a command
+%% `\urlref' instead of `\urlhttpref'. It did not provide `\urlfmt'.
+%%
+%% |\domainref{<domain>}{<path>}| is similar, but is intended
+%% to show the domain part <domain> of the \URL\
+%% `<domain>/<path>' only.
+%% This may be useful when the entire \URL\ does not look
+%% nice, while the domain name is a kind of logo,
+%% and when comparing what different web portals have
+%% to say about the same matter, such as the web versions
+%% of newspapers or magazines. So you may compare how
+%% \domainref{www.ctan.org}{pkg/morehype} and
+%% \domainref{tug.ctan.org}{pkg/morehype} inform about
+%% the 'morehype' bundle (v0.8).
+%% The command is also used in \secref{wiki-stack}
+%% for `tex.stackexchange.com'.
+%% %% texblog 2012/06/08; v0.8 here
+\newcommand*{\domainref}[2]{\httpref{#1/#2}{\urlfmt{#1}}}
+%%
+%% ==== Linking \URL s in Footnotes ==== %% 2011/08/27
%% \label{sec:urlfoot}
%% |\foothttpurlref{<url>}| just is like
%% `\footnote{\urlhttpref{<url>}}':
@@ -178,7 +197,7 @@
\let\httpref\foothttpurlref
\let\httpprefix\theHTTPprefix %% TODO customizable!?
\csname #1\endcsname{#2}{}}}
-%% \strong{Example:}
+%% \begin{example}\leavevmode
%% \[`\CtanPkgRef{morehype}{MoreHype}'
%% \mbox{\quad and\quad } `\ctanpkgref{morehype}'\]
%% are provided below for linking to
@@ -201,36 +220,87 @@
%% A local `\let\ctanpkgref\CtanPkgRef' could help,
%% but right now I prefer waiting for a better idea.
%% [TODO] %% 2011/01/27
+%% \end{example}
%%
%% v0.3: Now that using `\urlfoot' and `ctanpkgref' together
%% is so clumsy, while I use it quite often, %% 2011/02/10
%% we get |\urlpkgfoot{<package-id>}|, abbreviating
%% `\urlfoot{CtanPkgRef}{<package-id>}':
\newcommand* {\urlpkgfoot} {\urlfoot{CtanPkgRef}}
-%% === \URL\ Bases === %% 2012/03/09
+%% ==== \URL\ Bases ==== %% 2012/03/09
%% \label{sec:bases}
%% We typically refer to many web pages under a certain domain,
%% or in certain subdirectories there. Before v0.6,
%% I made many definitions like
%% \[`\newcommand*{\myref}[1]{\httpref{<my-base>/#1}}'\]
%% for this purpose.
-%% Storing the definition of such a `\myref' uses 6 tokens
-%% (including parameter text---TODO) in addition to those from <my-base>.
+%% Storing the definition of such a `\myref' uses 8 tokens
+%% %% including parameter ... %% todo done 2012/12/17
+%% in addition to those from <my-base>.
%% With
-%% \[`\newcommand*{\myref}{\httpbaseref{<my-base>}'\]
-%% we need 3 tokens instead, using |\httpbaseref{<base>}{<rest>}|
+%% \[`\newcommand*{\myref}{\httpbaseref{<my-base>}}'\] %% } 2012/12/17
+%% we need 5 %% was 3 2012/12/17
+%% tokens instead, using |\httpbaseref{<base>}{<rest>}|
%% defined as follows:
\newcommand*{\httpbaseref}[2]{\httpref{#1/#2}}
%% We change many definitions in ensuing sections accordingly.
%%
%% The situation is similar with (many) anchors of a (large) web page.
%% With v0.6, we introduce |\httpancref{<page-url>}{<anchor>}|---perhaps,
-%% with `\mirrorctanref' (Sec.~\ref{sec:bytopic}) etc.? TODO
+%% with `\mirrorctanref' (\secref{texcat}) etc.? TODO
% \newcommand*{\httpancref}[2]{\httpref{#1\##2}}
%%
-%% == Wikipedia ==
+%%
+%% == Google == %% 2012/12/17
+%% |\googleref{<keywords>}{<text>}| \ generates a \Wikiref{Google}
+%% search page with keywords from <keywords> in which they
+%% are separated by \qtdcode{+}, as in
+%% \[`\googleref{tex+friends}{\TeX~\& friends}'\]
+%% which results in (I'm curious ...)
+%% \googleref{tex+friends}{\TeX~\& friends:}
+\newcommand*{\googlecom}{google.com/}
+\newcommand*{\googleref}[1]{\httpref{\googlecom\#q=#1}}
+%% |\googlemapsref{<keywords>}{<text>}| \ generates a
+%% \wikiref{Google Maps}{Google map} from the <keywords>.
+%% <keywords> may compose an address for a \TeX\ users' meeting,
+%% so Google may show them their way.
+%% \[<keywords>=\mbox{\qtdcode{munich+offenbachstrasse+21}}\]
+%% results in \googlemapsref{munich+offenbachstrasse+21}
+%% {where this has been written.}
+\newcommand*{\googlemapsref}[1]{\httpref{maps.\googlecom maps?q=#1}}
+%%
+%% == Wikipedia ==
%% %% TODO separate wikilink.sty? https:!?
-%% === Backbones ===
+%% === Overview ===
+%% \label{sec:wiki-stack}
+%% The present section on links to Wikipedia articles
+%% starts with the rather obvious
+%% \[|\wikilangref{<language-code>}{<lemma>}{<text>}|\]
+%% but then gets somewhat technical. \secref{langcode}
+%% may please the user again by
+%% \[|\Wikiref{<lemma>}|\]
+%% where the language version of the Wikipedia is chosen
+%% according to a macro `\langcode' expanding to \qtdcode{en}
+%% by default. On
+%% \domainref{tex.stackexchange.com}{/questions/84878},
+%% I have posted the following ``minimal working example:"
+%% \begin{verbatim}
+%% \documentclass{minimal}
+%% \usepackage{hyperref,texlinks}
+%% \begin{document}
+%% Look up \wikiref{Charlie Bucket}{Wikipedia}
+%% for \Wikiref{Charlie Bucket}.
+%% \end{document}
+%% \end{verbatim}
+%% You may find it as `wiki_mwe.tex' with outcome `wiki_mwe.pdf'.
+%%
+%% Apart from `\langcode', more advanced things are
+%% \emph{disambiguation} (\secref{wiki-back}),
+%% ``piped links" (\secref{wiki-pipe}), and
+%% special characters in \URL s (\secref{wiki-urls}).
+%%
+%% === Backbones ===
+%% \label{sec:wiki-back}
%% As of v0.6, we have a \dqtd{backbone} macro
%% \[|\wikilangref{<language-code>}{<lemma>}{<text>}|\]
%% for links to Wikipedia.
@@ -240,12 +310,12 @@
%% or \lq`en'\rq\ for English ones. <lemma> is the identifier of
%% the article, and <text> is displayed as the link:
% \newcommand*{\wikilangref}[2]{\httpref{#1.wikipedia.org/wiki/#2}}
-%% <- 2012/03/09 etc. with Sec.~\ref{sec:bases} ->
+%% <- 2012/03/09 etc. with \secref{bases} ->
\newcommand*{\wikilangref}[1]{\httpbaseref{#1.wikipedia.org/wiki}}
%% There is |\Wikilangref{<language-code>}{<lemma>}|
%% for the case that <lemma> and <text> are the same.
%% With v0.7 however, this command becomes more powerful,
-%% see Section~\ref{sec:pipe}.
+%% see \secref{wiki-pipe}.
% \newcommand*{\Wikilangref}[2]{\wikilangref{#1}{#2}{#2}}
%% `\wikilangref{<lang>}[<lemma>]{<text>}' would be nicer;
%% %% <- shortened 2012/01/06 ->
@@ -255,9 +325,9 @@
%% Quite often, programs share their names with movies,
%% biological species, etc., then lemma disambiguation is required.
%% Usually, we don't want to display the disambiguation.
-%% \[|\Wikilangdisambref{<language-code>}{<term>}{<suffix>}|\]
+%% \[|\Wikilangdisambref{<language-code>}{<term>}{<tag>}|\]
%% will link to
-%% \[`http://<language-code>.wikipedia.org/wiki/<term>_(<suffix>)'\]
+%% \[`http://<language-code>.wikipedia.org/wiki/<term>_(<tag>)'\]
\newcommand*{\Wikilangdisambref}[3]{\wikilangref{#1}{#2 (#3)}{#2}}
%% There %% was `Their' 2011/07/23
%% was something like a more general variant |\wikidisambref|,
@@ -266,14 +336,10 @@
%%
%% For \strong{anchors}, \qtd{&#} can be used with 'blog.sty'---and
%% even with 'hyperref'.
-%% \par\smallskip\noindent
-%% \strong{Example:}\quad
-%% `\wikilangref{en}{TeX#History}{\TeX}' %% was wikilangenref 2012/05/13
-%% \ for \
-%% \wikilangref{en}{TeX#History}{\TeX}.
+%% \simpleexample{\wikilangref{en}{TeX#History}{history}}
%%
%% === Piped Links ===
-%% \label{sec:pipe}
+%% \label{sec:wiki-pipe}
%% v0.7 emulates Wikipedia's
%% \wikiref{Help:Links\#Piped_link}{piped links} %% was "Piped links" 2012/12/01
%% as with Wikipedia source code \[`[[Pipeline|Pipe]]'\]
@@ -339,9 +405,9 @@
\newcommand*{\Wikideref}{\Wikilangref{de}}
%% |\Wikienref{<lemma>}| is `\Wikideref''s analogue for English:
\newcommand*{\Wikienref}{\Wikilangref{en}}
-%% |\Wikidedisambref{<lemma>}{<suffix>}| chooses a disambiguation
-%% according to <suffix> for the German Wikipedia,
-%% |\Wikiendisambref{<lemma>}{<suffix>}| for the English one:
+%% |\Wikidedisambref{<lemma>}{<tag>}| chooses a disambiguation
+%% according to <tag> for the German Wikipedia,
+%% |\Wikiendisambref{<lemma>}{<tag>}| for the English one:
\newcommand*{\Wikidedisambref}{\Wikilangdisambref{de}}
\newcommand*{\Wikiendisambref}{\Wikilangdisambref{en}}
%%
@@ -362,11 +428,14 @@
%% \ `\renewcommand*{\langcode}{<lc>}' \
%% and adjusts a number of other settings.
\newcommand*{\wikiref}{\wikilangref\langcode}
-%% |\Wikiref| and |Wikidisambref| are the obvious analogues:
+%% %% adding args 2012/12/17:
+%% |\Wikiref{<lemma>}| and |Wikidisambref{<term>}{<add>}|
+%% are the obvious analogues (cf. \secref{wiki-back}):
\newcommand*{\Wikiref}{\Wikilangref\langcode}
\newcommand*{\Wikidisambref}{\Wikilangdisambref\langcode}
%%
%% === Blanks and Umlauts in \URL s and Anchors ===
+%% \label{sec:wiki-urls}
%% %% <- renamed 2011/05/17 reworked:
%% |\underscorechar| seemed to be useful in macro
%% definitions. The name was inspired by \LaTeX's
@@ -424,22 +493,30 @@
% \@namedef{urluml:u}{\#C3\#BC}
% \@namedef{urluml:s}{\#C3\#9F} %% 2010/08/09
%%
-%% == \TeX-related == %% 2010/08/24
-%% === \CTAN ===
-%% ==== Directories and Files in a \TeX\ Archive ====
+%% == \TeX-related == %% 2010/08/24
+%% === \code{\html} === %% 2012/12/18
+%% The shorthand macro |\html| saves a few tokens for
+%% the standard extension \qtdcode{\html} of \HTML\
+%% files on \TeX-related sites:
+\newcommand*{\html}{.html}
+%%
+%% === \CTAN ===
+%% ==== Directories and Files in a \TeX~Archive ====
%% % `\newcommand*{\ctanref}[1]{\httpref{ctan.org/#1}}'
%% % once was replaced in 'blog.sty' by what will now be
-%% |\tugctanref{<path>}{<text>}|
+%% \[|\tugctanref{<path>}{<text>}|\] %% \[...\] 2012/12/19
%% makes <text> a link
-%% to a \TeX~Archive directory or file <path>:
-\newcommand*{\tugctanref}{\httpbaseref{tug.ctan.org/tex-archive}}
+%% to a \TeX~Archive directory or file <path>.
+%% |\ctanorg| saves a few tokens: %% 2012/12/18
+\newcommand*{\ctanorg}{.ctan.org}
+\newcommand*{\tugctanref}{\httpbaseref{tug\ctanorg/tex-archive}}
%% Alternatively, you can refer to an (automatically chosen)
%% \CTAN\ \emph{mirror}
%% using
%% \[|\mirrorctanref{<path>}{<text>}|.\] %% 2011/10/10 :->.2011/10/21:
%% (I prefer the \emph{appearance} of the
-%% \tugctanref{}{\acro{TUG} archive}, designed by Jim Hefferon.)
-\newcommand*{\mirrorctanref}{\httpbaseref{mirror.ctan.org}}
+%% \tugctanref{}{\TUG\ archive}, designed by Jim Hefferon.)
+\newcommand*{\mirrorctanref}{\httpbaseref{mirror\ctanorg}}
%% You may actually want to ``open" a file <file-name> in <path>
%% on \CTAN,
%% <file-name> displayed as the link text, %% 2011/10/21
@@ -477,60 +554,256 @@
%% using some `\ctanurl'\-`prefix' that you can redefine for
%% accessing your favourite mirror.
%%
-%% ==== J\"urgen Fenn's Topical \TeX\ Catalogue ====
-%% \label{sec:bytopic} %% 2012/03/09
+%% ==== The \TeX\ Catalogue OnLine ====
+%% %% **** J\"urgen Fenn's Topical \TeX\ Catalogue ****
+%% \label{sec:texcat} %% 2012/12/18
+%% % We are not providing access to everything in the
+%% % \catalogueref{}{\TeX~catalogue}.
+%% Before v0.8, only
+%% J\"urgen Fenn's Topical Index of the Catalogue
+%% was supported. v0.8 adds package descriptions displayed
+%% by the Catalogue. The following shorthand
+%% |\catalogueref{<path[#frag]>}{<text>}| is an auxiliary for
+%% both of them (and other <path>s the user might want).
+%% With empty <path>,
+%% it generates an \URL\ of a \catalogueref{}{root}
+%% in a \CTAN\ mirror %% shorthand 2012/12/17
+%% of \meta{The \TeX~Catalogue OnLine}:
+\newcommand*{\catalogueref}[1]{\mirrorctanref{help/Catalogue/#1}}
+%% Some mirrors seem to display the Catalogue's root directory
+%% only this way, while others display ``Welcome" page.
+%% |\cataloguestartref{<text>}| accesses the
+%% \cataloguestartref{\strong{Welcome} (\strong{start})} page surely:
+\newcommand*{\cataloguestartref}{\catalogueref{index\html}}
%% |\bytopicref{<anchor>}{<text>}|
%% \ %% 2011/10/21
-%% makes <text> a link to <anchor> of J\"urgen Fenn's
-%% Topical Index of the \TeX\ Catalogue. You find the <anchor>
+%% makes <text> a link to <anchor> of
+%% \strong{J\"urgen Fenn's Topical Index} %% 2012/12/18
+%% of the \TeX\ Catalogue. You find the <anchor>
%% by clicking at the respective \acro{TOC} entry on top of the page
%% and then read the \URL\ from the browser's navigation display.
-\newcommand*{\bytopicref}[1]{%
- \mirrorctanref{help/Catalogue/bytopic.html\##1}}
+\newcommand*{\bytopicref}[1]{\catalogueref{bytopic\html\##1}}
%% %% <- \mirrorctanref 2012/03/09
-%% (Example:\quad `\bytopicref{html}{\acro{HTML}}' \ for \
-%% \bytopicref{html}{\acro{HTML}}.)
-%%
-%% ==== Jim Hefferon's Package Descriptions ====
-%% For v0.6 %% 2012/04/09
-%% and in the spirit of Sec.~\ref{sec:bases},
-%% we introduce an auxiliary
-%% \[|\ctanorgbaseref{<more-path>}{<text>}|:\]
-\newcommand*{\ctanorgbaseref}{\httpbaseref{ctan.org}}
-%% |\ctanpkgref{<pkg-name>}|
-%% makes <text> a link to the \CTAN\ package info page for
-%% the package <pkg-name>.
-%% |\CtanPkgRef{<name>}{<Name>}|
+%% % \begin{example}
+%% % |\bytopicref{html}{\TeX~to \acro{HTML}}| \ for \
+%% % \simpleexample{\bytopicref{html}{&\TeX~to &\acro{HTML}}}
+%% \simpleexample{\bytopicref{html}{&\TeX~to HTML}}
+%% % \end{example}
+%% \[|\catpkgref{<pkg-name>}|\] makes <pkg-name>
+%% a link to the description of the \strong{package} <pkg-name>
+%% in \meta{The \TeX~Catalogue Online}.
+%% \[|\CatPkgRef{<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') %% was Logos 2012/10/24
+%% (\acro{ASCII} %%% ASCII %% 2012/12/14
+%% versions of ``logos" such as `BibTeX') %% was Logos 2012/10/24
%% 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}{makedoc}---before 2012/04/10!).
-%% %% <- was `fifinddo' 2011/10/20, no with own id.
-\newcommand*{\CtanPkgRef}[2]{%
- \ctanorgbaseref{pkg/#1}{\pkgnamefmt{#2}}}
-\newcommand*{\ctanpkgref}[1]{\CtanPkgRef{#1}{#1}}
+%% doesn't have its \emph{own} description page~...
+%% \simpleexample{\CatPkgRef{morehype}{texlinks}}
+%% \noindent The auxiliary |\@double@first@arg<cmd>{<arg>}|
+%% doubles `{<arg>}' for <cmd>:
+\newcommand*{\catpkgref}{\@double@first@arg\CatPkgRef}
+\newcommand*{\@double@first@arg}[2]{#1{#2}{#2}}
+\newcommand*{\CatPkgRef}[1]{%
+ \cat@ctan@pkg@ref\catalogueref{entries/#1\html}}
+%% |\cat@ctan@pkg@ref<cmd>{<path[#frag]>}{<text>}| %% 2012/12/19
+%% \ ensures that <Name> is typeset as the argument of
+%% `\pkgnamefmt' (\secref{fonts}).
+%% It is used in \secref{sing-pkgs} again:
+\newcommand*{\cat@ctan@pkg@ref}[3]{#1{#2}{\pkgnamefmt{#3}}}
+%% \simpleexample{\catpkgref{morehype}}
+%% % \begin{example}
+%% % \makeatletter \def\ex@mple{\catpkgref{morehype}}%
+%% % \fbox{\strut\expandafter\code\expandafter{\expandafter&\ex@mple}}%
+%% % %% <- bad spaces
+%% % \hskip\labelsep for\hskip\labelsep
+%% % \fbox{\strut\ex@mple}
+%% % |\catpkgref{morehype}| \ for \
+%% % \fbox{\catpkgref{morehype}}
+%% % \end{example}
+%%
+%% ==== Domains for Other Package Descriptions ====
+%% %% **** Other Interfaces to Package Descriptions ****
+%% \label{sec:x.ctan.org}
+%% v0.6 in the spirit of \secref{bases} introduced an auxiliary
+%% \[|\ctanorgbaseref{<path>}{<text>}|\] for accessing Jim
+%% Hef{}feron's package descriptions, as the 'texlinks'
+%% documentation told then. By the advent of ``the new
+%% `www.ctan.org'" announced on \ctanannpref{12-12-006718}{2012-12-12,}
+%% this was falsified. `\ctanorgbaseref' formerly linked to
+%% `ctan.org', i.e., to `www.ctan.org'. The package description
+%% pages under that domain have been changed in December
+%% and no longer call themselves ``Jim Hef{}feron's."
+%% The latter's pages seem to stay available under
+%% `tug.ctan.org'. Major contentual differences at present
+%% (2012-12-18) seem to be:
+%% \begin{enumerate}
+%% \item `www.ctan.org' classifies packages by a new concept
+%% of ``topics," while `tug.ctan.org' classifies them
+%% by ``\strong{keywords}" as well as
+%% by ``\strong{char\-ac\-teri\-za\-tions}" out of which one is
+%% ``primary" and others are ``secondary."
+%% \item `tug.ctan.org' like the Catalogue as in \secref{texcat}
+%% provides links to single documentation files,
+%% unlike `www.ctan.org'.
+%% \end{enumerate}
+%%
+%% In order to keep as much as possible, I introduce new
+%% `\tugctan'\codedots\ and `\wwwctan'\codedots\ commands.
+%% The first ones link to `tug.ctan.org', the others to
+%% `www.ctan.org'. The user may choose whether the
+%% `\ctan'\codedots\ commands link to `tug.ctan.org' or to
+%% `www.ctan.org'.
+%%
+%% |\tugctanorgbaseref{<path>}{<text>}| \ links to `tug.ctan.org'
+%% independently of the choice for `\ctanorgbaseref':
+\newcommand*{\tugctanorgbaseref}{\httpbaseref{tug\ctanorg}}
+%% |\wwwctanorgbaseref{<path>}{<text>}| \ links to `www.ctan.org'
+%% independently of the choice for `\ctanorgbaseref':
+\newcommand*{\wwwctanorgbaseref}{\httpbaseref{www\ctanorg}}
+%% |\useTUGctanbases| \ lets `\ctanorgbaseref' be `\tugctanorgbaseref':
+\newcommand*{\useTUGctanbases}{\let\ctanorgbaseref\tugctanorgbaseref}
+%% |\ctanorgbaseref{<path>}{<text>}| \ aims to get Jim Hef{}feron's
+%% pages via `\tugctanorgbaseref' by default:
+\useTUGctanbases
+%% To get the `www.ctan.org' interface instead,
+%% issue |\useWWWctanbases|:
+\newcommand*{\useWWWctanbases}{\let\ctanorgbaseref\wwwctanorgbaseref}
+%%
+%% ==== Single Packages without The \TeX~Catalogue ====
+%% \label{sec:sing-pkgs} %% 2012/12/19
+%% |\ctanpkgref{<pkg-name>}|
+%% makes
+%% <pkg-name> %%% <text> %% 2012/12/14
+%% a link to a package info page for the package <pkg-name>.
+%% |\CtanPkgRef{<name>}{<Name>}|
+%% is a variant of `\ctanpkgref' relating to the latter
+%% as `\CatPkgRef' relates to `\catpkgref' (\secref{texcat}).
+\newcommand*{\ctanpkgref}{\@double@first@arg\CtanPkgRef}
+\newcommand*{\CtanPkgRef}{\Ct@nPkgRef\ctanorgbaseref}
+%% Using `\cat@ctan@pkg@ref' from \secref{texcat}:
+\newcommand*{\Ct@nPkgRef}[2]{\cat@ctan@pkg@ref#1{pkg/#2}}
%% |\ctanpkgstyref{<name>}| %% 2012/11/27
%% adds \qtdcode{.sty} to the package name:
\newcommand*{\ctanpkgstyref}[1]{\CtanPkgRef{#1}{#1.sty}}
-%% Jim Hefferon also offers pages listing
-%% of %% 2012/11/08
-%% all the packages
-%% of a given author, accessible by her/his <id>.
-%% |\ctanpkgauref{<id>}{<text>}| makes <text> a link to that page:
-\newcommand*{\ctanpkgauref}[1]{\ctanorgbaseref{author/id/#1}}
-%% E.g., see \ctanpkgauref{lueck}{\emph{my}} packages.
-%%
-%% === Mailing Lists ===
+%% The previous commands for package info pages choose between
+%% `tug.ctan.org' and `www.ctan.org' according to
+%% `\useTUGctanbases' or `\useWWWctanbases'
+%% (i.e., `\ctanorgbaseref', \secref{x.ctan.org}).
+%% The next commands allow that choice independently of
+%% `\ctanorgbaseref', by contrast.
+%% |\useTUGpkgpages| may be issued to stick to the \TUG\
+%% package descriptions (from `CtanPkgRef')
+%% even after `\useWWWctanorgbases' (useful? TODO):
+\newcommand*{\TugCtanPkgRef}{\Ct@nPkgRef\tugctanorgbaseref}
+\newcommand*{\tugctanpkgref}{\@double@first@arg\TugCtanPkgRef}
+\newcommand*{\useTUGpkgpages}{\let\CtanPkgRef\TugCtanPkgRef}
+%% After |\useWWWpkgpages|, `\CtanPkgRef' and `\ctanpkgref'
+%% use the package descriptions
+%% from `www.ctan.org' even after `\useTUGctanorgbases':
+\newcommand*{\WwwCtanPkgRef}{\Ct@nPkgRef\wwwctanorgbaseref}
+\newcommand*{\wwwctanpkgref}{\@double@first@arg\WwwCtanPkgRef}
+\newcommand*{\useWWWpkgpages}{\let\CtanPkgRef\WwwCtanPkgRef}
+%% After |\useCATpkgpages|, `\CtanPkgRef' and `\ctanpkgref'
+%% use the \TeX~Catalogue to display package informations:
+\newcommand*{\useCATpkgpages}{\let\CtanPkgRef\CatPkgRef}
+%% Finally, we provide experimental
+%% \[|\AllPkgRefs{<name>}{<Name>}| \mbox{\quad and\quad}
+%% |\allpkgrefs{<name>}|\]
+%% offering choice between the three interfaces for each package.
+%% \qtdcode{c} will stand for The \TeX~Catalogue,
+%% \qtdcode{t} for `tun.ctan.org', and
+%% \qtdcode{w} for `www.ctan.org'. After |\useALLpkgpages|,
+%% this is what `\CtanPkgRef' and `\ctanpkgref' offer:
+\newcommand*{\AllPkgRefs}[2]{%
+ \pkgnamefmt{#2}\,[\CatPkgRef{#1}{c}\textbar
+ \TugCtanPkgRef{#1}{t}\textbar
+ \WwwCtanPkgRef{#1}{w}]}
+\newcommand*{\allpkgrefs}{\@double@first@arg\AllPkgRefs}
+\newcommand*{\useALLpkgpages}{\let\CtanPkgRef\AllPkgRefs}
+%% \simpleexample{\allpkgrefs{morehype}}
+%% (With 'blog.sty', this requires some `\def\textbar{|}' TODO.)
+%%
+%% ==== Package Author Pages ====
+%% Before v0.8, we told that
+%% \[|\ctanpkgauref{<id>}{<text>}|\]
+%% referred to a package author page---a
+%% list of all the author's packages---of
+%% Jim Hef{}feron's interface,
+%% provided <id> had been chosen properly.
+%% With the advent of ``the new `www.ctan.org'" announced on
+%% \ctanannpref{12-12-006718}{2012-12-12,} links generated
+%% by this command stopped working altogether.
+%% For v0.8, we ``repair" the definition so that the claim
+%% becomes true again. But ``the new `www.ctan.org'" also
+%% provides its own author pages, and we offer a choice
+%% between both interfaces for the author pages.
+%% A little problem has been that the paths to these pages
+%% differ between `tug.ctan.org' and `www.ctan.org' now.
+%%
+\newcommand*{\ctanpkgauref}[1]{\ctanorgbaseref{author/%
+%% Only `tug.ctan.org' uses \qtdcode{id/}:
+ \ifx\ctanorgbaseref\tugctanorgbaseref id/\fi
+ #1}}
+%% % \simpleexample{\ctanpkgauref{lueck}{&\emph{My} packages}}
+%% \simpleexample{\ctanpkgauref{lueck}{mine}}
+%% |\tugctanpkgauref{<id>}{<text>}| chooses Jim Hef{}feron's
+%% author pages even if `www.ctan.org' has been chosen to be
+%% the main interface for package descriptions (\secref{x.ctan.org}):
+\newcommand*{\tugctanpkgauref}[1]{\tugctanorgbaseref{author/id/#1}}
+%% \simpleexample{\tugctanpkgauref{lueck}{mine}}
+%% |\wwwctanpkgauref{<id>}{<text>}| chooses the new `www.ctan.org''s
+%% author pages even if `tug.ctan.org' has been chosen to be
+%% the main interface for package descriptions (\secref{x.ctan.org}):
+\newcommand*{\wwwctanpkgauref}[1]{\wwwctanorgbaseref{author/#1}}
+%% \simpleexample{\wwwctanpkgauref{lueck}{mine}}
+%%
+%% ==== Other Ways to Search for Packages ====
+%% |\ctanpkgtopicref{<topic-id>}{<text>}| accesses a list of
+%% packages belonging to the ``topic" with identifier <topic-id>.
+\newcommand*{\ctanpkgtopicref}[1]{\wwwctanorgbaseref{topic/#1}}
+%% \simpleexample{\ctanpkgtopicref{cvt-html}{make HTML}}
+%%
+%% `tug.ctan.org' and `www.ctan.org' offer more pages for which
+%% I don't create own macros, while I use some of them on a
+%% \httpref{www.webdesign-bu.de/uwe_lueck/taeglich.htm}
+%% {page collecting my favourite links.}
+%% They are accessed either by
+%% `\tugctanorgbaseref{<path>}'---resulting in `tug.ctan.org/<path>'---or by
+%% `\wwwctanorgbaseref{<path>}'---resulting in `www.ctan.org/<path>'.
+%% I am listing a few.
+%% \begin{itemize}
+%% \item On \urlhttpref{www.ctan.org/author}, you can browse
+%% package authors. I could not find an equivalent
+%% page under `tug.ctan.org'.
+%% \item \urlhttpref{tug.ctan.org/search} and
+%% \urlhttpref{www.ctan.org/search} offer different
+%% criteria for searches.
+%% \item On \urlhttpref{www.ctan.org/topic}, you can browse topics.
+%% This page in fact is accessed by `\ctanpkgtopicref{}'
+%% (<topic-id> empty). Jim Hef{}feron's keywords
+%% %%% and characterizations
+%% can be browsed on \urlhttpref{tug.ctan.org/keywords}.
+%% His characterizations can be browsed from
+%% \urlhttpref{tug.ctan.org/characterization/choose\string_dimen}.
+%% \item \urlhttpref{tug.ctan.org/pkg} is a single page listing
+%% all package identifiers <pkg-id>
+%% (for `\ctanpkgref{<pkg-id>}', as links).
+%% %%% The corresponding
+%% \urlhttpref{www.ctan.org/pkg}
+%% just offers a link alphabet for pages of packages
+%% that share their first letter (in the identifier).
+%% \end{itemize}
+%%
+%% === Mailing Lists ===
%% \label{sec:mail}
%% v0.7 relies on package \ctanpkgref{langcode} for
%% |\enmonthname{<month-number>}| and |\demonthname{<month-number>}|,
%% for tricks with language codes extending those in
-%% Section~\ref{sec:langcode}:
+%% \secref{langcode}:
\RequirePackage{langcode}
%% The next definitions are backbones for generating links to
%% web pages about \TeX\ mailing lists.
@@ -565,7 +838,7 @@
%% (according to intention ...):
\newcommand*{\texlistmonthref}{\texlanglistmonthref\monthname}
%%
-%% === \CTAN\ Announcements === %% 2011/06/27
+%% === \CTAN\ Announcements === %% 2011/06/27
%% |\ctanannref{<id>}{<text>}| makes <text> a link
%% to the DANTE web page displaying a \CTAN\
%% announcement. You find <id> by searching
@@ -582,29 +855,44 @@
%% of `\ctanannref' where in place of <id>
%% you only type the third and fourth digit of the
%% year (<2-digits>), then a \qtdcode{-}, then the (arabic)
-%% number <month-no> of the month (cf. Section~\ref{sec:mail} so far),
+%% number <month-no> of the month (cf. \secref{mail} so far),
%% then another \qtdcode{-},
%% and then the actual internal identifier <running-no>
%% (a number of six digits preceding \qtdcode{.html} of the \URL).
%% I.e., \qtd{<id-code>} is \qtdcode{<2-digits>-<month-no>-<running-no>}.
\newcommand*{\ctanannpref}[1]{%
- \ctanannref{20\TL@piper@parse#1/.html}} %% `20' 2012/12/08
+ \ctanannref{20\TL@piper@parse#1/\html}} %% `20' 2012/12/08
%% \[|\ctanannyearmonthref{<2-digits>-<month-no>}|\] generates
%% `\ctanannref{<path>}' from \qtdcode{<2-digits>-<month-no>}---<path>
-%% as in Section~\ref{sec:mail} ...
+%% as in \secref{mail} ...
\newcommand*{\ctanannyearmonthref}{\texlistyearmonthref\ctanannref}
%% \[|\ctanannmonthref{<2-digits>-<month-no>}|\] generates
%% `\ctanannref{<path>}{<month>}' where <month> obeys `\langcode' ...
%% % from \qtdcode{<2-digits>-<month-no>}
\newcommand*{\ctanannmonthref}{\texlistmonthref\ctanannref}
%%
-%% === \acro{TUG} ===
+%% === \code{\dots stack\dots} Forums === %% 2012/12/17/18
+%% |\stackexref{<id-no>}{<text>}| \ shows exchange about
+%% Question No.~<id-no> on \urlhttpref{tex.stackexchange.com}.
+%% <id-no> is the number following \qtdcode{/questions/}
+%% in the \URL\
+%% (the part of the \URL\ reflecting the caption are not needed).
+%% See an example from
+%% $<id-no>=\stackexref{84878}{84878}$ in \secref{wiki-stack}.
+\newcommand*{\stackexref}{\stackquestionref{tex.stackexchange}}
+\newcommand*{\stackquestionref}[2]{\httpref{#1.com/questions/#2}}
+%% Likewise, \ |\stackoverref{<id-no>}{<text>}| \ links to
+%% \urlhttpref{stackoverflow.com}
+%% ($<id-no>=\stackoverref{2118972}{2118972}$ is about file dates):
+\newcommand*{\stackoverref}{\stackquestionref{stackoverflow}}
+%%
+%% === \TUG === %% \TUG 2012/12/15
%% |\tugref{<path>}{<text>}| makes <text> a link
%% to <path> on domain `tug.org':
\newcommand*{\tugref}{\httpbaseref{tug.org}}
%% ==== texhax ====
%% |\texhaxref{<id>}{<text>}| makes <text> a link
-%% to the \acro{TUG} web page displaying
+%% to the \TUG\ web page displaying
%% a texhax posting. You find <id> by searching
%% `tug.org/pipermail/texhax/' and then reading the \URL.
%% <id> is composed as `<year>-<month>/<6-digits>.html'.
@@ -625,13 +913,13 @@
%% I made this macro because I prefer typing to copying
%% from the \URL.
\newcommand*{\texhaxpref}[1]{% %% 2010/09/07
- \texhaxref{20\TL@piper@parse#1/.html}} %% 2011/05/03
+ \texhaxref{20\TL@piper@parse#1/\html}} %% 2011/05/03
%% TODO: `\texhaxPref#1' searches list of offsets
%% to determine year/month from id ...
%%
%% \[|\texhaxyearmonthref{<2-digits>-<month-no>}|\] generates
%% `\texhaxref{<path>}' from \qtdcode{<2-digits>-<month-no>}---<path>
-%% as in Section~\ref{sec:mail} ...
+%% as in \secref{mail} ...
\newcommand*{\texhaxyearmonthref}{\texlistyearmonthref\texhaxref}
%% \[|\texhaxmonthref{<2-digits>-<month-no>}|\] generates
%% `\texhaxref{<path>}{<month>}' where <month> obeys `\langcode' ...
@@ -640,37 +928,51 @@
%% ==== Other ====
%% %% 2011/04/27 corr. doc. vol/issue
%% |\tugbartref{tb<vol>-<issue>/<filename-base>}{<text>}|
-%% makes <text> a link to the TUGboat article
+%% makes <text> a link to the \TUG boat article
%% `<filename-base>.pdf' in vol.~<vol> and issue~<issue>:
% \newcommand*{\tugbartref}[1]{\tugref{TUGboat/Articles/#1.pdf}}
\newcommand*{\tugbartref}[1]{\tugref{TUGboat/#1.pdf}}
%% %% <- 2011/04/30
%% |\tugiref{<anchor>}{<text>}| makes <text> %% <text> 2012/07/23 tugi 2012/08/05
%% a link to an <anchor>
-%% on the \acro{TUG} web page entitled \qtd{TeX Resources on the Web}
-%% (e.g., \tugiref{web}{\qtd{Web Projects}}):
-\newcommand*{\tugiref}[1]{\tugref{interest.html\##1}}
+%% on the \TUG\ web page entitled \qtd{TeX Resources on the Web}
+%% (e.g., $<anchor>=\mbox{\qtdcode{web}}$ shows the section entitled
+%% \tugiref{web}{\qtd{\TeX~web projects}}):
+\newcommand*{\tugiref}[1]{\tugref{interest\html\##1}}
%% It was `\TUGIref' until v0.6, we keep this for compatibility
%% (deprecated):
\newcommand*{\TUGIref}{} \let\TUGIref\tugiref
%%
-%% === \acro{UK FAQ} ===
+%% === \acro{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}}
-%% === Wikibooks ===
+%% === Wikibooks ===
%% |\wikilangbooksref{<language-code>}{<book>/<subject>}{<text>}|
%% %% <- ref 2012/10/04, <book>/<subject>
\newcommand*{\wikilangbooksref}[1]{% %% `lang' 2012/01/06
\httpbaseref{#1.wikibooks.org/wiki}}
-%% |\latexwikibookref{<subject>}{<text>}| refers to the %% rm. extra arg. 2012/10/24
-%% (English) \latexwikibookref{}{\LaTeX\ Wikibook:}
+%% |\latexwikibookref{<subject>}{<text>}| \ %% \ 2012/12/16
+%% refers to the %% rm. extra arg. 2012/10/24
+%% (English) \latexwikibookref{}{\emph{\LaTeX} wikibook:} %% lc 2012/12/16
\newcommand*{\latexwikibookref}[1]{\wikilangbooksref{en}{LaTeX/#1}}
%% The German
%% \wikilangbooksref{de}{LaTeX-Kompendium}{\dqtd{\LaTeX-Kompendium}}
%% is somewhat difficult, I leave it for now~...
%%
+%% %% 2012/12/16:
+%% |\texwikibookref{<subject>}{<text>}| \ refers to the
+%% % \texwikibookref{}{\emph{\TeX} wikibook.}
+%% \wikilangbooksref{en}{TeX}{\emph{\TeX} wikibook.}
+%% E.g., <subject> may access a description of the
+%% \wikilangbooksref{en}{TeX#TeX_Primitives}{\TeX\ \emph{primitive}}
+%% `\<subject>', such as `\texwikibookref{if}{\cs{if}}'
+%% for \texwikibookref{if}{\cs{if}}. However, some primitives
+%% have not been described yet, and the whole \TeX\ wikibook
+%% largely is just a list of what needs to be done.
+\newcommand*{\texwikibookref}[1]{\wikilangbooksref{en}{TeX/#1}}
+%%
%% == Leaving and Version HISTORY == %% 2012/03/09
\endinput
%% VERSION HISTORY
@@ -726,8 +1028,20 @@ v0.7 2012/07/23 doc.: <text>
2012/11/28 [[...|...]]
uploaded with MOREHYPE r0.7
v0.7a 2012/12/01 link fix "Piped link"
- -> r0.7a
+ -> r0.7a
v0.7b 2012/12/06 there again: blogexec -> markblog, above entry ...
- -> r0.7b
+ -> r0.7b
v0.71 2012/12/08 \ctanannpref like \texhaxpref
- -> r0.71
+ -> r0.71
+v0.8 2012/12/15 \domainref from `texblog.fdf'
+ doc.: \secref, gathering first subsections in
+ new section "Links in General"
+ 2012/12/16 \texwikibooksref; \domainref 1 code line,
+ mod. doc. LaTeX wikibook
+ 2012/12/17 \google..., \stackexref, \catalogueref;
+ doc.: todo done + corr. in sec:bases,
+ wiki extended, suffix -> tag
+ 2012/12/18 \cataloguestartref, \html
+ 2012/12/19 \cat@ctan@pkg@ref, \@double@first@arg;
+ doc. uses {example}, \fbox, etc.
+ 2012/12/20 \ctanpkgtopicref