From 0ede421ecbc4d987f9818b63af7b6e2f55e90458 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 23 Jan 2013 23:59:55 +0000 Subject: morehype 0.82 (22jan13) git-svn-id: svn://tug.org/texlive/trunk@28921 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/morehype/blog.sty | 5 +- Master/texmf-dist/tex/latex/morehype/blogdot.sty | 11 +- Master/texmf-dist/tex/latex/morehype/morehype.RLS | 1 + Master/texmf-dist/tex/latex/morehype/texblog.fdf | 14 +- Master/texmf-dist/tex/latex/morehype/texlinks.sty | 378 +++++++++++++++++----- 5 files changed, 326 insertions(+), 83 deletions(-) (limited to 'Master/texmf-dist/tex/latex/morehype') diff --git a/Master/texmf-dist/tex/latex/morehype/blog.sty b/Master/texmf-dist/tex/latex/morehype/blog.sty index c2cd6ffd7d9..a93f3084a84 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}[2013/01/04 v0.81 simple fast HTML (UL)] +\ProvidesPackage{blog}[2013/01/21 v0.81a simple fast HTML (UL)] %% copyright (C) 2010 2011 2012 2013 Uwe Lueck, %% http://www.contact-ednotes.sty.de.vu %% -- author-maintained in the sense of LPPL below. @@ -14,7 +14,7 @@ %% %% http://www.contact-ednotes.sty.de.vu %% -%% == \cs{newlet} == %% 2012/10/03 +%% === \cs{newlet} === %% 2012/10/03 %% |\newlet| is also useful in surrounding files: \newcommand*{\newlet}[2]{\@ifdefinable#1{\let#1#2}} %% @@ -1606,3 +1606,4 @@ v0.81 2012/12/20 \-, {enumtype} 2013/01/02 caron, "Ligatures ..." (æ etc.) 2013/01/04 updating copyright part of MOREHYPE RELEASE r0.81 +v0.81a 2013/01/21 \newlet in subsubsection diff --git a/Master/texmf-dist/tex/latex/morehype/blogdot.sty b/Master/texmf-dist/tex/latex/morehype/blogdot.sty index 104c791df07..abcd41a3bab 100644 --- a/Master/texmf-dist/tex/latex/morehype/blogdot.sty +++ b/Master/texmf-dist/tex/latex/morehype/blogdot.sty @@ -1,5 +1,5 @@ \NeedsTeXFormat{LaTeX2e}[1994/12/01] %% \newcommand* etc. -\ProvidesPackage{blogdot}[2013/01/04 v0.41a HTML presentations (UL)] +\ProvidesPackage{blogdot}[2013/01/22 v0.41b HTML presentations (UL)] %% copyright (C) 2011 Uwe Lueck, %% http://www.contact-ednotes.sty.de.vu %% -- author-maintained in the sense of LPPL below. @@ -272,10 +272,9 @@ \newcommand*{\ShowBlogDotFillText}{% \def\BlogDotFillTextColor{\textcolor{red}}} \DontShowBlogDotFillText -%% As of 2011/10/21, 'texlinks.sty' provides +%% As of 2013/01/22, 'texlinks.sty' provides %% adjusted 2013/01/22 %% `\ctanfileref{}{}' that uses an online -%% \TeX\ archive according to -%% \[|\usemirrorctan|\quad \mbox{or}\quad |\usetugctan|.\] +%% \TeX\ archive randomly chosen or determined by the user. %% This is preferable for an online version of the presentation. %% In `dantev45.htm', this is used for example files. %% When, on the other hand, internet access during the presentation is @@ -329,4 +328,6 @@ v0.4 2011/10/21 \usecurrdirctan part of morehype RELEASE r0.6 v0.41 2012/11/19 \startscreenpage with \\; doc. \ 2012/11/21 updating version infos, doc. \pagebreak -v0.41a 2013/01/04 rm. \pagebreak +v0.41a 2013/01/04 rm. \pagebreak + part of morehype RELEASE r0.81 +v0.41b 2013/01/22 adjusted doc. on `texlinks' diff --git a/Master/texmf-dist/tex/latex/morehype/morehype.RLS b/Master/texmf-dist/tex/latex/morehype/morehype.RLS index 4e57f6725ab..c6f0d3bd48d 100644 --- a/Master/texmf-dist/tex/latex/morehype/morehype.RLS +++ b/Master/texmf-dist/tex/latex/morehype/morehype.RLS @@ -1,4 +1,5 @@ \ProvidesFile{morehype.RLS} %% RELEASE INFO + [2013/01/22 r0.82 texlinks v0.82 Jim? new! dir/open] [2013/01/04 r0.81 texlinks v0.81 www.ctan..., blog v0.81 enum..., blogexec v0.21 noblog] diff --git a/Master/texmf-dist/tex/latex/morehype/texblog.fdf b/Master/texmf-dist/tex/latex/morehype/texblog.fdf index 58e8f9f64df..5bcf135ed7e 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}[2013/01/04 extra blog settings] +\ProvidesFile{texblog.fdf}[2013/01/19 extra blog settings] %% %% macros I use for my note pages %% -- Uwe Lueck, www.contact-ednotes.sty.de.vu @@ -391,15 +391,21 @@ % \newcommand*{\todobytopic}[1]{% %% 2011/04/22, rm. 2011/11/08 % \myalert{\to\ \TOPref{#1}}} \newcommand*{\UKFAQref}[1]{\ukfaqref{#1}{UK~FAQ}} %% 2011/01/03 -\useTUGctanbases %% 2012/12/30 -% \renewcommand*{\ctanpkgauref}{\tugctanpkgauref} %% 2012/12/30 rm. 2013/01/04 +% \useTUGctanbases %% 2012/12/30 rm. 2013/01/19 +\renewcommand*{\ctanpkgauref}{\tugctanpkgauref} %% 2012/12/30 rm. 2013/01/04 %% SelfHTML: \newcommand*{\selfhtmlurl}{de.selfhtml.org} \newcommand*{\selfhtmlref}{\httpbaseref\selfhtmlurl} \newcommand*{\selfhtmlrefref}[1]{% \selfhtmlref{/html/referenz/#1.htm}} -\newcommand*{\selfhtmlcsseigref}{% %% 2012/09/23 +\newcommand*{\selfhtmlcsseigref}{% %% 2012/09/23 \httpbaseref{\selfhtmlurl/css/eigenschaften}} +%% Recht: %% 2013/01/04 +\newcommand*{\dejuresprechref}[3]{% + \httpref{dejure.org/dienste/vernetzung/rechtsprechung/?% + Gericht=#1&Datum=#2&Aktenzeichen=#3}} +\newcommand*{\DJsprechref}[3]{% + \dejuresprechref{#1}{#2}{#3}{#1 v. #2 (#3)}} %% BlogLIGs moves to `markblog.sty' 2012/11/28 %% rm. HVspace etc. 2011/10/13 %% font switching (logical): diff --git a/Master/texmf-dist/tex/latex/morehype/texlinks.sty b/Master/texmf-dist/tex/latex/morehype/texlinks.sty index d14dd78dca7..c5f02ec1558 100644 --- a/Master/texmf-dist/tex/latex/morehype/texlinks.sty +++ b/Master/texmf-dist/tex/latex/morehype/texlinks.sty @@ -1,6 +1,6 @@ \NeedsTeXFormat{LaTeX2e}[1994/12/01] %% \newcommand* etc. -\ProvidesPackage{texlinks}[2012/12/31 v0.81 TeX-related links (UL)] -%% copyright (C) 2011 2012 Uwe Lueck, +\ProvidesPackage{texlinks}[2013/01/22 v0.82 TeX-related links (UL)] +%% copyright (C) 2011 2012 2013 Uwe Lueck, %% http://www.contact-ednotes.sty.de.vu %% -- author-maintained in the sense of LPPL below. %% @@ -15,6 +15,10 @@ %% %% http://www.contact-ednotes.sty.de.vu %% +%% === \cs{newlet} === %% 2013/01/21 +%% |\newlet| is a guarded `\let': +\providecommand*{\newlet}[2]{\@ifdefinable#1{\let#1#2}} +%% %% == Links in General == %% 2012/12/15 %% === Outline === %% % Almost %% 2011/07/23 @@ -51,6 +55,7 @@ %% % Well, better \emph{not today} ... [2011/01/24, TODO] %% %% === Package Options === +%% \label{sec:opt} %% 2013/01/21 %% Somebody may want to suppress a definition of `\httpref' %% at `\begin{document}' ... [2011/01/24, TODO] %% %% 2011/02/10: @@ -113,6 +118,7 @@ % \AtBeginDocument {\let\pkgnamefmt\textsf} %% <- This was here until v0.7, makes a difference for \acro{PDF} %% vs.\ 'blog'/\HTML. %% / 2012/12/28 +%% [Cf.~\secref{opt}!? TODO]---%% 2013/01/21 %% Now we choose the same as with `\urlfmt': \providecommand*{\pkgnamefmt}{\textsf} %% Indeed, the same day we are providing `\textsf' in 'blog.sty'. @@ -140,8 +146,7 @@ %% |\NormalHTTPref| may be used as an alias for `\httpref' %% in situations where the latter has been redefined %% v0.2 %% (as in \secref{urlfoot}): -\AtBeginDocument{%% TODO: options, guarded \let (mine, HO) - \@ifdefinable\NormalHTTPref{\let\NormalHTTPref\httpref}} +\AtBeginDocument{\newlet\NormalHTTPref\httpref} %% TODO: sec:opt %% |\ithttpref{}{}| displays in italics: % \newcommand*{\ithttpref}[2]{\NormalHTTPref{#1}{\textit{#2}}} %% However, I seem never to have used it. And I would now @@ -264,13 +269,39 @@ %% With %% \[`\newcommand*{\myref}{\httpbaseref{}}'\] %% } 2012/12/17 %% we need 5 %% was 3 2012/12/17 -%% tokens instead, using |\httpbaseref{}{}| +%% tokens instead, using \ |\httpbaseref{}{}{}| \ +%% %% <- added text 2013/01/21 %% defined as follows: \newcommand*{\httpbaseref}[2]{\httpref{#1/#2}} -%% We change many definitions in ensuing sections accordingly. +%% Then `\myref{}{}' will work like %% 2013/01/21 +%% \[`\httpref{/}{}'\] +%% We change many definitions in ensuing sections accordingly---and +%% with v0.82 we add a shorthand for definitions like the avove one +%% for `\myref'. \[|\MakeBasedHref{}{}|\] may be applied +%% as \[`\MakeBasedHref{\myref}{}'\] above. In the general +%% situation, \ `{}{}' \ will work like +%% \ `\httpref{/}{}'. +\newcommand*{\MakeBasedHref}[2]{% + \ifx#1\@undefined \else \ifx#1\relax \else + \PackageWarning{texlinks}{Redefining \string#1.}% + \fi \fi + \def#1{\httpbaseref{#2}}} +%% However, it does not act like `\newcommand' when has been +%% defined earlier, it rather resembles `\DeclareRobustCommand', +%% in that it just \emph{warns} in such a case. +%% I don't actually make robust because I guess it is anyway: +%% The reason for allowing redefinitions has been application +%% to cases where the user should be able to customize commands +%% (\secref{custom-ref})---well, +%% I could have `\NewBasedHref' and `\RenewBasedHref' some time +%% TODO\footnote{And for sections \ref{sec:wiki-back} and +%% \ref{sec:wikibooks}, an optional argument +%% would have been nice.}; +%% TODO: `\@onlypreamble'? %% %% The situation is similar with (many) anchors of a (large) web page. -%% With v0.6, we introduce |\httpancref{}{}|---perhaps, +%% With v0.6, we introduce +%% \[|\httpancref{}{}|\]---\emph{perhaps}, %% with `\mirrorctanref' (\secref{texcat}) etc.? TODO % \newcommand*{\httpancref}[2]{\httpref{#1\##2}} %% @@ -523,6 +554,7 @@ % \@namedef{urluml:u}{\#C3\#BC} % \@namedef{urluml:s}{\#C3\#9F} %% 2010/08/09 %% +%% \pagebreak %% 2013/01/19 %% == \TeX-related == %% 2010/08/24 %% === \code{\html} === %% 2012/12/18 %% The shorthand macro |\html| saves a few tokens for @@ -531,33 +563,146 @@ \newcommand*{\html}{.html} %% %% === \CTAN === -%% ==== Former `tug.ctan.org' ==== %% 2012/12/29 +%% ==== Overview: Archive vs.\ Descriptions Roots ==== %% 2013/01/19 +%% \label{sec:ctan-over} +%% There have been \emph{\TeX\ archive roots} and +%% \emph{\TeX\ package description roots} on +%% \wikiref{CTAN}{\CTAN} web sites. +%% I cannot define those terms exactly. +%% +%% \begin{singthm}{Examples} %% 2013/01/20 +%% of \TeX\ \strong{archive} roots currently +%% (2012-01-20) are \urlhttpref{tug.ctan.org}, the random +%% resolutions of \urlhttpref{mirror.ctan.org}, and +%% \urlhttpref{www.ctan.org/tex-archive/}. +%% They provide almost all material that may be useful +%% in running \TeX\ and share an essentially fixed directory +%% structure which however may vary over time due to new +%% contributions. Among the top-level subdirectories of +%% an archive root are `fonts', `graphics', and +%% `macros/latex/contrib'. +%% \end{singthm} +%% +%% Macro names for \TeX\ archive roots will look like +%% |ctanref|. +%% In order to access an archive with root , such a macro +%% will be defined as +%% \[`\httpbaseref{}'\] +%% in \secref{texarc} (apart from using shorthand macros for +%% )---see \secref{ctan-over} for `\httpbaseref'. +%% +%% \begin{singthm}{Examples} +%% of \TeX\ package \strong{description} roots +%% currently are \urlhttpref{www.ctan.org} (which works like `ctan.org') +%% and \urlhttpref{alan.smcvt.edu} (Jim Hef{}feron's site at +%% \wikiref{Saint Michael\string's College}{Saint~Michael's College} +%% in \Wikiref{Vermont}, \acro{USA}. +%% They have shared subdirectories `pkg' and `author'. +%% When some package is described with an \emph{identifier} , +%% its description appears under +%% \[`http://ctan.org/pkg/'.\] +%% \end{singthm} +%% +%% Macro names for such domains will look like |ctanorgbaseref|. +%% In order to access package descriptions from , +%% such a macro will be defined as +%% \[`\httpbaseref{}'\] +%% in \secref{x.ctan.org}. +%% % However, |alan.smcvt.edu| below has been a different domain~... +%% \pagebreak[3] +%% \begin{singthm}{Observations:}\leavevmode +%% \begin{enumerate} +%% \item All the \emph{description} roots have been \emph{domains}. +%% \item A \emph{domain} +%% \InlineCmdBox{\code{\ctanorg}}---|\ctanorg| +%% saves a few tokens here: %% 2012/12/18, mv. down 2012/12/29 ... +\newcommand*{\ctanorg}{.ctan.org} +%% ---has been \emph{either} a package \emph{description} root +%% \emph{or} a \TeX\ \emph{archive} root. +%% \item When has been a \emph{description} root, +%% `/tex-archive' has been a \TeX\ \emph{archive} root +%% (with a similar design). %% 2013/01/21 +%% \end{enumerate} +%% \end{singthm} +%% +%% ==== History of `tug.ctan.org' ==== %% 2012/12/29 %% \label{sec:tug.ctan.org} -%% Apparently on 2012-12-21, `tug.ctan.org' ceased to refer -%% to the \CTAN\ interface that Jim Hef{}feron had developed, -%% and it has no longer provided a \TeX\ archive or package descriptions. -%% This killed many links generated by 'texlinks', and +%% %% Moved down 2013/01/20: +%% When the present 'texlinks' package started in January 2011, +%% I preferred the design and information of Jim's +%% package descriptions under `ctan.org' to the very similar +%% descriptions by \catalogueref{}{\meta{The \TeX\ Catalogue}} +%% (\secref{texcat}), and I preferred Jim's design of +%% \TeX\ archive directory displays in the above-mentioned +%% archive with root `ctan.org/tex-archive'. +%% The 'texlinks' \emph{documentation} explicitly said that +%% certain \URL s referred to Jim Hef{}feron's pages. +%% +%% With the advent of ``the new `www.ctan.org'" announced on +%% \ctanannpref{12-12-006718}{2012-12-12,} Jim's design was +%% no longer available as described before. The links intended to +%% get Jim's design received a collection of different designs +%% to choose from, while I preferred Jim's to all of them. +%% So the 'texlinks' documentation suddenly was wrong. +%% A serious contentual shortcoming in my view was that, +%% unlike Jim's and the Catalogue's package descriptions, +%% the new ones did not display direct links to package +%% documentations---this difference vanished after Christmas. +%% Moreover, the links to lists of packages by the same author +%% suddenly just failed, were ``dead." +%% +%% %% Much modified 2013/01/19: +%% % In the ``new `www.ctan.org'" situation described above, %% rm. 2013/01/20 +%% I discovered that I only had to replace +%% `ctan.org' by |tug.ctan.org| in order to get the original +%% functionality of 'texlinks'---linking to Jim's pages---back. +%% This was implemented by 'texlinks' v0.8, introducing +%% |\tugctanorg| (useful in the present +%% documentation---\secref{search-pkg}, \secref{x.ctan.org}) +%% and derived macros. In the terms introduced +%% above, `tug.ctan.org' then was a \emph{package description root}. +%% +%% Apparently on December 21th, within 24 hours after uploading +%% v0.8, `tug.ctan.org' ceased to refer to Jim's pages +%% and actually no longer provided a \TeX\ archive or +%% package descriptions. My +%% \[\urlhttpref{www.webdesign-bu.de/uwe\string_lueck/heyctan.htm}\] +%% became a superb collection of dead links, and %% `\tugctanref' and `\usetugctan' from v0.41 as well as %% `\TugCtanPkgRef' and `\useTUGpkgpages' (among others) -%% from v0.8 that I uploaded 2012-12-20 became useless. +%% became useless. %% -%% I am now trying to make sense of these 'texlinks' macros -%% for a while, in order to avoid changing existing code -%% (in my package documentations and on my web pages). -%% For this purpose, |ctan.tug.org| and |alan.smcvt.edu| -%% seem to be good domains. I have been warned that this -%% may stop working soon again. So I do \strong{not recommend} -%% typing new code containing macros whose names contain `tugctan'. +%% Then I discovered that |ctan.tug.org| still was a +%% \emph{package description root} with Jim's design. +%% Although Robin Fairbairns and Jim warned me that +%% Jim's pages may be switched off altogether soon, +%% I replaced `tug.ctan.org' by `ctan.tug.org' +%% (including the definition of |\tugctanorg|) for 'texlinks' v0.81 +%% and released it on 2013-01-04. Quite immediately, +%% `ctan.tug.org' showed the same behaviour has `tug.ctan.org', +%% killing the links of my `heyctan.htm' again. %% -%% Also for later documentation -%% (\secref{search-pkg}, \secref{x.ctan.org}), -%% I introduce |\tugctanorg|, with a very counter-intuitive -%% definition due to what I have mentioned -%% (and to get intuitive interrelations instead): -\newcommand*{\tugctanorg}{ctan.tug.org} -%% (TODO: cf. \secref{tug}) +%% |alan.smcvt.edu| seems to be the last resort to get +%% Jim's package descriptions and archive directories. +%% |\tugctanorg| now becomes heavily counter-intuitive, +%% but this way I need not change so much. +\newcommand*{\tugctanorg}{alan.smcvt.edu} %%% {ctan.tug.org} +%% Karl Berry informed me 2013-01-09 that |tug.ctan.org| +%% has started to be a relatively long-term +%% \emph{\TeX\ archive root}---while I first used it as a +%% \emph{package description} root and +%% `tug.ctan.org/tex-archive' as an archive root). %% 2013/01/21 +%% One may remember in the sequel that |tugctan| refers to +%% \emph{former} `tug.ctan.org' rather than to the \emph{present} one. +%% % (TODO: cf. \secref{tug}) +%% Anyway, usage of these macros is \strong{not recommended}, +%% they are rather a kind of ``compatibility" code for +%% old source files. Personally, +%% I also restrict their usage to source files that I edit +%% regularly, so I am quickly aware of changes of links. %% %% ==== Directories and Files in a \TeX~Archive ==== +%% \label{sec:texarc} %% 2013/01/19 %% % `\newcommand*{\ctanref}[1]{\httpref{ctan.org/#1}}' %% % once was replaced in 'blog.sty' by what will now be %% \[|\tugctanref{}{}|\] %% \[...\] 2012/12/19 @@ -565,7 +710,7 @@ %% makes a link %% to a \TeX~Archive directory or file %% with Jim Hef{}feron's interface. %% 2012/12/29 -\newcommand*{\tugctanref}{\httpbaseref{\tugctanorg/tex-archive}} +\MakeBasedHref{\tugctanref}{\tugctanorg/tex-archive} %% \simpleexample{\tugctanref{}{Archive root}} %% Alternatively, you can refer to an (automatically chosen) %% \CTAN\ \emph{mirror} @@ -573,57 +718,133 @@ %% \[|\mirrorctanref{}{}|.\] %% 2011/10/10 :->.2011/10/21: %% % (I prefer the \emph{appearance} of the %% rm. 2012/12/29 %% % \tugctanref{}{\TUG\ archive}, designed by Jim Hefferon.) -%% |\ctanorg| saves a few tokens: %% 2012/12/18, mv. down 2012/12/29 -\newcommand*{\ctanorg}{.ctan.org} -\newcommand*{\mirrorctanref}{\httpbaseref{mirror\ctanorg}} +\MakeBasedHref{\mirrorctanref}{mirror\ctanorg} %% \simpleexample{\mirrorctanref{}{Archive root}} %% You may actually want to ``open" a file in %% on \CTAN, %% displayed as the link text, %% 2011/10/21 -%% either by -%% \[|\tugctanfileref{}{}|\] %% 2011/10/10 -%% or (for a mirror) by +%% % either by +%% % \[|\tugctanfileref{}{}|\] %% 2011/10/10 +%% % or (for a mirror) by +%% by %% 2013/01/21 %% \[|\mirrorctanfileref{}{}|.\] %% 2011/10/10 -\newcommand*{\tugctanfileref}[2]{% - \tugctanref{#1/#2}{\filenamefmt{#2}}} +% \newcommand*{\tugctanfileref}[2]{% +% \tugctanref{#1/#2}{\filenamefmt{#2}}} \newcommand*{\mirrorctanfileref}[2]{% \mirrorctanref{#1/#2}{\filenamefmt{#2}}} %% Typically, \LaTeX\ macro packages in `macros/latex/contrib/' %% are discussed, so here is |\ltxcontrib| saving a few characters: \newcommand*{\ltxcontrib}{macros/latex/contrib/} -%% So \[\simplecodefbox{% -%% \mirrorctanref{&\ltxcontrib morehype}{&\pkg{morehype}}}\] -%% yields \simplecodeoutfbox{% -%% \mirrorctanref {\ltxcontrib morehype}{&\pkg{morehype}}}. +%% \begin{example}\leavevmode %% 2013/01/22 +%% \[\simplecodefbox{% +%% \mirrorctanref{&\ltxcontrib morehype}{&\pkg{morehype}}}\] +%% yields \ \simplecodeoutfbox{% +%% \mirrorctanref{\ltxcontrib morehype}{&\pkg{morehype}}}. %% %% <- & doesn't work in first arg. of \href 2012/12/30 %% %% -> `replace.sty'? +%% \end{example} +%% +%% %% 2013/01/21: +%% v0.82 removes `\tugctanfileref' which seems not to be useful. +%% My reason to choose Jim Hef{}feron's pages was +%% how \CTAN\ \emph{directories} are displayed. +%% For \emph{opening a file} from, any mirror should do. +%% However ... TODO +%% +%% Only for v0.82 I realize that the ``new `www.ctan.org'" +%% might provide directory designs (you can choose from predefined +%% ones and install your own) that users prefer to +%% the directory display of common \CTAN\ mirrors. +%% \[|\wwwctanref{}{}|\] +%% is made for this purpose. It may replace `\tugctanref' +%% especially when the latter vanishes: +\MakeBasedHref{\wwwctanref}{www\ctanorg/tex-archive} +%% \simpleexample{\wwwctanref{}{Archive root}} %% -%% |\ctanref| works like `\tugctanref' or like `\mirrorctanref', -%% depending on |\usetugctan| vs.\ |\usemirrorctan|. +%% ==== Shorthand \cs{ctanref} for \CTAN\ Mirrors ==== %% 2013/01/21 +%% \label{sec:custom-ref} +%% |\ctanref| works like one out of +%% \[`\tugctanref', `\mirrorctanref', `\wwwctanref', `\myctanref'\] +%% depending on which out of +%% \[|\usetugctan|, |\usemirrorctan|, |\usewwwctan|, |\usemyctan|\] +%% appeared most recently. +%% By default, it works like `\mirrorctanref'. %% So in any case its syntax is \[|\ctanref{}{}|.\] -%% Likewise, |\ctanfileref| works like -%% \[`\tugctanfileref'\quad \mbox{or}\quad `\mirrorctanfileref',\] -%% depending on the same `\usetugctan' vs.\ `\usemirrorctan', -%% so the syntax is -%% \[|\ctanfileref{}{}|\] -\newcommand*{\ctanref}{} \newcommand*{\ctanfileref}{} +%% The idea is that it is a shorthand to access the user's +%% favourite \CTAN\ mirror, or just to save the `www' +%% in `\wwwctanref', for instance. It may also be modified directly +%% using +%% \[|\MakeBasedHref{\ctanref}{}|\] +%% where is a \URL\ of a root of +%% a \CTAN\ mirror, or by +%% \[|\renewcommand{\ctanref}{\dirctanref}|\] +%% for instance ... \ another macro for a \CTAN\ mirror +%% that you may meet soon. (See \secref{bases} for `\MakeBasedHref'.) \newcommand*{\usemirrorctan}{% \let \ctanref \mirrorctanref - \let \ctanfileref \mirrorctanfileref} -\newcommand*{\usetugctan}{% - \let \ctanref \tugctanref - \let \ctanfileref \tugctanfileref} +% \let \ctanfileref \mirrorctanfileref +} %% |\usemirrorctan| is the \strong{default}, i.e., -%% |\ctanref| and |\ctanfileref| use +%% |\ctanref| % and |\ctanfileref| use +%% uses %% \urlhttpref{mirror.ctan.org}: \usemirrorctan -%% So -%% \simplecodefbox {\ctanref{&\ltxcontrib morehype}{&\pkg{morehype}}} -%% yields -%% \simplecodeoutfbox{\ctanref {\ltxcontrib morehype}{&\pkg{morehype}}}. -%% \meta{Remark} (TODO): \ Another implementation I consider is +\newcommand*{\usetugctan}{% + \let \ctanref \tugctanref +% \let \ctanfileref \tugctanfileref +} +\newcommand*{\usewwwctan}{\let\ctanref\wwwctanref} +%% |\myctanref| again is \emph{initialized} to work like +%% `\mirrorctanref': +\newlet\myctanref\mirrorctanref +%% However, it is \emph{intended} to store the +%% user's favourite mirror , hoping that the user issues +%% \[|\MakeBasedHref{\myctanref}{}|\] +%% and \emph{only afterwards} issues |\usemyctanref|: +\newcommand*{\usemyctanref}{\let\ctanref\myctanref} +%% ... not entirely sure ... the user could directly issue +%% \[`\MakeBasedHref{\ctanref}{}'\] +%% The advantage of `\usemyctanref' is that you can +%% switch to another `\ctanref' later and then return to +%% `\myctanref' ... not so stable TODO +%% \begin{singthm}{Remark} (TODO) \ Another implementation +%% of adjusting `\ctanref' I consider is %% using some `\ctanurl'\-`prefix' that you can redefine for %% accessing your favourite mirror. +%% \end{singthm} +%% +%% ==== Flexibiblity with Files and Directories ==== %% 2013/01/22 +%% With some influence of the ideas of v0.41, `\ctanref' +%% now is a shorthand for viewing \CTAN\ directories, +%% e.g., working like `\mirrorctanref'. There was a +%% flexible variant of `\mirrorctanfileref' too, +%% but the implementation was bad from my present view. +%% I no longer want to offer downloads from Jim's pages. +%% \[|\ctanfileref{}{}|\] displays as link text +%% and opens it. The mirror is chosen according to a shorthand +%% \ |\filectanref{/}{}| \ that can be +%% adjusted with `\MakeBasedHref' like `\ctanref': +\newcommand*{\ctanfileref}[2]{% + \filectanref{#1/#2}{\filenamefmt{#2}}} +%% |\filectanref| is initialized to work like `\mirrorctanref': +\newlet\filectanref\mirrorctanref +%% The purpose is that the user adjusts it by +%% \[|\MakeBasedHref{\filectanref}{}|\] +%% when she wants to download (open) files from \CTAN\ mirror , +%% which may be the mirror at the university where she sits. +%% \begin{example}\leavevmode +%% \[ \simplecodefbox{\ctanfileref{&\ltxcontrib morehype/doc}{texlinks.pdf}}\] +%% yields \ +%% \simplecodeoutfbox{\ctanfileref{\ltxcontrib morehype/doc}{texlinks.pdf}} +%% \end{example} +%% +%% It may be psychologically useful to have an \emph{opposite} +%% to `\filectanref' that can easily be recognized as such, +%% while `\ctanref' may be unclear. I offer +%% \ |\dirfilectanref{}{}|. \ It may be an alias +%% for `\ctanref', even respecting the `\use'\codedots\ commands +%% from above. Another proposal above is dangerous with the present idea: +\newcommand*{\dirctanref}{\ctanref} %% %% ==== The \TeX\ Catalogue OnLine ==== %% %% **** J\"urgen Fenn's Topical \TeX\ Catalogue **** @@ -710,17 +931,19 @@ %% and no longer call themselves ``Jim Hef{}feron's." %% The latter's pages seem to stay available under %% \urlfmt{\tugctanorg}. 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 \urlfmt{\tugctanorg} classifies them +%% (2013-01-21) seem to be that %%% (2012-12-18) seem to be: +%% % \begin{enumerate} +%% % \item +%% `www.ctan.org' classifies packages by a new concept +%% of ``\strong{topics}," %% \strong 2013/01/21 +%% while \urlfmt{\tugctanorg} 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 \urlfmt{\tugctanorg} like the Catalogue as in \secref{texcat} -%% provides links to single documentation files, -%% unlike `www.ctan.org'. -%% \end{enumerate} +%% % \item \urlfmt{\tugctanorg} 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. @@ -735,7 +958,7 @@ \newcommand*{\tugctanorgbaseref}{\httpbaseref\tugctanorg} %% |\wwwctanorgbaseref{}{}| \ links to `www.ctan.org' %% independently of the choice for `\ctanorgbaseref': -\newcommand*{\wwwctanorgbaseref}{\httpbaseref{www\ctanorg}} +\MakeBasedHref{\wwwctanorgbaseref}{www\ctanorg} %% |\useTUGctanbases| \ lets `\ctanorgbaseref' be `\tugctanorgbaseref': \newcommand*{\useTUGctanbases}{\let\ctanorgbaseref\tugctanorgbaseref} %% `\ctanorgbaseref{}{}' before v0.81 aimed to get Jim Hef{}feron's @@ -771,7 +994,7 @@ %% The next commands allow that choice independently of %% `\ctanorgbaseref', by contrast. %% |\useTUGpkgpages| may be issued to stick to the \TUG\ -%% package descriptions (from `CtanPkgRef'). +%% package descriptions (from `\CtanPkgRef'). %% \ 2013/01/21 %% % even after `\useWWWctanorgbases' (useful? TODO): %% rm. 2012/12/29 \newcommand*{\TugCtanPkgRef}{\Ct@nPkgRef\tugctanorgbaseref} \newcommand*{\tugctanpkgref}{\@double@first@arg\TugCtanPkgRef} @@ -869,9 +1092,9 @@ %% This page in fact is accessed by `\ctanpkgtopicref{}' %% ( empty). Jim Hef{}feron's keywords %% %%% and characterizations -%% can be browsed on \urlhttpref{\tugctanorg/keywords}. +%% can be browsed on \[\urlhttpref{\tugctanorg/keywords}.\] %% His characterizations can be browsed from -%% \urlhttpref{\tugctanorg/characterization/choose\string_dimen}. +%% \[\urlhttpref{\tugctanorg/characterization/choose\string_dimen}.\] %% \item \urlhttpref{\tugctanorg/pkg} is a single page listing %% all package identifiers %% (for `\ctanpkgref{}', as links). @@ -973,7 +1196,7 @@ %% \label{sec:tug} %% 2012/12/29 %% |\tugref{}{}| makes a link %% to on domain `tug.org': -\newcommand*{\tugref}{\httpbaseref{tug.org}} +\MakeBasedHref{\tugref}{tug.org} %% ==== texhax ==== %% |\texhaxref{}{}| makes a link %% to the \TUG\ web page displaying @@ -1025,7 +1248,7 @@ \newcommand*{\tugiref}[1]{\tugref{interest\html\##1}} %% It was `\TUGIref' until v0.6, we keep this for compatibility %% (deprecated): -\newcommand*{\TUGIref}{} \let\TUGIref\tugiref +\newlet\TUGIref\tugiref %% %% === \acro{UK FAQ} === %% |\ukfaqref{