diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/morehype/use/lnavicol.sty |
Initial commit
Diffstat (limited to 'macros/latex/contrib/morehype/use/lnavicol.sty')
-rw-r--r-- | macros/latex/contrib/morehype/use/lnavicol.sty | 224 |
1 files changed, 224 insertions, 0 deletions
diff --git a/macros/latex/contrib/morehype/use/lnavicol.sty b/macros/latex/contrib/morehype/use/lnavicol.sty new file mode 100644 index 0000000000..f8a4cb399c --- /dev/null +++ b/macros/latex/contrib/morehype/use/lnavicol.sty @@ -0,0 +1,224 @@ +\ProvidesPackage{lnavicol}[2011/10/13 + left navigation column with blog.sty] +%% +%% 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 +%% +%% == 'blog.sty' Required == +%% ---but what about options (TODO)? %% 2011/10/09 +\RequirePackage{blog} +%% +%% == Switches == +%% %% introduced 2011/04/29, it seems +%% There is a ``standard" page width and a ``tight one" +%% (the latter for contact forms)---|\iftight|: +\newif\iftight +%% In order to move an anchor to the \emph{top} of the screen +%% when the anchor is near the page end, the page must get +%% some extra length by adding empty space at its +%% bottom---|\ifdeep|: +\newif\ifdeep +%% +%% == Page Style Settings (to be set locally) == +% \newcommand*{\pagebgcolor}{\#f5f5f5} %% CSS whitesmoke +% \newcommand*{\pagespacing}{\@cellpadding{4} \@cellspacing{7}} +% \newcommand*{\pagenavicolwidth}{125} +% \newcommand*{\pagemaincolwidth}{584} +% \newcommand*{\pagewholewidth} {792} +%% == Possible Additions to 'blog.sty' == +%% === Tables === +%% |\begin{spancolscell}{<number>}{<style>}| +%% opens an environment that contains a row and a single cell +%% that will span <number> table cells and have style <style>: +\newenvironment{spancolscell}[2]{% + \starttr\startTd{\@colspan{#1} #2 % + \@width{100\%}}% %% TODO works? + }{\endTd\endtr} +%% The |{hiddencells}| einvironment contains cells that do not align +%% with other cells in the surrounding table. The purpose is using +%% cells for horizontal spacing. +\newenvironment{hiddencells} + {\startTable{}\starttr} + {\endtr\endTable} +%% |{pagehiddencells}| is like `{hiddencells}' except that +%% the \HTML\ code is indented: +\newenvironment{pagehiddencells} + {\indentii\hiddencells} + {\indentii\endhiddencells} +%% |\begin{FixedWidthCell}{<width>}{<style>}| \ opens the +%% `{FixedWidthCell}' environment. The content will form a cell +%% of width <width>. <style> are additional formatting parameters: +\newenvironment{FixedWidthCell}[2] + {\startTd{#2}\startTable{\@width{#1}}% + \starttr\startTd{}} + {\endTd\endtr\endTable\endTd} +%% |\tablehspace{<width>}| is a variant of \LaTeX's `\hspace{<glue>}'. +%% It may appear in a table row: +\newcommand*{\tablehspace}[1]{\startTd{\@width{#1} /}} +%% +%% === Graphics === +%% The command names in this section are inspired by the names +%% in the standard \LaTeX\ \ctanpkgref{graphics} package. +%% (They may need some re-organization TODO.) +%% +%% |\simpleinclgrf{<file>}| embeds a graphic file <file> without +%% the tricks of the remaining commands. +\newcommand*{\simpleinclgrf}[1]{\IncludeGrf{alt="" \@border{0}}% + {#1}} +%% |\IncludeGrf{<style>}{<file>}| embeds a graphic file <file> +%% with style settings <style>: +\newcommand*{\IncludeGrf}[2]{<img #1 src="#2">} +%% |\includegraphic{<width>}{<height>}{<file>}{<border>}{<alt>}{<tooltip>}| +%% ...: %% fine with mdoccorr 2011/10/13 +\newcommand*{\includegraphic}[6]{% + \IncludeGrf{% + \@width{#1} \@height{#2} %% data; presentation: + \@border{#4} + alt="#5" \@title{#6}}% + {#3}} +%% |\insertgraphic{<wd>}{<ht>}{<f>}{<b>}{<align>}{<hsp>}{<vsp>}{<alt>}{<t>}| +%% \\adds <hsp> for the `@hspace' and <vsp> for the `@vspace' +%% attribute: +\newcommand*{\insertgraphic}[9]{% + \IncludeGrf{% + \@width{#1} \@height{#2} %% data; presentation: + \@border{#4} + align="#5" hspace="#6" vspace="#8" + alt="#8" \@title{#9}}% + {#3}} +%% |\includegraphic{<wd>}{<ht>}{<file>}{<anchor>}{<border>}{<alt>}{<tooltip>}| +%% \\uses an image with `\includegraphic' parameters as a link to +%% <anchor>: +\newcommand*{\inclgrfref}[7]{% + \fileref{#4}{\includegraphic{#1}{#2}{#3}% + {#5}{#6}{#7}}} +%% +%% === \acro{HTTP}/Wikipedia tooltips === +%% |\httptipref{<tip>}{<www>}{<text>}| \ works like \ +%% `\httpref{<www>}{<text>}' except that <tip> appears as ``tooltip": +\newcommand*{\httptipref}[2]{% + \TagSurr a{\@title{#1}\@href{http://#2}\@target@blank}} +%% |\@target@blank| abbreviates the `@target' setting for +%% opening the target in a new window or tab: +\newcommand*{\@target@blank}{target="_blank"} +%% % |\wikitipref{<language-code>}{<lemma>}{<text>}| \ +%% |\wikitipref{<lc>}{<lem>}{<text>}| +%% works like +%% % \\ +%% % `\wikiref{<language-code>}{<lemma>}{<text>}' +%% `\wikiref{<lc>}{<lem>}{<text>}' +%% except that +%% ``Wikipedia" appears as ``tooltip". +%% |\wikideref| and |\wikienref| are redefined to use it: +\newcommand*{\wikitipref}[2]{% + \httptipref{Wikipedia}{#1.wikipedia.org/wiki/#2}} +\renewcommand*{\wikideref}{\wikitipref{de}} +\renewcommand*{\wikienref}{\wikitipref{en}} +%% +%% == Page Structure == +%% The body of the page is a table of three rows and two columns. +%% === Page Head Row === +%% |\PAGEHEAD| opens the head row and a single cell that will span +%% the two columns of the second row. +\newcommand*{\PAGEHEAD}{% + \startTable{% + \@align@c\ + \@bgcolor{\pagebgcolor}% + \@border{0}%% %% TODO local + \pagespacing + \iftight \else \@width\pagewholewidth \fi + }\CLBrk + %% omitting <tbody> + \ \comment{ HEAD ROW }\CLBrk + \indenti\spancolscell{2}{}% +} +% \newcommand*{\headgrf} [1]{% %% rm. 2011/10/09 +% \indentiii\simplecell{\simpleinclgrf{#1}}} +% \newcommand*{\headgrfskiptitle}[3]{% +% \pagehiddencells +% \headgrf{#1}\CLBrk +% \headskip{#2}\CLBrk +% \headtitle1{#3}\CLBrk +% \endpagehiddencells} +%% |\headuseskiptitle{<grf>}{<skip>}{<title>}| +%% first places <grf>, then skips horizontally by <skip>, +%% and then prints the page title as \xmltagcode{h1}: +\newcommand*{\headuseskiptitle}[3]{% + \pagehiddencells\CLBrk + \indentiii\simplecell{#1}\CLBrk + \headskip{#2}\CLBrk + \headtitle1{#3}\CLBrk + \endpagehiddencells} +%% |\headskip{<skip>}| is like `\tablehspace{<skip>}' +%% except that the \HTML\ code gets an indent. +\newcommand*{\headskip} {\indentiii\tablehspace} +%% Similarly, |\headtitle{<digit>}{<text>}| is like +%% `\heading<digit>{<text>}' apart from an indent and +%% being put into a cell: +\newcommand*{\headtitle}[2]{\indentiii\simplecell{\heading#1{#2}}} +%% +%% === Navigation and Main Row === +%% |\PAGENAVI| closes the head row and opens the ``navigation" +%% column, actually including an `{itemize}' environment. +%% Accordingly, `writings.fdf' has a command `\fileitem'. +%% But it seems that I have not been sure ... +\newcommand*{\PAGENAVI}{% + \indenti\endspancolscell\CLBrk + \indenti\starttr\CLBrk + \ \comment{NAVIGATION COL}\CLBrk + \indentii\FixedWidthCell\pagenavicolwidth + {\@class{paper} +%% <- using `@class'=`paper' here is my brother's idea, +%% not sure about it ... + \@valign@t} + %% omitting `\@height{100\%}' + \itemize} +%% |\PAGEMAINvar{<width>}| closes the navigation column +%% and opens the ``main content" column. The latter gets +%% width <width>: +\newcommand*{\PAGEMAINvar}[1]{% + \indentii\enditemize\ \endFixedWidthCell\CLBrk + \ \comment{ MAIN COL }\CLBrk + \indentii\FixedWidthCell{#1}{}} +%% ... The width may be specified as |\pagemaincolwidth|, +%% then |\PAGEMAIN| works like `\PAGEMAINvar{\pagemaincolwidth}': +\newcommand*{\PAGEMAIN}{\PAGEMAINvar\pagemaincolwidth} +%% +%% === Footer Row === +%% |\PAGEFOOT| closes the ``main content" column as well as +%% the second row, and opens the footer row: +\newcommand*{\PAGEFOOT}{% + \indentii\endFixedWidthCell\CLBrk +% \indentii\tablehspace{96}\CLBrk %% vs. \pagemaincolwidth + %% <- TODO margin right of foot + \indenti\endtr\CLBrk + \ \comment{ FOOT ROW / }\CLBrk + \indenti\spancolscell{2}{\@class{paper} \@align@c}% +%% <- again class ``paper"!? +} +%% |\PAGEEND| closes the footer row and provides all the rest +%% ... needed? +\newcommand*{\PAGEEND}{\indenti\endspancolscell\endTable} +%% +%% == The End and HISTORY == +\endinput + +HISTORY + +2011/04/29 started (? \if...) +2011/09/01 to CTAN as `twocolpg.sty' +2011/09/02 renamed +2011/10/09f. documentation more serious +2011/10/13 `...:' OK |