Mercurial > hg > cip2012
changeset 15:e4c7baef5557
Merge
author | samer |
---|---|
date | Tue, 06 Mar 2012 12:30:23 +0000 |
parents | 0bfffcf643f0 (diff) 317db6d6f433 (current diff) |
children | d5f63ea0f266 |
files | |
diffstat | 1 files changed, 287 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tools.sty Tue Mar 06 12:30:23 2012 +0000 @@ -0,0 +1,287 @@ +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{tools}[2007/12/25 v1.1 Samer's general LaTeX tools] +\DeclareOption{detbar}{\def\detbar{y}} +\DeclareOption{underlinevec}{\def\underlinevec{y}} +\DeclareOption{innerparen}{\def\inneropt{paren}} +\DeclareOption{innerdot}{\def\inneropt{dot}} +\DeclareOption{innermat}{\def\inneropt{mat}} +\DeclareOption{expectRomanE}{\def\expectopt{RomanE}} +\DeclareOption{expectItalicE}{\def\expectopt{ItalicE}} +\DeclareOption{expectBBE}{\def\expectopt{BBE}} +\DeclareOption{expectangle}{\def\expectopt{angle}} +\DeclareOption{nodesc}{\def\nodesc{y}} +\ExecuteOptions{innerparen} +\ExecuteOptions{expectRomanE} +\ProcessOptions + +\providecommand{\comment}[1] {} +\usepackage{xspace,array,amsmath,graphicx} +%\usepackage{units} +\ifx\ifpdf\undefined + \usepackage{ifpdf} +\fi +\ifpdf + \usepackage{epstopdf} +\else +\fi + +% PSTricks things +%\usepackage{pstcol,pstricks,pst-node,pst-plot} +%\psset{linewidth=0.4pt,labelsep=3pt,dotsize=1.2mm,% +% arrowsize=2pt 2.5,arrowlength=1,arrowinset=0.2,% +% gridwidth=0.4pt,griddots=10,subgriddiv=1,gridlabels=7pt,gridcolor=gray} + +\let\oldS=\S +\newcommand{\sect}[1] {$\oldS\,#1$} +\newcommand{\shim}[2] {\hspace{#1mm plus #2mm}} +\newcommand{\ie} {i.e.\@\xspace} +\newcommand{\vrs} {vs.\@\xspace} +\newcommand{\cf} {cf.\@\xspace} +\newcommand{\eg} {e.g.\@\xspace} +\newcommand{\etc} {etc.\@\xspace} +\newcommand{\latin}[1] {\emph{#1}\xspace} +\newcommand{\figrf}[1] {fig.~\ref{f:#1}} +\newcommand{\Figrf}[1] {Fig.~\ref{f:#1}} +%\newcommand{\eqrf}[1] {eq.~\ref{eq:#1}} +\newcommand{\eqrf}[1] {(\ref{eq:#1})} +\newcommand{\secrf}[1] {\sect{\ref{s:#1}}} +\newcommand{\chaprf}[1] {Chapter~\ref{ch:#1}} +\newcommand{\ed}[1] {\texttt{[#1]}} +\newcommand{\role} {role\xspace}%{r\^{o}le\xspace} +\newcommand{\naive} {na{\"i}ve\xspace} +\newcommand{\etal} {\latin{et al}} +\newcommand{\german}[1] {\emph{#1}} +\newcommand{\degr}[1] {$#1^\circ$} +%\newcommand{\nth}[1] {$#1$\hskip 0.1ex th\xspace} +\newcommand{\nth}[1] {$#1$\hspace*{0.2ex}\raisebox{0.35em}{\scriptsize th}\xspace} +\newcommand{\textnth}[1]{#1\hskip 0.2ex \raisebox{0.35em}{\scriptsize th}\xspace} +\newcommand{\const}{\text{const.}} +\newcommand{\D}[1] {$#1$-D\xspace} +\newcommand{\sh} {$\sharp$} +\newcommand{\fl} {$\flat$} +\newcommand{\Hmax}{H_\mathrm{max}} +\newcommand{\Imax}{I_\mathrm{max}} + +% centred dot with space either side for separating things +%\def\nicedot{\hspace{0.7em}\textperiodcentered\hspace{0.7em}} +\newlength\nicedotspace +\setlength\nicedotspace{0.6em plus 0.1em minus 0.2em} +\def\nicedot{\hspace{\nicedotspace}\textperiodcentered\hspace{\nicedotspace}} + +%\newcommand{\margnote}[1] {\marginpar{\raggedright\itshape\small#1}} + +% names +\newcommand{\Hyvarinen}{Hyv\"arinen\xspace} +\newcommand{\Kohler}{K\"ohler\xspace} +\newcommand{\Pragnanz}{Pr\"{a}gnanz\xspace} + +% environments +\ifx\nodesc\undefined + \renewenvironment{description} + {\begin{list}{}{% + \setlength{\labelwidth}{1.5em} + \setlength{\leftmargin}{1.5em} + \let\makelabel\descriptionlabel + }} + {\end{list}} +\fi + +\newenvironment{smallquote} + { \begin{quote} \small} + { \end{quote}} + +\providecommand{\figplacement}{tbp} +\newenvironment{fig}[2][\figplacement] + {% + \newcommand{\bbfig}[1]{\begin{figure}[##1]} + \expandafter\bbfig\expandafter{#1} + \def\fglbl{f:#2} + \let\ocap=\caption + \renewcommand{\caption}[2][]{\ocap[##1]{\small ##2}} + \centering\small + }{% + \label{\fglbl} + \end{figure} + } + +\newenvironment{fig*}[2][\figplacement] + {% + \newcommand{\bbfig}[1]{\begin{figure*}[##1]} + \expandafter\bbfig\expandafter{#1} + \def\figlabel{f:#2} + \let\ocap=\caption + \renewcommand{\caption}[2][]{\ocap[##1]{\small ##2}} + \centering\small + }{% + \label{\figlabel} + \end{figure*} + } + +\newenvironment{eq}[1] + {\begin{equation}\def\eqlabel{eq:#1}} + {\label{\eqlabel}\end{equation}}% + + + + +% ------------- standard mathematics ----------------- + +% --- calculus +\let\oldint\int \def\int#1\dd{\oldint#1\;\dd} +\let\oldiint\iint \def\iint#1\dd#2\dd{\oldiint#1\;\dd#2\;\dd} +\let\oldiiint\iiint \def\iiint#1\dd#2\dd#3\dd{\oldiiint#1\;\dd#2\;\dd#3\;\dd} +\newcommand{\infint}[2] {\int_{-\infty}^\infty#2\dd#1} +\newcommand{\partiald}[2] {\frac{\partial#1}{\partial#2}} +\newcommand{\pd}[2] {\dfrac{\partial#1}{\partial#2}} +\newcommand{\dd} {\mathrm{d}} +\newcommand{\hdbyd}[2][] {\dd{#1}/\dd{#2}} +\newcommand{\dbyd}[2][] {\frac{\dd#1}{\dd#2}} +\newcommand{\dbydt}[1] {\frac{\dd#1}{\dd t}} +\newcommand{\hpd}[2] {{\partial#1}/{\partial#2}} +\newcommand{\grad} {\boldsymbol{\nabla}} +\newcommand{\hfrac}[2] {#1/#2} +\newcommand{\hpfrac}[2] {(#1/#2)} + +% --- statistics +\newcommand{\savg}[2][] {% + \def\sub{#1} % optional subscript + \ifx\sub\empty {\langle #2 \rangle} + \else {\langle #2 \rangle}_{#1} + \fi} + +\newcommand{\avg}[2][] {% + \def\sub{#1} % optional subscript + \ifx\sub\empty {\left\langle #2 \right\rangle} + \else {\left\langle #2 \right\rangle}_{#1} + \fi} + +\def\optRomanE{RomanE} +\def\optItalicE{ItalicE} +\def\optBBE{BBE} +\def\optAngle{angle} +\ifx\expectopt\optRomanE + \newcommand{\expect}[2][] {% + \def\sub{#1} % optional subscript + \ifx\sub\empty \operatorname{E} \, #2 + \else \operatorname{E}_{#1} #2 + \fi + } +\fi + +\ifx\expectopt\optItalicE + \newcommand{\expect}[2][] {% + \def\sub{#1} % optional subscript + \ifx\sub\empty E \, #2 + \else E_{#1} #2 + \fi + } +\fi + +\ifx\expectopt\optBBE + \newcommand{\expect}[2][] {% + \def\sub{#1} % optional subscript + \ifx\sub\empty \mathbb{E} \, #2 + \else \mathbb{E}_{#1} #2 + \fi + } +\fi + +\ifx\expectopt\optAngle + \newcommand{\expect}[2][] {% + \def\sub{#1} % optional subscript + \ifx\sub\empty {\left\langle #2 \right\rangle} + \else {\left\langle #2 \right\rangle}_{#1} + \fi + } +\fi + +\newcommand{\sqbr}[1] {[\,#1]} +\newcommand{\var}[1] {\operatorname{var}\, #1} +\newcommand{\cov}[2] {\operatorname{cov}[#1,#2]} +\newcommand{\cc}[2] {\operatorname{corr}[#1,#2]} +%\newcommand{\KL}[2] {\mathrm{KL}[\, #1 \|\, #2]} +\newcommand{\KL}[2] {D(#1 \|\, #2)} +\newcommand{\define} {\overset{\text{\tiny def}}{=}} +\newcommand{\distr} {\sim} + +% --- sets +\newcommand*{\union} {\cup} +\newcommand*{\diff} {\backslash} +\newcommand*{\intersect} {\cap} +\newcommand*{\integers} {\mathbb{Z}} +\newcommand*{\reals} {\mathbb{R}} +\newcommand*{\complexes} {\mathbb{C}} +%\newcommand{\C} {\mathbb{C}} +\newcommand*{\naturals} {\mathbb{N}} +\newcommand*{\card}[1] {\abs{#1}} +%\renewcommand*{\emptyset} {\varnothing} + +% --- misc +\def\rowvec(#1,#2){\begin{pmatrix} #1 & #2 \end{pmatrix}} +\def\colvec(#1,#2){\begin{pmatrix} #1 \\ #2 \end{pmatrix}} + +\ifx\detbar\undefined\else\def\det#1{|#1|}\fi + +\newcommand{\sqtp}{\sqrt{2 \pi}} +\DeclareMathOperator{\sech}{sech} +\DeclareMathOperator{\sgn} {sgn} +\DeclareMathOperator{\trace} {tr} +\newcommand{\repart}{\Re\,} +\newcommand{\impart}{\Im\,} +\newcommand{\assign} {\leftarrow} +\newcommand*\half {\tfrac{1}{2}} +\newcommand{\fun}[1] {$#1(\cdot)$\xspace} +\newcommand{\ffun}[1] {$#1(\cdot,\cdot)$\xspace} +\newcommand{\tends} {\rightarrow} +\ifx\underlinevec\undefined% + \renewcommand*{\vec}[1] {\mathbf{#1}} +\else + \renewcommand*{\vec}[1] {\underline{#1}} +\fi +\providecommand{\abs}[1] {\lvert#1\rvert} +\providecommand{\norm}[1] {\lVert#1\rVert} + +\def\optparen{paren} +\def\optmat{mat} +\def\optdot{dot} +\ifx\inneropt\optparen + \newcommand{\inner}[2] {(#1,#2)} +\fi +\ifx\inneropt\optdot + \newcommand{\inner}[2] {#1\cdot#2} +\fi +\ifx\inneropt\optmat + \newcommand{\inner}[2] {{#1}^T#2} +\fi + +% --- psfig bits +\newcommand{\psmath}[2] {\psfrag{#1}{\scriptsize $#2$}} +\newcommand{\psmathbig}[2] {\psfrag{#1}{\small $#2$}} + + +% \linespread{1.1} + + +% top-aligned boxes +\newbox\thehbox +\newcommand{\hangbox}[1]{% + \savebox{\thehbox}{#1}% + \raisebox{-\ht\thehbox}[0pt][\ht\thehbox]{\usebox{\thehbox}}% + % \raisebox{-\ht\thehbox}[0pt][-\ht\thehbox]{\usebox{\thehbox}}% +} + +\newenvironment{hanging}{% + \begingroup + \newbox\thebox + \begin{lrbox}{\thebox} +}{% + \end{lrbox}% + \raisebox{-\ht\thebox}[0pt][\ht\thebox]{\usebox{\thebox}}% + \endgroup +}% + +% Hacky indentation - FIXME! +\newenvironment{indented} + {\vspace{-0.6em}\begin{quote}} + {\end{quote}\vspace{-0.6em}} +