diff options
author | Karl Berry <karl@freefriends.org> | 2011-01-27 18:46:38 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-01-27 18:46:38 +0000 |
commit | cad1a5c4ccf4ccecf16ba4a6cca0e7c6e8f367ae (patch) | |
tree | dfa1166739c1dc91145bf63d53072bb947d4fdf5 /Master/texmf-dist/tex | |
parent | 5691eba007aa04de66f737f9e721b76d2d6b5454 (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')
-rw-r--r-- | Master/texmf-dist/tex/latex/morehype/atari.fdf | 8 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/morehype/blog.sty | 706 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/morehype/hypertoc.sty | 37 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/morehype/lang-de.fdf | 7 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/morehype/lang-en.fdf | 7 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/morehype/texlinks.sty | 261 |
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 ` '! +%% +%% == 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}{}} +%% |\renderHTMLsymbol{<macro>}{<name>}| \emph{redefines} +%% macro <macro> to expand to `&<name>;': +\newcommand*{\renderHTMLsymbol} [2]{\renewcommand*{#1}{}} +%% 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 {–} %% \end... illegal +\newcommand*{\emdash} {—} +%% ``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} {’} %% 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\'{’} +%% ... 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}{′} +\declareHTMLsymbol{Prime} +% \newcommand*{\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]{„#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] {uml;} %% 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 |