summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/csplain
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-02-11 22:54:44 +0000
committerKarl Berry <karl@freefriends.org>2013-02-11 22:54:44 +0000
commitda8717a6fc986a13de07e8742cbe83f232909fb9 (patch)
tree8d6c2f8919c5c28200ea0217f772f2d15587e4c4 /Master/texmf-dist/tex/csplain
parentb99bfa8c4694d5cf7526c7100cccc44530c1b079 (diff)
csplain (11feb13)
git-svn-id: svn://tug.org/texlive/trunk@29081 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/csplain')
-rw-r--r--Master/texmf-dist/tex/csplain/base/csfontsm.tex5
-rw-r--r--Master/texmf-dist/tex/csplain/base/csplain.ini5
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/lmfonts.tex4
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/luafonts.tex5
-rw-r--r--Master/texmf-dist/tex/csplain/opmac/opmac.tex288
5 files changed, 209 insertions, 98 deletions
diff --git a/Master/texmf-dist/tex/csplain/base/csfontsm.tex b/Master/texmf-dist/tex/csplain/base/csfontsm.tex
index fcbc5e40108..a8d78de7f40 100644
--- a/Master/texmf-dist/tex/csplain/base/csfontsm.tex
+++ b/Master/texmf-dist/tex/csplain/base/csfontsm.tex
@@ -38,6 +38,11 @@
\regfont\tenrm \regfont\tenit \regfont\tenbf \regfont\tenbi
\regfont\tentt
+% You can use: \letfont \titlefont = \tenbf at15pt
+
+\def\letfont #1{%
+ \def\tmp##1 {\let\tmp\sizespec \def\sizespec{##1}\resizefont#1\let\sizespec\tmp}%
+ \afterassignment\tmp \let#1}
\endinput %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Master/texmf-dist/tex/csplain/base/csplain.ini b/Master/texmf-dist/tex/csplain/base/csplain.ini
index 2472a530617..fbdac4e9891 100644
--- a/Master/texmf-dist/tex/csplain/base/csplain.ini
+++ b/Master/texmf-dist/tex/csplain/base/csplain.ini
@@ -6,7 +6,7 @@
\input hyphen.lan % czech / slovak hyphenation pattern (may be others too)
\input plaina4 % \hsize and \vsize for A4
\everyjob=\expandafter{\the\everyjob
- \message{The format: csplain <Nov. 2012>.}
+ \message{The format: csplain <Jan. 2013>.}
\message{The cs-fonts are preloaded and A4 size implicitly defined.}}
\ifx\xprncode\undefined \else %% The encTeX is detected
\count255=128 % All codes > 128 are printable:
@@ -120,6 +120,9 @@ file extcode.tex renamed to il2code.tex (suggested by Jan Kasprzak)
* \ifx\directlua\undefined\else \input ... \fi added
* \ifx\XeTeXuseglyphmetrics ... added
+** 10 ** <Jan. 2013>
+* \letfont macro introduced.
+* lmfonts.tex: \ifx\font\corkencoded \def\tmp{rm} corrected.
COPYRIGHT
=========
diff --git a/Master/texmf-dist/tex/csplain/fonts/lmfonts.tex b/Master/texmf-dist/tex/csplain/fonts/lmfonts.tex
index 36f8b69662b..f78990fbdb3 100644
--- a/Master/texmf-dist/tex/csplain/fonts/lmfonts.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/lmfonts.tex
@@ -34,6 +34,8 @@
\expandafter\csname\expandafter\tenonlytext\string#1c\endcsname}
\def\tenonlytext{ten}
+\ifx\font\corkencoded \def\tmp{rm}\else \def\tmp{cs}\fi
+
\def\exregtfm #1*{\edef\tmpa{#1*}\expandafter\regtfm\tmpa}
\exregtfm cmr 0 \tmp-lmr5 5.5 \tmp-lmr6 6.5 \tmp-lmr7 7.5 \tmp-lmr8 8.5
@@ -65,6 +67,8 @@
\exregtfm bbfsans 0 \tmp-lmssbx10 *
\exregtfm bbisans 0 \tmp-lmssbo10 *
+\normalmath
+
\let\lmfonts=\font % macros can do test: \ifx\font\lmfonts ...
% end of lmfonts.tex
diff --git a/Master/texmf-dist/tex/csplain/fonts/luafonts.tex b/Master/texmf-dist/tex/csplain/fonts/luafonts.tex
index cc157a5b1e0..c07b2d3e798 100644
--- a/Master/texmf-dist/tex/csplain/fonts/luafonts.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/luafonts.tex
@@ -3,7 +3,6 @@
% LuaTeX needs these \directlua in order to \font primitive works like in XeTeX.
% Petr Olsak Nov. 2012
-%\iffalse
\message{processing luaotfload.lua }
\directlua{luatexbase = luatexbase or {}
luatexbase.luatexversion = \the\luatexversion\space
@@ -18,10 +17,6 @@
luatexbase.require_module('luaotfload')
texio.write_nl = oriwrite % return to original meaning
}
-%\fi
-%\directlua {
-% dofile(kpse.find_file("luatex-fonts.lua","tex"))
-%}
\global\let\luafonts=\relax
\endinput
diff --git a/Master/texmf-dist/tex/csplain/opmac/opmac.tex b/Master/texmf-dist/tex/csplain/opmac/opmac.tex
index d2594a3c2e9..78f826f6316 100644
--- a/Master/texmf-dist/tex/csplain/opmac/opmac.tex
+++ b/Master/texmf-dist/tex/csplain/opmac/opmac.tex
@@ -1,11 +1,11 @@
% OPmac
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Petr Olsak, 2012
+%% Petr Olsak, 2012, 2013
%% The history of versions is at the end of this file, after \endpinput
\ifx\OPmacversion\undefined \else \endinput \fi
-\def\OPmacversion{Dec. 2012}
+\def\OPmacversion{Feb. 2013}
\immediate\write16{This is OPmac (Olsak's Plain macros), version <\OPmacversion>}
@@ -54,6 +54,8 @@
\def\uv#1{\clqq#1\crqq}
\let\\=\undefined
{\lccode`\?=`\% \lowercase{\gdef\percent{?}}}
+{\lccode`\?=`\\ \lowercase{\gdef\bslash{?}}}
+\addprotect\percent \addprotect\bslash
\def\,{\ifmmode \mskip\thinmuskip \else \kern.166em \fi}
@@ -89,14 +91,16 @@
\newdimen\mnoteindent \mnoteindent=10pt % ditance between mnote and text
\newdimen\mnotesize \mnotesize=20mm % the width of the mnote paragraph
-\def\picdir{} % the directory with picture files
-\def\bibtexhook{} % hook in \usebibtex and \usebbl macros
-\def\chaphook{} % hook in \chap
-\def\sechook{} % hook in \sec
-\def\secchook{} % hook in \secc
-\def\cnvhook{} % hook before conversion of outlines
-\def\pghook{} % hook in \output rutine
-
+\def\picdir{} % the directory with picture files
+\def\bibtexhook{} % hook in \usebibtex and \usebbl macros
+\def\chaphook{} % hook in \chap
+\def\sechook{} % hook in \sec
+\def\secchook{} % hook in \secc
+\def\cnvhook{} % hook before conversion of outlines
+\def\pghook{} % hook in \output rutine
+\def\toclinehook{} % hook in \tocline
+\def\mnotehook{} % hook in \mnote to corret its vertical position
+\def\captionhook#1{} % hook in \caption (#1 is "t" or "f")
%%%%%%%%%%%%%% OPmac, CSplain and LaTeX logos, sec. 3.3 in opmac-d.pdf
@@ -200,10 +204,12 @@
\def\magstep#1{\ifcase#1 1000\or1200\or1440\or1728\or2074\or2488\fi\space}
\def\em {\expandafter\ifx \the\font \tenit \additcorr \rm \else
- \expandafter\ifx \the\font \tenbf \bi\aftergroup\/\else
+ \expandafter\ifx \the\font \tenbf \bi\aftergroup\afteritcorr\else
\expandafter\ifx \the\font \tenbi \additcorr \bf \else
- \it \aftergroup\/\fi\fi\fi}
+ \it \aftergroup\afteritcorr\fi\fi\fi}
\def\additcorr{\ifdim\lastskip>0pt \skip0=\lastskip \unskip\/\hskip\skip0 \else\/\fi}
+\def\afteritcorr{\def\tmp{\ifx\next..\else\ifx\next,,\else\/\next\fi\fi}%
+ \afterassignment\tmp \let\next= }
\addprotect\thefontsize \addprotect\thefontscale
\addprotect\typosize \addprotect\typoscale
@@ -296,20 +302,20 @@
\titfont \noindent #1\unskip\par}%
\nobreak\bigskip
}
-\def\chap#1\par{\advance\chapnum by1
- \chaphook \secnum=0 \seccnum=0 \relax
- \edef\thechapnum{\the\chapnum.}%
+\def\chap#1\par{\global\advance\chapnum by1
+ \chaphook \secnum=0 \seccnum=0 \tnum=0 \fnum=0 \dnum=0 \relax
+ \edef\thechapnum{\the\chapnum}%
\printchap{#1\unskip}%
\wlabel\thechapnum \wcontents\Xchap\thechapnum{#1}\nobreak
}
-\def\sec#1\par{\par\advance\secnum by1
+\def\sec#1\par{\par\global\advance\secnum by1
\sechook \seccnum=0 \tnum=0 \fnum=0 \dnum=0 \relax
\edef\thesecnum{\othe\chapnum.\the\secnum}%
\printsec{#1\unskip}%
\insertmark\thesecnum{#1\unskip}%
\wlabel\thesecnum \wcontents\Xsec\thesecnum{#1}\nobreak
}
-\def\secc#1\par{\advance\seccnum by1
+\def\secc#1\par{\global\advance\seccnum by1
\secchook \relax
\edef\theseccnum{\othe\chapnum.\othe\secnum.\the\seccnum}%
\printsecc{#1\unskip}%
@@ -326,7 +332,7 @@
\def\printchap#1{\vfil\break
{\chapfont \noindent \dest[toc:\thechapnum]{1.3em}%
- \mtext{chap} \thechapnum\par\nobreak\smallskip\noindent #1\nbpar}%
+ \mtext{chap} \thechapnum.\par\nobreak\smallskip\noindent #1\nbpar}%
\nobreak\bigskip
\firstnoindent
}
@@ -357,17 +363,19 @@
\def\thednum{(\the\dnum)}
\def\caption/#1 {\isdefined{#1num}%
- \iftrue \advance \csname #1num\endcsname by1
+ \iftrue \global\advance \csname #1num\endcsname by1
\else \opwarning{Unknown caption /#1}%
\fi
\bgroup
\leftskip=\iindent plus1fil
\rightskip=\iindent plus-1fil
- \parfillskip=\iindent plus2fil
+ \parfillskip=0pt plus2fil
\def\par{\endgraf\egroup}%
- \noindent \wlabel{\csname the#1num\endcsname}%
- {\bf \mtext{#1} \csname the#1num\endcsname}\enspace
+ \captionhook{#1}\noindent \wlabel{\csname the#1num\endcsname}%
+ \printcaption{\mtext{#1}}{\csname the#1num\endcsname}%
}
+\def\printcaption#1#2{{\bf#1 #2}\enspace}
+
\def\eqmark{\global\advance\dnum by1
\ifinner\else\eqno \fi \wlabel\thednum \thednum
}
@@ -418,9 +426,9 @@
\def\tocline#1#2#3#4#5{{\leftskip=#1\iindent \rightskip=2\iindent
\ifischap\advance\leftskip by\iindent\fi
\ifnum#1>1 \advance\leftskip by\iindent\fi
- \noindent\llap{#2\toclink{#3}\enspace}%
- {#2#4\unskip}\tocdotfill\pglink{#5}\hskip-2\iindent\null\par}}
-\def\tocdotfill{\leaders\hbox to.8em{\hss.\hss}\hfill}
+ \toclinehook \noindent\llap{#2\toclink{#3}\enspace}%
+ {#2#4\unskip}\nobreak\tocdotfill\pglink{#5}\nobreak\hskip-2\iindent\null\par}}
+\def\tocdotfill{\leaders\hbox to.8em{\hss.\hss}\hskip 1em plus1fill\relax}
\def\maketoc{\par \ifx\toclist\empty
\opwarning{\noexpand\maketoc -- data unavailable, TeX me again}\openref
@@ -776,60 +784,106 @@
%%%%%%%%%%%%%% Colors -- sec. 3.15 in opmac-d.pdf
-\newif\ifpgcolor \pgcolorfalse
+\newif\ifwritecolor \writecolortrue
\newcount\lastpage \lastpage=0 % the last page of the document
-\def\Blue{\setcmykcolor{1.0 1.0 0.0 0}}
-\def\Red{\setcmykcolor{0.0 1.0 1.0 0}}
+\def\Blue{\setcmykcolor{1 1 0 0}}
+\def\Red{\setcmykcolor{0 1 1 0}}
\def\Brown{\setcmykcolor{0 0.67 0.67 0.5}}
-\def\Green{\setcmykcolor{1.0 0.0 1.0 0.0}}
-\def\Yellow{\setcmykcolor{0.0 0.0 1 0}}
-\def\Cyan{\setcmykcolor{1.0 0.0 0 0}}
-\def\Magenta{\setcmykcolor{0.0 1.0 0 0}}
+\def\Green{\setcmykcolor{1 0 1 0}}
+\def\Yellow{\setcmykcolor{0 0 1 0}}
+\def\Cyan{\setcmykcolor{1 0 0 0}}
+\def\Magenta{\setcmykcolor{0 1 0 0}}
\def\White{\setcmykcolor{0 0 0 0}}
\def\Grey{\setcmykcolor{0 0 0 0.5}}
\def\LightGrey{\setcmykcolor{0 0 0 0.2}}
-\def\Black{\setcmykcolor{0 0 0 1}\global\pgcolorfalse}
+\def\Black{\setcmykcolor{0 0 0 1}}
+
+\def\setcmykcolor#1{{%
+ \def\tmp{#1}\expandafter \ifx\csname currcolor\pdfK\endcsname \tmp \else
+ \special{PDF:#1 \pdfK}%
+ \expandafter\xdef\csname currcolor\pdfK\endcsname{#1}%
+ \writecolor\pdfK
+ \fi}%
+}
+\def\writecolor#1{\ifwritecolor
+ \openref
+ \edef\act{\noexpand\wref\noexpand\Xpdfcolor{#1{\csname currcolor#1\endcsname}}}\act
+ \fi
+}
+\def\pdfK{k}
+\def\linecolor#1{{\def\pdfK{K}#1}}
-\ifpdftex
- \def\setcmykcolor#1{\special{PDF:#1 \pdfK}%
- \ifpgcolor\else
- \openref\expandafter\wref\expandafter\Xpdfcolor\expandafter{\pdfK{#1}}%
- \fi
- }
-\else
- \def\setcmykcolor#1{}
-\fi
+\def\pdfblackcolor{0 0 0 1}
+\xdef\currcolork{\pdfblackcolor} \xdef\currcolorK{\pdfblackcolor}
-\def\linecolor#1{{\def\pdfK{K}#1}}
-\def\pdfK{k}
-\def\locpgcolor{\global\pgcolortrue}
+\xdef\savedcolors{}
+
+\def\localcolor{\aftergroup\restorecolor \writecolorfalse
+ \xdef\savedcolors{0{\currcolork}{\currcolorK}\savedcolors}}
+\def\longlocalcolor{\aftergroup\restorecolor
+ \ifwritecolor\else \opwarning{\noexpand\longlocalcolor inside
+ \string\localcolor. Something wrong}\fi
+ \writecolortrue
+ \xdef\savedcolors{1{\currcolork}{\currcolorK}\savedcolors}}
+\let\locpgcolor=\relax % for backward compatibility
+
+\def\restorecolor{{\def\tmp##1##2##3##4\end{\xdef\savedcolors{##4}%
+ \def\tmpa{##2}\def\tmpb{##3}\writecolortrue
+ \ifx\tmpa\currcolork \else \special{PDF:##2 k}\xdef\currcolork{##2}%
+ \ifnum##1=1 \writecolor k\fi\fi
+ \ifx\tmpb\currcolorK \else \special{PDF:##3 K}\xdef\currcolorK{##3}%
+ \ifnum##1=1 \writecolor K\fi\fi}%
+ \expandafter\tmp\savedcolors\end}}
+
+\addprotect\setcmykcolor \addprotect\localcolor \addprotect\longlocalcolor
+
+\def\begoutput{\writecolorfalse \let\longlocalcolor=\localcolor
+ \edef\restoreoutputcolor{%
+ \xdef\noexpand\currcolork{\currcolork}\xdef\noexpand\currcolorK{\currcolorK}}%
+ \xdef\currcolork{\pdfblackcolor}\xdef\currcolorK{\pdfblackcolor}%
+ \immediate\wref\Xpage{{\the\pageno}}%
+}
+\def\endoutput{\restoreoutputcolor}
\def\Xpdfcolork#1{\def\pdflastcolork{#1}}
\def\XpdfcolorK#1{\def\pdflastcolorK{#1}}
-\def\pdfblackcolor{0 0 0 1}
\let\pdflastcolork=\pdfblackcolor \let\pdflastcolorK=\pdfblackcolor
\def\Xpage#1{\lastpage=#1 \fnotenumlocal=0
\ifx\pdflastcolork\pdfblackcolor\else
- \isdefined{pg:#1}\iftrue \else \sxdef{pg:#1}{}\fi
- {\let\setpgcolor=\relax \sxdef{pg:#1}%
- {\csname pg:#1\endcsname\setpgcolor k{\pdflastcolork}}}\fi
+ \isdefined{pgc:#1}\iftrue \else \sxdef{pgc:#1}{}\fi
+ {\let\setpgcolor=\relax \sxdef{pgc:#1}%
+ {\csname pgc:#1\endcsname\setpgcolor k{\pdflastcolork}}}\fi
\ifx\pdflastcolorK\pdfblackcolor\else
- \isdefined{pg:#1}\iftrue \else \sxdef{pg:#1}{}\fi
- {\let\setpgcolor=\relax \sxdef{pg:#1}%
- {\csname pg:#1\endcsname\setpgcolor K{\pdflastcolorK}}}\fi
+ \isdefined{pgc:#1}\iftrue \else \sxdef{pgc:#1}{}\fi
+ {\let\setpgcolor=\relax \sxdef{pgc:#1}%
+ {\csname pgc:#1\endcsname\setpgcolor K{\pdflastcolorK}}}\fi
}
\def\setpgcolor#1#2{\special{PDF:#2 #1}}
+\def\preboxcclv{\csname pgc:\the\pageno\endcsname}
+\def\postboxcclv{%
+ \def\setpgcolor##1##2{\expandafter\xdef\csname currcolor##1\endcsname{##2}}%
+ \ifnum\pageno<\lastpage {\advance\pageno by1 \csname pgc:\the\pageno\endcsname}%
+ \else \xdef\currcolork{\pdflastcolork}\xdef\currcolorK{\pdflastcolorK}\fi
+ \Black \linecolor\Black
+}
+
+\ifpdftex\else
+ \def\setcmykcolor#1{}
+ \let\localcolor=\relax
+\fi
+
\def\draft{\edef\tmp{\headline={\noexpand\draftbox{\tenbf DRAFT}\the\headline}}
\ifpdftex \tmp \else
- \opwarning{\string\draft: Grey color is possible in pdfTeX only}\fi}
+ \opwarning{\string\draft: Grey color is possible in pdfTeX only}%
+ \fi}
\def\draftbox#1{\vbox to0pt{\setbox0=\hbox{\typosize[10/]#1}%
\kern.5\vsize \kern4\wd0 \hbox to0pt{\kern.5\hsize \kern-2.5\wd0
\pdfsave \pdfrotate{55}\pdfscale{10}{10}%
- \hbox to0pt{\locpgcolor\LightGrey \box0\hss\Black}%
+ \hbox to0pt{\localcolor\LightGrey \box0\hss}%
\pdfrestore
\hss}\vss}\hss}
@@ -846,31 +900,28 @@
\def\dest[#1]#2{}
\def\link[#1:#2]#3#4{\leavevmode\pdfstartlink height.9em depth.3em
- \pdfborder{#1} goto name{#1:#2}\relax
- \ifx\Black#3#4\else#3#4\Black\fi \pdfendlink
+ \pdfborder{#1} goto name{#1:#2}\relax {#3#4}\pdfendlink
}
-\def\urllink[#1:#2]#3{{\leavevmode\pdfstartlink height.9em depth.3em
- \pdfborder{#1}user{/Subtype/Link/A << /Type/Action/S/URI/URI(#2)>>}\relax
- \urlcolor{#3}\Black\pdfendlink}%
+\def\urllink[#1:#2]#3{{\let~=\relax \let\\=\relax \let\{=\relax \let\}=\relax
+ \leavevmode\pdfstartlink height.9em depth.3em
+ \pdfborder{#1}user{/Subtype/Link/A <</Type/Action/S/URI/URI(#2)>>}\relax
+ {\urlcolor#3}\pdfendlink}%
}
-\def\url{\leavevmode\bgroup \adef{/}{\\}%
- \catcode`\_=12 \catcode`\#=12 \catcode`\~=12 \dourl}
-\def\dourl#1{\def\\{/}\ulink[url:#1]{\tt\def\\{\discretionary{/}{}{/}}#1}\egroup}
-
\def\toclink#1{#1}
\def\pglink#1{#1}
\def\citelink#1{#1}
\def\reflink[#1]#2{#2}
-\def\ulink[#1]#2{#2}
+\def\ulink[#1]#2{{#2}}
+\def\urlcolor{}
\def\hyperlinks#1#2{%
\let\dest=\destactive
- \def\toclink##1{\locpgcolor\link[toc:##1]{#1}{##1}}%
- \def\pglink##1{\locpgcolor\link[pg:##1]{#1}{##1}}%
- \def\citelink##1{\locpgcolor\link[cite:##1]{#1}{##1}}%
- \def\reflink[##1]##2{\locpgcolor\link[ref:##1]{#1}{##2}}%
+ \def\toclink##1{\link[toc:##1]{\localcolor#1}{##1}}%
+ \def\pglink##1{\link[pg:##1]{\localcolor#1}{##1}}%
+ \def\citelink##1{\link[cite:##1]{\localcolor#1}{##1}}%
+ \def\reflink[##1]##2{\link[ref:##1]{\localcolor#1}{##2}}%
\def\ulink[##1]##2{\urllink[##1]{##2}}%
- \def\urlcolor{#2}%
+ \def\urlcolor{\longlocalcolor#2}%
}
\def\pdfborder#1{\if$#1$\else \isdefined{#1border}\iftrue
@@ -886,6 +937,34 @@
\def\hyperlinks#1#2{}
\fi
+\def\url#1{\def\tmpb{#1}%
+ \replacestrings{//}{\urlskip\urlslashslash\urlbskip}%
+ \replacestrings{/}{\urlskip/\urlbskip}%
+ \replacestrings{.}{\urlskip.\urlbskip}%
+ \replacestrings{?}{\urlskip?\urlbskip}%
+ \replacestrings{=}{\urlskip=\urlbskip}%
+ \replacestrings{~}{\char`\~ }%
+ \replacestrings{_}{\char`\_ }%
+ \replacestrings{^}{\char`\^ }%
+ \replacestrings{\\}{\bslash}%
+ \replacestrings{\{}{\char`\{ }%
+ \replacestrings{\}}{\char`\} }%
+ \replacestrings{&}{\urlbskip\char`\& \urlskip}%
+ \ulink[url:#1]{\urlfont\tmpb}%
+}
+\def\urlfont{\tt}
+\def\urlskip{\null\nobreak\hskip0pt plus0.05em\relax}
+\def\urlbskip{\penalty100 \hskip0pt plus0.05em\relax}
+\def\urlslashslash{/\urlskip/}
+\addprotect\url
+
+\def\replacestrings#1#2{%
+ \def\tmp##1#1##2\relax{\if$##2$\addto\tmpb{##1}\else\addto\tmpb{##1#2}\tmp##2\relax\fi}%
+ \expandafter\def\expandafter\tmpb\expandafter{\expandafter}%
+ \expandafter\tmp\tmpb\/#1\relax
+ \def\tmp##1\/{\def\tmpb{##1}}\expandafter\tmp\tmpb
+}
+
%%%%%%%%%%%%%% Outlines -- sec. 3.17 in opmac-d.pdf
@@ -955,7 +1034,7 @@
\newcount\viline
\newread\vifile
-\def\setverb{\def\do##1{\catcode`##1=12}\dospecials \catcode`\*=12 }
+\def\setverb{\frenchspacing\def\do##1{\catcode`##1=12}\dospecials \catcode`\*=12 }
\def\begtt{\ttskip\bgroup \wipeepar
\setverb \adef{ }{ }%
\ifx\savedttchar\undefined \else \catcode\savedttchar=12 \fi
@@ -1121,7 +1200,7 @@
\newdimen\picw \picw=0pt
\ifpdftex
- \def\inspic #1 {\ifdim\picw=0pt
+ \def\inspic #1 {\relax\ifdim\picw=0pt
\opwarning{\noexpand\inspic -- the width \noexpand\picw is not set}%
\else
\hbox{\pdfximage width\picw {\picdir#1}\pdfrefximage\pdflastximage}%
@@ -1203,6 +1282,7 @@
\sxdef{fn:\the\fnotenum}{\the\fnotenumlocal}}
\newcount\mnotenum \mnotenum=0 % global counter of mnotes
+\newdimen\mnoteskip \mnoteskip=0pt
\def\mnote#1{\ifvmode \mnoteA{#1}\nobreak\vskip-\baselineskip
\else \strut\vadjust{\kern-\dp\strutbox \mnoteA{#1}\kern\dp\strutbox}%
@@ -1216,13 +1296,13 @@
\expandafter\ifx\tmp \left
\hbox to0pt{\kern-\mnotesize \kern-\mnoteindent
\vbox to0pt{\vss \setbox0=\vtop{%
- \hsize=\mnotesize \leftskip=0pt plus 1fill\noindent#1}%
- \dp0=0pt \box0}\hss}%
+ \hsize=\mnotesize \leftskip=0pt plus 1fill \relax \mnotehook \noindent#1}%
+ \dp0=0pt \box0 \kern\mnoteskip \global\mnoteskip=0pt}\hss}%
\else
\hbox to0pt{\kern\hsize \kern\mnoteindent
\vbox to0pt{\vss \setbox0=\vtop{%
- \hsize=\mnotesize \rightskip=0pt plus 1fil\noindent#1}%
- \dp0=0pt \box0}\hss}%
+ \hsize=\mnotesize \rightskip=0pt plus 1fil \relax \mnotehook \noindent#1}%
+ \dp0=0pt \box0 \kern\mnoteskip \global\mnoteskip=0pt}\hss}%
\fi
}
\def\Xmnote{\advance\mnotenum by1
@@ -1292,9 +1372,9 @@
\def\bib[#1]{\par \ifnum\bibnum>0 \bibskip \fi
\advance\bibnum by1
\wbib{#1}{\the\bibnum}%
- \hangindent=\iindent \hangafter=1
+ \hangindent=\iindent
\noindent \dest[cite:\the\bibnum]{1.2em}%
- \hskip\iindent \llap{[\the\bibnum] }\ignorespaces
+ \indent \llap{[\the\bibnum] }\ignorespaces
}
\def\wbib#1#2{\edef\tmp{\wref\Xbib{{#1}{#2}}}%
\ifx\tmp\empty\else \immediate\tmp \fi
@@ -1332,8 +1412,7 @@
\def\httpAddr##1{\url{http:##1}}\def\\{\hfill\break}%
\def\newblock{\hskip .11em plus.33em minus.07em}%
\def\mbox{\leavevmode\hbox}\let\em=\it
- \leftskip=\iindent
- \bibtexhook\relax
+ \parindent=\iindent \bibtexhook\relax
\input #1.bbl
\par
\fi
@@ -1344,8 +1423,9 @@
\def\bibitemD#1{\ifnum\bibnum>0 \bibskip \fi
\advance\bibnum by1
\noindent \dest[cite:\if$\tmpa$\the\bibnum\else\tmpa\fi]{1.2em}%
- \if$\tmpa$\llap{[\the\bibnum] }\wbib{#1}{\the\bibnum}\else
- \hskip-\iindent [\tmpa]\wbib{#1}{\tmpa}\enskip
+ \hangindent=\parindent
+ \if$\tmpa$\indent\llap{[\the\bibnum] }\wbib{#1}{\the\bibnum}%
+ \else [\tmpa]\wbib{#1}{\tmpa}\enskip
\fi
\ignorespaces
}
@@ -1355,7 +1435,8 @@
\iindent=4em
\def\bibitemC##1{\ifnum\bibnum>0 \bibskip \fi
\advance\bibnum by1
- \noindent \llap{[##1]\enspace}\ignorespaces
+ \noindent \hangindent=\parindent
+ \indent \llap{[##1]\enspace}\ignorespaces
}%
\readbblfile{\jobname}%
\egroup
@@ -1395,22 +1476,32 @@
%%%%%%%%%%%%%% output -- sec. 3.24 in opmac-d.pdf
-\output={\opmacoutput}
+\output={\begoutput \opmacoutput \endoutput}
-\def\opmacoutput{\def\nl{ }%
- \setbox0=\vbox{\makeheadline\prepage\pagebody\makefootline}%
+\def\opmacoutput{%
+ \setbox0=\vbox{\makeheadline\pagebody\makefootline}%
\pghook \protectlist
\shipout\box0 \advancepageno
\ifnum\outputpenalty>-20000 \else\dosupereject\fi
}
\def\doprotect#1{\let#1=\relax}
+\addto\begoutput{\def\nl{ }}
+\def\prepage{\dest[pg:\the\pageno]{25pt}}
+
+{\catcode`\@=11
+\gdef\pagecontents{\prepage % dest of pageno
+ \ifvoid\topins\else\unvbox\topins\fi
+ \preboxcclv % colors setting
+ \dimen@=\dp\@cclv \unvbox\@cclv % open up \box255
+ \postboxcclv % colors restoring
+ \ifvoid\footins\else % footnote info is present
+ \vskip\skip\footins
+ \footnoterule
+ \unvbox\footins\fi
+ \ifr@ggedbottom \kern-\dimen@ \vfil \fi
+}}
-\def\prepage{\wref\Xpage{{\the\pageno}}%
- \dest[pg:\the\pageno]{25pt}%
- \csname pg:\the\pageno\endcsname
-}
-
-\footline={\locpgcolor\Black \hss\tenrm\thefontsize[10]\the\pageno\hss}
+\footline={\hss\tenrm\thefontsize[10]\the\pageno\hss}
%%%%%%%%%%%%%% margins -- sec. 3.25 in opmac-d.pdf
@@ -1480,7 +1571,20 @@
%%%%%%%%%%%%%% History of versions:
beta (a) Nov. 2012 ... first released version.
-Dec. 2012 ... first stable version
+Dec. 2012 first stable version
+Jan. 2013 \parfillskip in \caption corrected.
+ \athetnum, \captionhook introduced.
+ \nobreak in \tocline corrected, \tocdotfill corrected.
+ New \url, \urlcolor implicitly defined as \empty.
+ \bibitem by \hangindent, \afteritcorr in \em
+ \bslash introduced
+ \toclinehook \mnotehook, \mnoteskip introduced.
+ \global\advance in \caption corrected.
+ \thechapnum is without the dot.
+Feb. 2013 \urllink: works with \\, \%, \#, \$, \{, \}.
+ \localcolor, \longlocalcolor introduced
+ \global\advance for chap./sec. nums corrected
+ \printcaption introduced
%%%%%%%%%%%%%% End of opmac.tex