X-Git-Url: https://git.distorted.org.uk/~mdw/strayman/blobdiff_plain/b8d14be93379e4a61ccb6d06a7c30a39dfe44481..HEAD:/strayman.dtx diff --git a/strayman.dtx b/strayman.dtx index d1327ba..279c5f0 100644 --- a/strayman.dtx +++ b/strayman.dtx @@ -35,7 +35,7 @@ %<+strayman> [2003/09/04 1.10 Straylight document class] % \end{meta-comment} % -% \CheckSum{3040} +% \CheckSum{3090} %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z @@ -56,7 +56,7 @@ % \begin{meta-comment} % %<*driver> -\documentclass[10pt,a4paper,book]{strayman} +\documentclass[10pt,a4paper,book,nohyperref]{strayman} \input{mdwtools} \usepackage{mdwlist} \describesclass{strayman} @@ -194,6 +194,7 @@ \newif\if@numbering\@numberingtrue \newif\if@herefloats\@herefloatsfalse \newif\if@runinsubsubsec\@runinsubsubsectrue +\newif\if@hyperref\@hyperreftrue \newif\if@indentpar \newdimen\pagesurround \let\headfam\rmfamily @@ -285,6 +286,8 @@ \DeclareOption{indentpar}{\@indentpartrue} \DeclareOption{noindentpar}{\@indentparfalse} \DeclareOption{book}{\@titlepagetrue\@articlefalse} +\DeclareOption{hyperref}{\@hyperreftrue} +\DeclareOption{nohyperref}{\@hyperreffalse} % \end{macrocode} % % \subsection{Set up the options} @@ -306,11 +309,19 @@ \ifpdfing \pdfpageheight\paperheight \pdfpagewidth\paperwidth +\fi +\if@hyperref \AtEndOfClass{% \RequirePackage[% - pdftex, bookmarks = true, bookmarksnumbered = true, bookmarksdepth = 3, - colorlinks = true, linkcolor = blue, breaklinks = true]{hyperref} + bookmarks = true, bookmarksnumbered = true, bookmarksdepth = 3, + colorlinks = true, linkcolor = blue, citecolor = blue, urlcolor = blue, + breaklinks = true]{hyperref} } + \ifpdfing + \PassOptionsToPackage{pdftex}{hyperref} + \else + \PassOptionsToPackage{dvips}{hyperref} + \fi \fi % \end{macrocode} % @@ -764,7 +775,7 @@ % \begin{macrocode} \marginparpush5\p@ % \end{macrocode} -% +% % Footnotes need some setting up now. % % \begin{macrocode} @@ -968,7 +979,7 @@ % % \begin{environment}{titlepage} % -% The \env{titlepage} environment typesets its contents on a title page. +% The \env{titlepage} environment typesets its contents on a title page. % The implementation is fairly straightforward: we just need to do some % fiddling with two-column layouts. We also add in some hacking to make % title pages centred properly, a bit like the \env{central} environment. @@ -1168,7 +1179,6 @@ \@tempswafalse% \fi% \hbox{}\vfil% - \begin{centrepage}% \secdef\@part\@spart% } % \end{macrocode} @@ -1189,6 +1199,7 @@ \addcontentsline{toc}{part}{#1}% \fi% \markboth{}{}% + \begin{centrepage}% \centering% \interlinepenalty\@M% \reset@font% @@ -1211,6 +1222,7 @@ % % \begin{macrocode} \def\@spart#1{% + \begin{centrepage}% \centering% \interlinepenalty\@M% \reset@font% @@ -1358,7 +1370,7 @@ % descenders, although obviously we must lower the rule if the heading really % is very deep indeed. % -% +% % We'll approach this a bit at a time. % % \begin{macrocode} @@ -1619,7 +1631,7 @@ % And now we can set the paragraph indent. % \begin{macrocode} \if@indentpar - \parindent\leftmargini + \parindent1.2em \else \parindent\z@ \fi @@ -1648,6 +1660,7 @@ % % \begin{macrocode} \def\@listI{% + \ifvmode\else\@beginparpenalty\@M\fi% \leftmargin\leftmargini% \parsep\@parskip% \topsep\@parshortfall% @@ -1656,27 +1669,33 @@ \let\@listi\@listI \@listi% \def\@listii{% + \ifvmode\else\@beginparpenalty\@M\fi% + \topsep\z@\@plus\p@% \leftmargin\leftmarginii% \labelwidth\leftmarginii% \advance\labelwidth-\labelsep% } \def\@listiii{% + \ifvmode\else\@beginparpenalty\@M\fi% \leftmargin\leftmarginiii% \labelwidth\leftmarginiii% \advance\labelwidth-\labelsep% % \partopsep\p@\@plus\z@\@minus\p@% } \def\@listiv{% + \ifvmode\else\@beginparpenalty\@M\fi% \leftmargin\leftmarginiv% \labelwidth\leftmarginiv% \advance\labelwidth-\labelsep% } \def\@listv{% + \ifvmode\else\@beginparpenalty\@M\fi% \leftmargin\leftmarginv% \labelwidth\leftmarginv% \advance\labelwidth-\labelsep% } \def\@listvi{% + \ifvmode\else\@beginparpenalty\@M\fi% \leftmargin\leftmarginvi% \labelwidth\leftmarginvi% \advance\labelwidth-\labelsep% @@ -2213,7 +2232,7 @@ % \begin{macro}{\@dottedtocline} % % This is actually a part of the \LaTeX\ kernel, although it's not quite -% right the way it is. We've improved the handling of line breaks after the +% right the way it is. We've improved the handling of line breaks after the % title. % % \begin{macrocode} @@ -2390,7 +2409,7 @@ % % The |passim| encapsulator is used to typeset the word `\textit{passim}' % after a page range. -% +% % \begin{macrocode} \def\passim#1{#1 \textit{passim}} % Passim encapsulator for indices % \end{macrocode} @@ -2518,7 +2537,7 @@ \@combinefloats \ifvoid\footins \else \setbox\@outputbox \vbox {% - \boxmaxdepth \@maxdepth + \boxmaxdepth \@maxdepth \unvbox \@outputbox \vskip \skip\footins \vfil @@ -2682,6 +2701,7 @@ \let\headrulewidth\z@ \headwidth\textwidth \advance\headwidth\leftindent +\fancyhfoffset[LE,LO]{\leftindent} \fancypagestyle{headings}{% \fancyhf{} \fancyhead[LE]{\bfseries\@headertitle} @@ -2737,7 +2757,7 @@ \parindent\z@ \parskip\z@ \everypar{\parskip\parboxparskip\everypar{}}% \linewidth\hsize - \@totalleftmargin\z@ + \@totalleftmargin\z@ \leftskip\z@skip \rightskip\z@skip \@rightskip\z@skip \parfillskip\@flushglue \lineskip\normallineskip \baselineskip\normalbaselineskip