From a5a98b541f816d41f213790eda9d0fa8054e7716 Mon Sep 17 00:00:00 2001
From: Ian Jauslin <ian@jauslin.org>
Date: Wed, 5 Aug 2020 02:10:15 -0400
Subject: Update to v1.0:

  Through rewrite, almost from scratch, with a new emphasis on positive x.
---
 libs/ian.cls | 673 -----------------------------------------------------------
 1 file changed, 673 deletions(-)
 delete mode 100644 libs/ian.cls

(limited to 'libs/ian.cls')

diff --git a/libs/ian.cls b/libs/ian.cls
deleted file mode 100644
index aec99ad..0000000
--- a/libs/ian.cls
+++ /dev/null
@@ -1,673 +0,0 @@
-%%
-%% Ian's class file
-%%
-
-%% TeX format
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-
-%% class name
-\ProvidesClass{ian}[2017/09/29]
-
-%% boolean to signal that this class is being used
-\newif\ifianclass
-
-%% options
-% no section numbering in equations
-\DeclareOption{section_in_eq}{\sectionsineqtrue}
-\DeclareOption{section_in_fig}{\sectionsinfigtrue}
-\DeclareOption{section_in_theo}{\PassOptionsToPackage{\CurrentOption}{iantheo}}
-\DeclareOption{section_in_all}{\sectionsineqtrue\sectionsinfigtrue\PassOptionsToPackage{section_in_theo}{iantheo}}
-\DeclareOption{subsection_in_eq}{\subsectionsineqtrue}
-\DeclareOption{subsection_in_fig}{\subsectionsinfigtrue}
-\DeclareOption{subsection_in_theo}{\PassOptionsToPackage{\CurrentOption}{iantheo}}
-\DeclareOption{subsection_in_all}{\subsectionsineqtrue\subsectionsinfigtrue\PassOptionsToPackage{subsection_in_theo}{iantheo}}
-\DeclareOption{no_section_in_eq}{\sectionsineqfalse}
-\DeclareOption{no_section_in_fig}{\sectionsinfigfalse}
-\DeclareOption{no_section_in_theo}{\PassOptionsToPackage{\CurrentOption}{iantheo}}
-\DeclareOption{no_section_in_all}{\sectionsineqfalse\sectionsinfigfalse\PassOptionsToPackage{no_section_in_theo}{iantheo}}
-\DeclareOption{no_subsection_in_eq}{\subsectionsineqfalse}
-\DeclareOption{no_subsection_in_fig}{\subsectionsinfigfalse}
-\DeclareOption{no_subsection_in_theo}{\PassOptionsToPackage{\CurrentOption}{iantheo}}
-\DeclareOption{no_subsection_in_all}{\subsectionsineqfalse\subsectionsinfigfalse\PassOptionsToPackage{no_subsection_in_theo}{iantheo}}
-% reset point
-\DeclareOption{point_reset_at_section}{\PassOptionsToPackage{reset_at_section}{point}}
-\DeclareOption{point_no_reset_at_section}{\PassOptionsToPackage{no_reset_at_section}{point}}
-\DeclareOption{point_reset_at_theo}{\PassOptionsToPackage{reset_at_theo}{point}}
-\DeclareOption{point_no_reset_at_theo}{\PassOptionsToPackage{no_reset_at_theo}{point}}
-
-\def\ian@defaultoptions{
-  \ExecuteOptions{section_in_all, no_subsection_in_all}
-  \ProcessOptions
-
-  %% required packages
-  \RequirePackage{iantheo}
-  \RequirePackage{point}
-  \RequirePackage{color}
-  \RequirePackage{marginnote}
-  \RequirePackage{amssymb}
-  \PassOptionsToPackage{hidelinks}{hyperref}
-  \RequirePackage{hyperref}
-}
-
-%% paper dimensions
-\setlength\paperheight{297mm}
-\setlength\paperwidth{210mm}
-
-%% fonts
-\input{size11.clo}
-\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
-\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
-\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
-\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
-\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
-
-%% text dimensions
-\hoffset=-50pt
-\voffset=-72pt
-\textwidth=460pt
-\textheight=704pt
-
-
-%% remove default indentation
-\parindent=0pt
-%% indent command
-\def\indent{\hskip20pt}
-
-%% something is wrong with \thepage, redefine it
-\gdef\thepage{\the\c@page}
-
-%% array lines (to use the array environment)
-\setlength\arraycolsep{5\p@}
-\setlength\arrayrulewidth{.4\p@}
-
-
-%% correct vertical alignment at the end of a document
-\AtEndDocument{
-  \vfill
-  \eject
-}
-
-
-%% hyperlinks
-% hyperlinkcounter
-\newcounter{lncount}
-% hyperref anchor
-\def\hrefanchor{%
-\stepcounter{lncount}%
-\hypertarget{ln.\thelncount}{}%
-}
-
-%% define a command and write it to aux file
-\def\outdef#1#2{%
-  % define command%
-  \expandafter\xdef\csname #1\endcsname{#2}%
-  % hyperlink number%
-  \expandafter\xdef\csname #1@hl\endcsname{\thelncount}%
-  % write command to aux%
-  \immediate\write\@auxout{\noexpand\expandafter\noexpand\gdef\noexpand\csname #1\endcsname{\csname #1\endcsname}}%
-  \immediate\write\@auxout{\noexpand\expandafter\noexpand\gdef\noexpand\csname #1@hl\endcsname{\thelncount}}%
-}
-
-%% can call commands even when they are not defined
-\def\safe#1{%
-  \ifdefined#1%
-    #1%
-  \else%
-    {\color{red}\bf?}%
-  \fi%
-}
-
-%% define a label for the latest tag
-%% label defines a command containing the string stored in \tag
-\def\deflabel{
-  \def\label##1{\expandafter\outdef{label@##1}{\safe\tag}}
-
-  \def\ref##1{%
-    % check whether the label is defined (hyperlink runs into errors if this check is omitted)
-    \ifcsname label@##1@hl\endcsname%
-      \hyperlink{ln.\csname label@##1@hl\endcsname}{{\color{blue}\safe\csname label@##1\endcsname}}%
-    \else%
-      \ifcsname label@##1\endcsname%
-	{\color{blue}\csname ##1\endcsname}%
-	\else%
-	{\bf ??}%
-      \fi%
-    \fi%
-  }
-}
-
-
-%% make a custom link at any given location in the document
-\def\makelink#1#2{%
-  \hrefanchor%
-  \outdef{label@#1}{#2}%
-}
-
-
-%% section command
-% counter
-\newcounter{sectioncount}
-% space before section
-\newlength\secskip
-\setlength\secskip{40pt}
-% a prefix to put before the section number, e.g. A for appendices
-\def\sectionprefix{}
-% define some lengths
-\newlength\secnumwidth
-\newlength\sectitlewidth
-\def\section#1{
-  % reset counters
-  \stepcounter{sectioncount}
-  \setcounter{subsectioncount}{0}
-  \ifsectionsineq
-    \setcounter{seqcount}0
-  \fi
-  \ifsectionsinfig
-    \setcounter{figcount}0
-  \fi
-
-  % space before section (if not first)
-  \ifnum\thesectioncount>1
-    \vskip\secskip
-    \penalty-1000
-  \fi
-
-  % hyperref anchor
-  \hrefanchor
-  % define tag (for \label)
-  \xdef\tag{\sectionprefix\thesectioncount}
-
-  % get widths
-  \def\@secnum{{\bf\Large\sectionprefix\thesectioncount.\hskip10pt}}
-  \settowidth\secnumwidth{\@secnum}
-  \setlength\sectitlewidth\textwidth
-  \addtolength\sectitlewidth{-\secnumwidth}
-
-  % print name
-  \parbox{\textwidth}{
-  \@secnum
-  \parbox[t]{\sectitlewidth}{\Large\bf #1}}
-
-  % write to table of contents
-  \iftoc
-    % save lncount in aux variable which is written to toc
-    \immediate\write\tocoutput{\noexpand\expandafter\noexpand\edef\noexpand\csname toc@sec.\thesectioncount\endcsname{\thelncount}}
-    \write\tocoutput{\noexpand\tocsection{#1}{\thepage}}
-  \fi
-
-  %space
-  \par\penalty10000
-  \bigskip\penalty10000
-}
-
-%% subsection
-% counter
-\newcounter{subsectioncount}
-% space before subsection
-\newlength\subsecskip
-\setlength\subsecskip{30pt}
-\def\subsection#1{
-  % counters
-  \stepcounter{subsectioncount}
-  \setcounter{subsubsectioncount}{0}
-  \ifsubsectionsineq
-    \setcounter{seqcount}0
-  \fi
-  \ifsubsectionsinfig
-    \setcounter{figcount}0
-  \fi
-
-  % space before subsection (if not first)
-  \ifnum\thesubsectioncount>1
-    \vskip\subsecskip
-    \penalty-500
-  \fi
-
-  % hyperref anchor
-  \hrefanchor
-  % define tag (for \label)
-  \xdef\tag{\sectionprefix\thesectioncount.\thesubsectioncount}
-
-  % get widths
-  \def\@secnum{{\bf\large\hskip.5cm\sectionprefix\thesectioncount.\thesubsectioncount.\hskip5pt}}
-  \settowidth\secnumwidth{\@secnum}
-  \setlength\sectitlewidth\textwidth
-  \addtolength\sectitlewidth{-\secnumwidth}
-  % print name
-  \parbox{\textwidth}{
-  \@secnum
-  \parbox[t]{\sectitlewidth}{\large\bf #1}}
-
-  % write to table of contents
-  \iftoc
-    % save lncount in aux variable which is written to toc
-    \immediate\write\tocoutput{\noexpand\expandafter\noexpand\edef\noexpand\csname toc@subsec.\thesectioncount.\thesubsectioncount\endcsname{\thelncount}}
-    \write\tocoutput{\noexpand\tocsubsection{#1}{\thepage}}
-  \fi
-
-  % space
-  \par\penalty10000
-  \medskip\penalty10000
-}
-
-%% subsubsection
-% counter
-\newcounter{subsubsectioncount}
-% space before subsubsection
-\newlength\subsubsecskip
-\setlength\subsubsecskip{20pt}
-\def\subsubsection#1{
-  % counters
-  \stepcounter{subsubsectioncount}
-
-  % space before subsubsection (if not first)
-  \ifnum\thesubsubsectioncount>1
-    \vskip\subsubsecskip
-    \penalty-500
-  \fi
-
-  % hyperref anchor
-  \hrefanchor
-  % define tag (for \label)
-  \xdef\tag{\sectionprefix\thesectioncount.\thesubsectioncount.\thesubsubsectioncount}
-
-  % get widths
-  \def\@secnum{{\bf\hskip1.cm\sectionprefix\thesectioncount.\thesubsectioncount.\thesubsubsectioncount.\hskip5pt}}
-  \settowidth\secnumwidth{\@secnum}
-  \setlength\sectitlewidth\textwidth
-  \addtolength\sectitlewidth{-\secnumwidth}
-  % print name
-  \parbox{\textwidth}{
-  \@secnum
-  \parbox[t]{\sectitlewidth}{\large\bf #1}}
-
-  % write to table of contents
-  \iftoc
-    % save lncount in aux variable which is written to toc
-    \immediate\write\tocoutput{\noexpand\expandafter\noexpand\edef\noexpand\csname toc@subsubsec.\thesectioncount.\thesubsectioncount.\thesubsubsectioncount\endcsname{\thelncount}}
-    \write\tocoutput{\noexpand\tocsubsubsection{#1}{\thepage}}
-  \fi
-
-  % space
-  \par\penalty10000
-  \medskip\penalty10000
-}
-
-%% itemize
-\newlength\itemizeskip
-% left margin for items
-\setlength\itemizeskip{20pt}
-\newlength\itemizeseparator
-% space between the item symbol and the text
-\setlength\itemizeseparator{5pt}
-% penalty preceding an itemize
-\newcount\itemizepenalty
-\itemizepenalty=0
-% counter counting the itemize level
-\newcounter{itemizecount}
-
-% item symbol
-\def\itemizept#1{
-  \ifnum#1=1
-    \textbullet
-  \else
-    $\scriptstyle\blacktriangleright$
-  \fi
-}
-
-
-\newlength\current@itemizeskip
-\setlength\current@itemizeskip{0pt}
-\def\itemize{%
-  \par\expandafter\penalty\the\itemizepenalty\medskip\expandafter\penalty\the\itemizepenalty%
-  \addtocounter{itemizecount}{1}%
-  \addtolength\current@itemizeskip{\itemizeskip}%
-  \leftskip\current@itemizeskip%
-}
-\def\enditemize{%
-  \addtocounter{itemizecount}{-1}%
-  \addtolength\current@itemizeskip{-\itemizeskip}%
-  \par\expandafter\penalty\the\itemizepenalty\leftskip\current@itemizeskip%
-  \medskip\expandafter\penalty\the\itemizepenalty%
-}
-
-% item, with optional argument to specify the item point
-% @itemarg is set to true when there is an optional argument
-\newif\if@itemarg
-\def\item{%
-  % check whether there is an optional argument (if there is none, add on empty '[]')
-  \@ifnextchar [{\@itemargtrue\@itemx}{\@itemargfalse\@itemx[]}%
-}
-\newlength\itempt@total
-\def\@itemx[#1]{
-  \if@itemarg
-    \settowidth\itempt@total{#1}
-  \else
-    \settowidth\itempt@total{\itemizept\theitemizecount}
-  \fi
-  \addtolength\itempt@total{\itemizeseparator}
-  \par
-  \medskip
-  \if@itemarg
-    \hskip-\itempt@total#1\hskip\itemizeseparator
-  \else
-    \hskip-\itempt@total\itemizept\theitemizecount\hskip\itemizeseparator
-  \fi
-}
-
-%% prevent page breaks after itemize
-\newcount\previtemizepenalty
-\def\nopagebreakafteritemize{
-  \previtemizepenalty=\itemizepenalty
-  \itemizepenalty=10000
-}
-%% back to previous value
-\def\restorepagebreakafteritemize{
-  \itemizepenalty=\previtemizepenalty
-}
-
-%% enumerate
-\newcounter{enumerate@count}
-\def\enumerate{
-  \setcounter{enumerate@count}0
-  \let\olditem\item
-  \let\olditemizept\itemizept
-  \def\item{
-    % counter
-    \stepcounter{enumerate@count}
-    % set header
-    \def\itemizept{\theenumerate@count.}
-    % hyperref anchor
-    \hrefanchor
-    % define tag (for \label)
-    \xdef\tag{\theenumerate@count}
-    \olditem
-  }
-  \itemize
-}
-\def\endenumerate{
-  \enditemize
-  \let\item\olditem
-  \let\itemizept\olditemizept
-}
-
-
-%% equation numbering
-% counter
-\newcounter{seqcount}
-% booleans (write section or subsection in equation number)
-\newif\ifsectionsineq
-\newif\ifsubsectionsineq
-\def\seqcount{
-  \stepcounter{seqcount}
-  % the output
-  \edef\seqformat{\theseqcount}
-  % add subsection number
-  \ifsubsectionsineq
-    \let\tmp\seqformat
-    \edef\seqformat{\thesubsectioncount.\tmp}
-  \fi
-  % add section number
-  \ifsectionsineq
-    \let\tmp\seqformat
-    \edef\seqformat{\sectionprefix\thesectioncount.\tmp}
-  \fi
-  % define tag (for \label)
-  \xdef\tag{\seqformat}
-  % write number
-  \marginnote{\hfill(\seqformat)}
-}
-%% equation environment compatibility
-\def\equation{\hrefanchor$$\seqcount}
-\def\endequation{$$\@ignoretrue}
-
-
-%% figures
-% counter
-\newcounter{figcount}
-% booleans (write section or subsection in equation number)
-\newif\ifsectionsinfig
-\newif\ifsubsectionsinfig
-% width of figures
-\newlength\figwidth
-\setlength\figwidth\textwidth
-\addtolength\figwidth{-2.5cm}
-% caption
-\def\defcaption{
-  \long\def\caption##1{
-    \stepcounter{figcount}
-
-    % hyperref anchor
-    \hrefanchor
-
-    % the number of the figure
-    \edef\figformat{\thefigcount}
-    % add subsection number
-    \ifsubsectionsinfig
-      \let\tmp\figformat
-      \edef\figformat{\thesubsectioncount.\tmp}
-    \fi
-    % add section number
-    \ifsectionsinfig
-      \let\tmp\figformat
-      \edef\figformat{\sectionprefix\thesectioncount.\tmp}
-    \fi
-
-    % define tag (for \label)
-    \xdef\tag{\figformat}
-
-    % write
-    \hfil fig \figformat: \parbox[t]{\figwidth}{\leavevmode\small##1}
-
-    % space
-    \par\bigskip
-  }
-}
-%% short caption: centered
-\def\captionshort#1{
-  \stepcounter{figcount}
-
-  % hyperref anchor
-  \hrefanchor
-
-  % the number of the figure
-  \edef\figformat{\thefigcount}
-  % add section number
-  \ifsectionsinfig
-  \let\tmp\figformat
-  \edef\figformat{\sectionprefix\thesectioncount.\tmp}
-  \fi
-
-  % define tag (for \label)
-  \xdef\tag{\figformat}
-
-  % write
-  \hfil fig \figformat: {\small#1}
-
-  %space
-  \par\bigskip
-}
-
-%% environment
-\def\figure{
-  \par
-  \vfil\penalty100\vfilneg
-  \bigskip
-}
-\def\endfigure{
-  \par
-  \bigskip
-}
-
-
-%% start appendices
-\def\appendix{
-  \vfill
-  \pagebreak
-
-  % counter
-  \setcounter{sectioncount}0
-
-  % prefix
-  \def\sectionprefix{A}
-
-  % write
-  {\bf \LARGE Appendices}\par\penalty10000\bigskip\penalty10000
-
-  % add a mention in the table of contents
-  \iftoc
-    \immediate\write\tocoutput{\noexpand\tocappendices}\penalty10000
-  \fi
-
-  %% uncomment for new page for each appendix
-  %\def\seqskip{\vfill\pagebreak}
-}
-
-
-%% bibliography
-% size of header
-\newlength\bibheader
-\def\thebibliography#1{
-  \hrefanchor
-
-  % add a mention in the table of contents
-  \iftoc
-    % save lncount in aux variable which is written to toc
-    \immediate\write\tocoutput{\noexpand\expandafter\noexpand\edef\noexpand\csname toc@references\endcsname{\thelncount}}
-    \write\tocoutput{\noexpand\tocreferences{\thepage}}\penalty10000
-  \fi
-
-  % write
-  {\bf \LARGE References}\par\penalty10000\bigskip\penalty10000
-  % width of header
-  \settowidth\bibheader{[#1]}
-  \leftskip\bibheader
-}
-% end environment
-\def\endthebibliography{
-  \par\leftskip0pt
-} 
-
-%% bibitem command
-\def\bibitem[#1]#2{%
-  \hrefanchor%
-  \outdef{label@cite#2}{#1}%
-  \hskip-\bibheader%
-  \makebox[\bibheader]{\cite{#2}\hfill}%
-}
-
-%% cite command (adapted from latex.ltx)
-% @tempswa is set to true when there is an optional argument
-\newif\@tempswa
-\def\cite{%
-  % check whether there is an optional argument (if there is none, add on empty '[]')
-  \@ifnextchar [{\@tempswatrue\@citex}{\@tempswafalse\@citex[]}%
-}
-% command with optional argument
-\def\@citex[#1]#2{\leavevmode%
-  % initialize loop
-  \let\@citea\@empty%
-  % format
-  \@cite{%
-    % loop over ',' separated list
-    \@for\@citeb:=#2\do{%
-      % text to add at each iteration of the loop (separator between citations)
-      \@citea\def\@citea{,\ }%
-      % add entry to citelist
-      \@writecitation{\@citeb}%
-      \ref{cite\@citeb}%
-    }%
-  }%
-  % add optional argument text (as an argument to '\@cite')
-  {#1}%
-}
-\def\@cite#1#2{%
-  [#1\if@tempswa , #2\fi]%
-}
-%% add entry to citelist after checking it has not already been added
-\def\@writecitation#1{%
-  \ifcsname if#1cited\endcsname%
-  \else%
-    \expandafter\newif\csname if#1cited\endcsname%
-    \immediate\write\@auxout{\string\citation{#1}}%
-  \fi%
-}
-
-%% table of contents
-% boolean
-\newif\iftoc
-\def\tableofcontents{
-  {\bf \large Table of contents:}\par\penalty10000\bigskip\penalty10000
-
-  % copy content from file
-  \IfFileExists{\jobname.toc}{\input{\jobname.toc}}{{\tt error: table of contents missing}}
-
-  % open new toc
-  \newwrite\tocoutput
-  \immediate\openout\tocoutput=\jobname.toc
-
-  \toctrue
-}
-%% close file
-\AtEndDocument{
-  % close toc
-  \iftoc
-    \immediate\closeout\tocoutput
-  \fi
-}
-
-
-%% fill line with dots
-\def\leaderfill{\leaders\hbox to 1em {\hss. \hss}\hfill}
-
-%% same as sectionprefix
-\def\tocsectionprefix{}
-
-%% toc formats
-\newcounter{tocsectioncount}
-\def\tocsection #1#2{
-  \stepcounter{tocsectioncount}
-  \setcounter{tocsubsectioncount}{0}
-  \setcounter{tocsubsubsectioncount}{0}
-  % write
-  \smallskip\hyperlink{ln.\csname toc@sec.\thetocsectioncount\endcsname}{{\bf \tocsectionprefix\thetocsectioncount}.\hskip5pt {\color{blue}#1}\leaderfill#2}\par
-}
-\newcounter{tocsubsectioncount}
-\def\tocsubsection #1#2{
-  \stepcounter{tocsubsectioncount}
-  \setcounter{tocsubsubsectioncount}{0}
-  % write
-  {\hskip10pt\hyperlink{ln.\csname toc@subsec.\thetocsectioncount.\thetocsubsectioncount\endcsname}{{\bf \thetocsubsectioncount}.\hskip5pt {\color{blue}\small #1}\leaderfill#2}}\par
-}
-\newcounter{tocsubsubsectioncount}
-\def\tocsubsubsection #1#2{
-  \stepcounter{tocsubsubsectioncount}
-  % write
-  {\hskip20pt\hyperlink{ln.\csname toc@subsubsec.\thetocsectioncount.\thetocsubsectioncount.\thetocsubsubsectioncount\endcsname}{{\bf \thetocsubsubsectioncount}.\hskip5pt {\color{blue}\small #1}\leaderfill#2}}\par
-}
-\def\tocappendices{
-  \medskip
-  \setcounter{tocsectioncount}0
-  {\bf Appendices}\par
-  \smallskip
-  \def\tocsectionprefix{A}
-}
-\def\tocreferences#1{
-  \medskip
-  {\hyperlink{ln.\csname toc@references\endcsname}{{\color{blue}\bf References}\leaderfill#1}}\par
-  \smallskip
-}
-
-
-%% definitions that must be loaded at begin document
-\let\ian@olddocument\document
-\def\document{
-  \ian@olddocument
-
-  \deflabel
-  \defcaption
-}
-
-%% end
-\ian@defaultoptions
-\endinput
-- 
cgit v1.2.3-70-g09d2

