Initial commit
This commit is contained in:
		
							
								
								
									
										54
									
								
								doc/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								doc/Makefile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,54 @@
 | 
			
		||||
## Copyright 2021 Ian Jauslin
 | 
			
		||||
## 
 | 
			
		||||
## Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
## you may not use this file except in compliance with the License.
 | 
			
		||||
## You may obtain a copy of the License at
 | 
			
		||||
## 
 | 
			
		||||
##     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
## 
 | 
			
		||||
## Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
## distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
## See the License for the specific language governing permissions and
 | 
			
		||||
## limitations under the License.
 | 
			
		||||
 | 
			
		||||
PROJECTNAME=$(basename $(wildcard *.tex))
 | 
			
		||||
LIBS=$(notdir $(wildcard libs/*))
 | 
			
		||||
 | 
			
		||||
PDFS=$(addsuffix .pdf, $(PROJECTNAME))
 | 
			
		||||
SYNCTEXS=$(addsuffix .synctex.gz, $(PROJECTNAME))
 | 
			
		||||
 | 
			
		||||
all: $(PROJECTNAME)
 | 
			
		||||
 | 
			
		||||
$(PROJECTNAME): $(LIBS)
 | 
			
		||||
	pdflatex -file-line-error $@.tex
 | 
			
		||||
	pdflatex -file-line-error $@.tex
 | 
			
		||||
	pdflatex -synctex=1 $@.tex
 | 
			
		||||
 | 
			
		||||
$(PROJECTNAME).aux: $(LIBS)
 | 
			
		||||
	pdflatex -file-line-error -draftmode $(PROJECTNAME).tex
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
$(SYNCTEXS): $(LIBS)
 | 
			
		||||
	pdflatex -synctex=1 $(patsubst %.synctex.gz, %.tex, $@)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
libs: $(LIBS)
 | 
			
		||||
 | 
			
		||||
$(LIBS):
 | 
			
		||||
	ln -fs libs/$@ ./
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
clean-aux:
 | 
			
		||||
	rm -f $(addsuffix .aux, $(PROJECTNAME))
 | 
			
		||||
	rm -f $(addsuffix .log, $(PROJECTNAME))
 | 
			
		||||
	rm -f $(addsuffix .out, $(PROJECTNAME))
 | 
			
		||||
	rm -f $(addsuffix .toc, $(PROJECTNAME))
 | 
			
		||||
 | 
			
		||||
clean-libs:
 | 
			
		||||
	rm -f $(LIBS)
 | 
			
		||||
 | 
			
		||||
clean-tex:
 | 
			
		||||
	rm -f $(PDFS) $(SYNCTEXS)
 | 
			
		||||
 | 
			
		||||
clean: clean-aux clean-tex clean-libs
 | 
			
		||||
							
								
								
									
										13
									
								
								doc/bibliography/bibliography.tex
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								doc/bibliography/bibliography.tex
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
			
		||||
\bibitem[CHe21]{CHe21}E.A. Carlen, M. Holzmann, I. Jauslin, E.H. Lieb - {\it Simplified approach to the repulsive Bose gas from low to high densities and its numerical accuracy}, Physical Review A, volume~\-103, issue~\-5, number~\-053309, 2021,\par\penalty10000
 | 
			
		||||
doi:{\tt\color{blue}\href{http://dx.doi.org/10.1103/PhysRevA.103.053309}{10.1103/PhysRevA.103.053309}}, arxiv:{\tt\color{blue}\href{http://arxiv.org/abs/2011.10869}{2011.10869}}.\par\medskip
 | 
			
		||||
 
 | 
			
		||||
\bibitem[CJL20]{CJL20}E.A. Carlen, I. Jauslin, E.H. Lieb - {\it Analysis of a simple equation for the ground state energy of the Bose gas}, Pure and Applied Analysis, volume~\-2, issue~\-3, pages~\-659-684, 2020,\par\penalty10000
 | 
			
		||||
doi:{\tt\color{blue}\href{http://dx.doi.org/10.2140/paa.2020.2.659}{10.2140/paa.2020.2.659}}, arxiv:{\tt\color{blue}\href{http://arxiv.org/abs/1912.04987}{1912.04987}}.\par\medskip
 | 
			
		||||
 
 | 
			
		||||
\bibitem[CJL20b]{CJL20b}E.A. Carlen, I. Jauslin, E.H. Lieb - {\it Analysis of a simple equation for the ground state of the Bose gas II: Monotonicity, Convexity and Condensate Fraction}, 2020, to appear in the SIAM journal of Mathematical Analysis,\par\penalty10000
 | 
			
		||||
arxiv:{\tt\color{blue}\href{http://arxiv.org/abs/2010.13882}{2010.13882}}.\par\medskip
 | 
			
		||||
 
 | 
			
		||||
\bibitem[DLMF]{DLMF1.1.3}F.W.J. Olver, A.B. Olde Daalhuis, D.W. Lozier, B.I. Schneider, R.F. Boisvert, C.W. Clark, B.R. Miller, B.V. Saunders, H.S. Cohl, M.A. McClain (editors) - {\it NIST Digital Library of Mathematical Functions}, Release~\-1.1.3 of~\-2021-09-15, 2021.\par\medskip
 | 
			
		||||
 
 | 
			
		||||
\bibitem[Ta87]{Ta87}Y. Taguchi - {\it Fourier coefficients of periodic functions of Gevrey classes and ultradistributions}, Yokohama Mathematical Journal, volume~\-35, pages~\-51-60, 1987.\par\medskip
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										43
									
								
								doc/libs/code.sty
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								doc/libs/code.sty
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,43 @@
 | 
			
		||||
%% Copyright 2021 Ian Jauslin
 | 
			
		||||
%% 
 | 
			
		||||
%% Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
%% you may not use this file except in compliance with the License.
 | 
			
		||||
%% You may obtain a copy of the License at
 | 
			
		||||
%% 
 | 
			
		||||
%%     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
%% 
 | 
			
		||||
%% Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
%% distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
%% See the License for the specific language governing permissions and
 | 
			
		||||
%% limitations under the License.
 | 
			
		||||
 | 
			
		||||
%%
 | 
			
		||||
%% Code package:
 | 
			
		||||
%%   commands to typeset code
 | 
			
		||||
%%
 | 
			
		||||
 | 
			
		||||
%% TeX format
 | 
			
		||||
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
 | 
			
		||||
 | 
			
		||||
%% package name
 | 
			
		||||
\ProvidesPackage{code}[2021/03/15]
 | 
			
		||||
 | 
			
		||||
%% code environment
 | 
			
		||||
\def\code{
 | 
			
		||||
  \par
 | 
			
		||||
  \leftskip10pt
 | 
			
		||||
  \bigskip
 | 
			
		||||
  \tt
 | 
			
		||||
}
 | 
			
		||||
\def\endcode{
 | 
			
		||||
  \rm
 | 
			
		||||
  \par
 | 
			
		||||
  \bigskip
 | 
			
		||||
  \leftskip0pt
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
%% end
 | 
			
		||||
\endinput
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										55
									
								
								doc/libs/dlmf.sty
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								doc/libs/dlmf.sty
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,55 @@
 | 
			
		||||
%% Copyright 2021 Ian Jauslin
 | 
			
		||||
%% 
 | 
			
		||||
%% Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
%% you may not use this file except in compliance with the License.
 | 
			
		||||
%% You may obtain a copy of the License at
 | 
			
		||||
%% 
 | 
			
		||||
%%     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
%% 
 | 
			
		||||
%% Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
%% distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
%% See the License for the specific language governing permissions and
 | 
			
		||||
%% limitations under the License.
 | 
			
		||||
 | 
			
		||||
%%
 | 
			
		||||
%% DLMF package:
 | 
			
		||||
%%   cite equations from DLMF
 | 
			
		||||
%%
 | 
			
		||||
 | 
			
		||||
%% TeX format
 | 
			
		||||
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
 | 
			
		||||
 | 
			
		||||
%% package name
 | 
			
		||||
\ProvidesPackage{dlmf}[2020/05/01]
 | 
			
		||||
 | 
			
		||||
%% dependencies
 | 
			
		||||
\RequirePackage{color}
 | 
			
		||||
\RequirePackage{hyperref}
 | 
			
		||||
 | 
			
		||||
% get the first two numbers in (a.b.c);
 | 
			
		||||
\def\@sectionnr(#1.#2.#3){#1.#2}
 | 
			
		||||
 | 
			
		||||
% get the last number in (a.b.c);
 | 
			
		||||
\def\@eqnr(#1.#2.#3){#3}
 | 
			
		||||
 | 
			
		||||
% remove parentheses around argument
 | 
			
		||||
\def\@cleanparentheses(#1){#1}
 | 
			
		||||
 | 
			
		||||
%% cite DLMF equation
 | 
			
		||||
\def\dlmfcite#1#2{\leavevmode%
 | 
			
		||||
  \let\@dlmfcite@separator\@empty%
 | 
			
		||||
  \cite[%
 | 
			
		||||
    % loop over ',' separated list
 | 
			
		||||
    \@for\@dlmfcite:=#1\do{%
 | 
			
		||||
      % put commas between entries
 | 
			
		||||
      \@dlmfcite@separator\def\@dlmfcite@separator{,\ }%
 | 
			
		||||
      ({\color{blue}\href{https://dlmf.nist.gov/\expandafter\@sectionnr\@dlmfcite\#E\expandafter\@eqnr\@dlmfcite}{\expandafter\@cleanparentheses\@dlmfcite}})%
 | 
			
		||||
    }%
 | 
			
		||||
  ]{DLMF#2}%
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
%% end
 | 
			
		||||
\endinput
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										682
									
								
								doc/libs/ian.cls
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										682
									
								
								doc/libs/ian.cls
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,682 @@
 | 
			
		||||
%%
 | 
			
		||||
%% 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%
 | 
			
		||||
  }
 | 
			
		||||
  % manually specify label for ref
 | 
			
		||||
  \def\refname##1##2{%
 | 
			
		||||
    % 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}##2}}%
 | 
			
		||||
    \else%
 | 
			
		||||
      ??##2%
 | 
			
		||||
    \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
 | 
			
		||||
% @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\@cite@separator\@empty%
 | 
			
		||||
  % format
 | 
			
		||||
  \@cite{%
 | 
			
		||||
    % loop over ',' separated list
 | 
			
		||||
    \@for\@cite@:=#2\do{%
 | 
			
		||||
      % text to add at each iteration of the loop (separator between citations)
 | 
			
		||||
      \@cite@separator\def\@cite@separator{,\ }%
 | 
			
		||||
      % add entry to citelist
 | 
			
		||||
      \@writecitation{\@cite@}%
 | 
			
		||||
      \ref{cite\@cite@}%
 | 
			
		||||
    }%
 | 
			
		||||
  }%
 | 
			
		||||
  % 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 \thetocsectioncount.\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 \thetocsectioncount.\thetocsubsectioncount.\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
 | 
			
		||||
							
								
								
									
										176
									
								
								doc/libs/iantheo.sty
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										176
									
								
								doc/libs/iantheo.sty
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,176 @@
 | 
			
		||||
%% Copyright 2021 Ian Jauslin
 | 
			
		||||
%% 
 | 
			
		||||
%% Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
%% you may not use this file except in compliance with the License.
 | 
			
		||||
%% You may obtain a copy of the License at
 | 
			
		||||
%% 
 | 
			
		||||
%%     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
%% 
 | 
			
		||||
%% Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
%% distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
%% See the License for the specific language governing permissions and
 | 
			
		||||
%% limitations under the License.
 | 
			
		||||
 | 
			
		||||
%%
 | 
			
		||||
%% iantheorem package:
 | 
			
		||||
%%   Ian's customized theorem command
 | 
			
		||||
%%
 | 
			
		||||
 | 
			
		||||
%% boolean to signal that this package was loaded
 | 
			
		||||
\newif\ifiantheo
 | 
			
		||||
 | 
			
		||||
%% TeX format
 | 
			
		||||
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
 | 
			
		||||
 | 
			
		||||
%% package name
 | 
			
		||||
\ProvidesPackage{iantheo}[2016/11/10]
 | 
			
		||||
 | 
			
		||||
%% options
 | 
			
		||||
\newif\ifsectionintheo
 | 
			
		||||
\DeclareOption{section_in_theo}{\sectionintheotrue}
 | 
			
		||||
\DeclareOption{no_section_in_theo}{\sectionintheofalse}
 | 
			
		||||
\newif\ifsubsectionintheo
 | 
			
		||||
\DeclareOption{subsection_in_theo}{\subsectionintheotrue}
 | 
			
		||||
\DeclareOption{no_subsection_in_theo}{\subsectionintheofalse}
 | 
			
		||||
 | 
			
		||||
\def\iantheo@defaultoptions{
 | 
			
		||||
  \ExecuteOptions{section_in_theo, no_subsection_in_theo}
 | 
			
		||||
  \ProcessOptions
 | 
			
		||||
 | 
			
		||||
  %%% reset at every new section
 | 
			
		||||
  \ifsectionintheo
 | 
			
		||||
    \let\iantheo@oldsection\section
 | 
			
		||||
    \gdef\section{\setcounter{theocount}{0}\iantheo@oldsection}
 | 
			
		||||
  \fi
 | 
			
		||||
 | 
			
		||||
  %% reset at every new subsection
 | 
			
		||||
  \ifsubsectionintheo
 | 
			
		||||
    \let\iantheo@oldsubsection\subsection
 | 
			
		||||
    \gdef\subsection{\setcounter{theocount}{0}\iantheo@oldsubsection}
 | 
			
		||||
  \fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
%% delimiters
 | 
			
		||||
\def\delimtitle#1{
 | 
			
		||||
  \par%
 | 
			
		||||
  \leavevmode%
 | 
			
		||||
  \raise.3em\hbox to\hsize{%
 | 
			
		||||
    \lower0.3em\hbox{\vrule height0.3em}%
 | 
			
		||||
    \hrulefill%
 | 
			
		||||
    \ \lower.3em\hbox{#1}\ %
 | 
			
		||||
    \hrulefill%
 | 
			
		||||
    \lower0.3em\hbox{\vrule height0.3em}%
 | 
			
		||||
  }%
 | 
			
		||||
  \par\penalty10000%
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
%% callable by ref
 | 
			
		||||
\def\delimtitleref#1{
 | 
			
		||||
  \par%
 | 
			
		||||
%
 | 
			
		||||
  \ifdefined\ianclass%
 | 
			
		||||
    % hyperref anchor%
 | 
			
		||||
    \hrefanchor%
 | 
			
		||||
    % define tag (for \label)%
 | 
			
		||||
    \xdef\tag{#1}%
 | 
			
		||||
  \fi%
 | 
			
		||||
%
 | 
			
		||||
  \leavevmode%
 | 
			
		||||
  \raise.3em\hbox to\hsize{%
 | 
			
		||||
    \lower0.3em\hbox{\vrule height0.3em}%
 | 
			
		||||
    \hrulefill%
 | 
			
		||||
    \ \lower.3em\hbox{\bf #1}\ %
 | 
			
		||||
    \hrulefill%
 | 
			
		||||
    \lower0.3em\hbox{\vrule height0.3em}%
 | 
			
		||||
  }%
 | 
			
		||||
  \par\penalty10000%
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
%% no title
 | 
			
		||||
\def\delim{
 | 
			
		||||
  \par%
 | 
			
		||||
  \leavevmode\raise.3em\hbox to\hsize{%
 | 
			
		||||
    \lower0.3em\hbox{\vrule height0.3em}%
 | 
			
		||||
    \hrulefill%
 | 
			
		||||
    \lower0.3em\hbox{\vrule height0.3em}%
 | 
			
		||||
  }%
 | 
			
		||||
  \par\penalty10000%
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
%% end delim
 | 
			
		||||
\def\enddelim{
 | 
			
		||||
  \par\penalty10000%
 | 
			
		||||
  \leavevmode%
 | 
			
		||||
  \raise.3em\hbox to\hsize{%
 | 
			
		||||
    \vrule height0.3em\hrulefill\vrule height0.3em%
 | 
			
		||||
  }%
 | 
			
		||||
  \par%
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
%% theorem
 | 
			
		||||
% counter
 | 
			
		||||
\newcounter{theocount}
 | 
			
		||||
% booleans (write section or subsection in equation number)
 | 
			
		||||
\def\theo#1{
 | 
			
		||||
  \stepcounter{theocount}
 | 
			
		||||
  \ifdefined\ianclass
 | 
			
		||||
    % hyperref anchor
 | 
			
		||||
    \hrefanchor
 | 
			
		||||
  \fi
 | 
			
		||||
  % the number
 | 
			
		||||
  \def\formattheo{\thetheocount}
 | 
			
		||||
  % add subsection number
 | 
			
		||||
  \ifsubsectionintheo
 | 
			
		||||
    \let\tmp\formattheo
 | 
			
		||||
    \edef\formattheo{\thesubsectioncount.\tmp}
 | 
			
		||||
  \fi
 | 
			
		||||
  % add section number
 | 
			
		||||
  \ifsectionintheo
 | 
			
		||||
    \let\tmp\formattheo
 | 
			
		||||
    \edef\formattheo{\sectionprefix\thesectioncount.\tmp}
 | 
			
		||||
  \fi
 | 
			
		||||
  % define tag (for \label)
 | 
			
		||||
  \xdef\tag{\formattheo}
 | 
			
		||||
  % write
 | 
			
		||||
  \delimtitle{\bf #1 \formattheo}
 | 
			
		||||
}
 | 
			
		||||
\let\endtheo\enddelim
 | 
			
		||||
%% theorem headers with name
 | 
			
		||||
\def\theoname#1#2{
 | 
			
		||||
  \theo{#1}\hfil({\it #2})\par\penalty10000\medskip%
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
%% qed symbol
 | 
			
		||||
\def\qedsymbol{$\square$}
 | 
			
		||||
\def\qed{\penalty10000\hfill\penalty10000\qedsymbol}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
%% compatibility with article class
 | 
			
		||||
\ifdefined\ianclasstrue
 | 
			
		||||
  \relax
 | 
			
		||||
\else
 | 
			
		||||
  \def\thesectioncount{\thesection}
 | 
			
		||||
  \def\thesubsectioncount{\thesubsection}
 | 
			
		||||
  \def\sectionprefix{}
 | 
			
		||||
\fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
%% prevent page breaks after displayed equations
 | 
			
		||||
\newcount\prevpostdisplaypenalty
 | 
			
		||||
\def\nopagebreakaftereq{
 | 
			
		||||
  \prevpostdisplaypenalty=\postdisplaypenalty
 | 
			
		||||
  \postdisplaypenalty=10000
 | 
			
		||||
}
 | 
			
		||||
%% back to previous value
 | 
			
		||||
\def\restorepagebreakaftereq{
 | 
			
		||||
  \postdisplaypenalty=\prevpostdisplaypenalty
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
%% end
 | 
			
		||||
\iantheo@defaultoptions
 | 
			
		||||
\endinput
 | 
			
		||||
							
								
								
									
										33
									
								
								doc/libs/largearray.sty
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								doc/libs/largearray.sty
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,33 @@
 | 
			
		||||
%% Copyright 2021 Ian Jauslin
 | 
			
		||||
%% 
 | 
			
		||||
%% Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
%% you may not use this file except in compliance with the License.
 | 
			
		||||
%% You may obtain a copy of the License at
 | 
			
		||||
%% 
 | 
			
		||||
%%     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
%% 
 | 
			
		||||
%% Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
%% distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
%% See the License for the specific language governing permissions and
 | 
			
		||||
%% limitations under the License.
 | 
			
		||||
 | 
			
		||||
%%
 | 
			
		||||
%% largearray package:
 | 
			
		||||
%%   Array spanning the entire line
 | 
			
		||||
%%
 | 
			
		||||
 | 
			
		||||
%% TeX format
 | 
			
		||||
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
 | 
			
		||||
 | 
			
		||||
%% package name
 | 
			
		||||
\ProvidesPackage{largearray}[2016/11/10]
 | 
			
		||||
 | 
			
		||||
\RequirePackage{array}
 | 
			
		||||
 | 
			
		||||
%% array spanning the entire line
 | 
			
		||||
\newlength\largearray@width
 | 
			
		||||
\setlength\largearray@width\textwidth
 | 
			
		||||
\addtolength\largearray@width{-10pt}
 | 
			
		||||
\def\largearray{\begin{array}{@{}>{\displaystyle}l@{}}\hphantom{\hspace{\largearray@width}}\\[-.5cm]}
 | 
			
		||||
\def\endlargearray{\end{array}}
 | 
			
		||||
							
								
								
									
										128
									
								
								doc/libs/point.sty
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										128
									
								
								doc/libs/point.sty
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,128 @@
 | 
			
		||||
%% Copyright 2021 Ian Jauslin
 | 
			
		||||
%% 
 | 
			
		||||
%% Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
%% you may not use this file except in compliance with the License.
 | 
			
		||||
%% You may obtain a copy of the License at
 | 
			
		||||
%% 
 | 
			
		||||
%%     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
%% 
 | 
			
		||||
%% Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
%% distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
%% See the License for the specific language governing permissions and
 | 
			
		||||
%% limitations under the License.
 | 
			
		||||
 | 
			
		||||
%%
 | 
			
		||||
%% Points package:
 | 
			
		||||
%%   \point commands
 | 
			
		||||
%%
 | 
			
		||||
 | 
			
		||||
%% TeX format
 | 
			
		||||
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
 | 
			
		||||
 | 
			
		||||
%% package name
 | 
			
		||||
\ProvidesPackage{point}[2017/06/13]
 | 
			
		||||
 | 
			
		||||
%% options
 | 
			
		||||
\newif\ifresetatsection
 | 
			
		||||
\DeclareOption{reset_at_section}{\resetatsectiontrue}
 | 
			
		||||
\DeclareOption{no_reset_at_section}{\resetatsectionfalse}
 | 
			
		||||
\newif\ifresetatsubsection
 | 
			
		||||
\DeclareOption{reset_at_subsection}{\resetatsubsectiontrue}
 | 
			
		||||
\DeclareOption{no_reset_at_subsection}{\resetatsubsectionfalse}
 | 
			
		||||
\newif\ifresetatsubsubsection
 | 
			
		||||
\DeclareOption{reset_at_subsubsection}{\resetatsubsubsectiontrue}
 | 
			
		||||
\DeclareOption{no_reset_at_subsubsection}{\resetatsubsubsectionfalse}
 | 
			
		||||
\newif\ifresetattheo
 | 
			
		||||
\DeclareOption{reset_at_theo}{\resetattheotrue}
 | 
			
		||||
\DeclareOption{no_reset_at_theo}{\resetattheofalse}
 | 
			
		||||
 | 
			
		||||
\def\point@defaultoptions{
 | 
			
		||||
  \ExecuteOptions{reset_at_section, reset_at_subsection, reset_at_subsubsection, no_reset_at_theo}
 | 
			
		||||
  \ProcessOptions
 | 
			
		||||
 | 
			
		||||
  %% reset at every new section
 | 
			
		||||
  \ifresetatsection
 | 
			
		||||
    \let\point@oldsection\section
 | 
			
		||||
    \gdef\section{\resetpointcounter\point@oldsection}
 | 
			
		||||
  \fi
 | 
			
		||||
  %% reset at every new subsection
 | 
			
		||||
  \ifresetatsubsection
 | 
			
		||||
    \let\point@oldsubsection\subsection
 | 
			
		||||
    \gdef\subsection{\resetpointcounter\point@oldsubsection}
 | 
			
		||||
  \fi
 | 
			
		||||
  %% reset at every new subsubsection
 | 
			
		||||
  \ifresetatsubsubsection
 | 
			
		||||
    \let\point@oldsubsubsection\subsubsection
 | 
			
		||||
    \gdef\subsubsection{\resetpointcounter\point@oldsubsubsection}
 | 
			
		||||
  \fi
 | 
			
		||||
 | 
			
		||||
  %% reset at every new theorem
 | 
			
		||||
  \ifresetattheo
 | 
			
		||||
    \ifdefined\iantheotrue
 | 
			
		||||
      \let\point@oldtheo\theo
 | 
			
		||||
      \gdef\theo{\resetpointcounter\point@oldtheo}
 | 
			
		||||
    \fi
 | 
			
		||||
  \fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
%% point
 | 
			
		||||
% counter
 | 
			
		||||
\newcounter{pointcount}
 | 
			
		||||
\def\point{
 | 
			
		||||
  \stepcounter{pointcount}
 | 
			
		||||
  \setcounter{subpointcount}{0}
 | 
			
		||||
  % hyperref anchor (only if the class is 'ian')
 | 
			
		||||
  \ifdefined\ifianclass
 | 
			
		||||
    \hrefanchor
 | 
			
		||||
    % define tag (for \label)
 | 
			
		||||
    \xdef\tag{\thepointcount}
 | 
			
		||||
  \fi
 | 
			
		||||
  % header
 | 
			
		||||
  \indent{\bf \thepointcount\ - }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
%% subpoint
 | 
			
		||||
% counter
 | 
			
		||||
\newcounter{subpointcount}
 | 
			
		||||
\def\subpoint{
 | 
			
		||||
  \stepcounter{subpointcount}
 | 
			
		||||
  \setcounter{subsubpointcount}0
 | 
			
		||||
  % hyperref anchor (only if the class is 'ian')
 | 
			
		||||
  \ifdefined\ifianclass
 | 
			
		||||
    \hrefanchor
 | 
			
		||||
    % define tag (for \label)
 | 
			
		||||
    \xdef\tag{\thepointcount-\thesubpointcount}
 | 
			
		||||
  \fi
 | 
			
		||||
  % header
 | 
			
		||||
  \indent\hskip.5cm{\bf \thepointcount-\thesubpointcount\ - }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
%% subsubpoint
 | 
			
		||||
% counter
 | 
			
		||||
\newcounter{subsubpointcount}
 | 
			
		||||
\def\subsubpoint{
 | 
			
		||||
  \stepcounter{subsubpointcount}
 | 
			
		||||
  % hyperref anchor (only if the class is 'ian')
 | 
			
		||||
  \ifdefined\ifianclass
 | 
			
		||||
    \hrefanchor
 | 
			
		||||
    % define tag (for \label)
 | 
			
		||||
    \xdef\tag{\thepointcount-\thesubpointcount-\thesubsubpointcount}
 | 
			
		||||
  \fi
 | 
			
		||||
  \indent\hskip1cm{\bf \thepointcount-\thesubpointcount-\thesubsubpointcount\ - }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
%% reset point counters
 | 
			
		||||
\def\resetpointcounter{
 | 
			
		||||
  \setcounter{pointcount}{0}
 | 
			
		||||
  \setcounter{subpointcount}{0}
 | 
			
		||||
  \setcounter{subsubpointcount}{0}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
%% end
 | 
			
		||||
\point@defaultoptions
 | 
			
		||||
\endinput
 | 
			
		||||
							
								
								
									
										3679
									
								
								doc/simplesolv-doc.tex
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3679
									
								
								doc/simplesolv-doc.tex
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Reference in New Issue
	
	Block a user