
\documentclass[10pt,a4paper,final,makeidx,twosides]{article}

\usepackage{amsmath}
\usepackage{tabularx}
\usepackage{ulem}
\usepackage{boxedminipage}

\usepackage{listings}

\usepackage{caption}
%\captionsetup{figurename=Figure, tablename=Table}

\renewcommand{\captionfont}{\small}
\renewcommand{\captionlabelfont}{\bfseries}

\usepackage[protrusion=true,draft=false,final,verbose=true,babel=true]{microtype}


\def\dashuline{\bgroup
\ifdim\ULdepth=\maxdimen % Set depth based on font, if not set already
\settodepth\ULdepth{(j}\advance\ULdepth.4pt\fi
\markoverwith{\kern.15em
\vtop{\kern\ULdepth \hrule width .3em}%
\kern.15em}\ULon}

\def\dotuline{\bgroup
\ifdim\ULdepth=\maxdimen % Set depth based on font, if not set already
\settodepth\ULdepth{(j}\advance\ULdepth.4pt\fi
\markoverwith{\begingroup
\advance\ULdepth0.08ex
\lower\ULdepth\hbox{\kern.15em .\kern.1em}%
\endgroup}\ULon}

\makeatletter
\newcommand{\ack}[1]{\let\save@makefntext\@makefntext%
\def\@makefntext##1{\parindent0em##1}\footnotetext{#1}%
\let\@makefntext\save@makefntext}
\makeatother

\title{The \textbf{bigints} package}
\author{Merciadri Luca}
\date{\today}

\usepackage{makeidx}

%% - HYPERREF PACKAGE - ** MUST be LAST ONE **
\usepackage[a4paper,bookmarks=true,bookmarksnumbered=true,bookmarksopen=true,bookmarksopenlevel=1,breaklinks=true,colorlinks=true,final,menucolor=red,pdfauthor={Merciadri Luca},pdfcreator={Merciadri Luca},pdfkeywords={math},pdftitle={The bigints package},pdfsubject={(La)TeX},pdftoolbar=true]{hyperref}
\hypersetup{urlcolor=red,linkcolor=blue,citecolor=blue,colorlinks=true}

\usepackage{breakurl}


%% -- INDEX GENERATION ACTIVATION --

\makeindex

%% -- INDEX GENERATION ACTIVATION --

\makeatletter
\newcommand{\bigint}{\@ifnextchar_\@bigintsub\@bigintnosub}
\def\@bigintsub_#1{\def\@int@subscript{#1}\@ifnextchar^\@bigintsubsup\@bigintsubnosup}
\def\@bigintsubsup^#1{\mathop{\text{\Huge$\int_{\text{\normalsize$\scriptstyle\kern-0.35em\@int@subscript$}}^{\text{\normalsize$\scriptstyle#1$}}$}}\nolimits}
\def\@bigintsubnosup{\mathop{\text{\Huge$\int_{\text{\normalsize$\scriptstyle\@int@subscript$}}$}}\nolimits}
\def\@bigintnosub{\@ifnextchar^\@bigintnosubsup\@bigintnosubnosup}
\def\@bigintnosubsup^#1{\mathop{\text{\Huge$\int^{\text{\normalsize$\scriptstyle#1$}}$}}\nolimits}
\def\@bigintnosubnosup{\mathop{\text{\Huge$\int$}}\nolimits}
\newcommand{\bigints}{\@ifnextchar_\@bigintssub\@bigintsnosub}
\def\@bigintssub_#1{\def\@int@subscript{#1}\@ifnextchar^\@bigintssubsup\@bigintssubnosup}
\def\@bigintssubsup^#1{\mathop{\text{\huge$\int_{\text{\normalsize$\scriptstyle\kern-0.35em\@int@subscript$}}^{\text{\normalsize$\scriptstyle#1$}}$}}\nolimits}
\def\@bigintssubnosup{\mathop{\text{\huge$\int_{\text{\normalsize$\scriptstyle\@int@subscript$}}$}}\nolimits}
\def\@bigintsnosub{\@ifnextchar^\@bigintsnosubsup\@bigintsnosubnosup}
\def\@bigintsnosubsup^#1{\mathop{\text{\huge$\int^{\text{\normalsize$\scriptstyle#1$}}$}}\nolimits}
\def\@bigintsnosubnosup{\mathop{\text{\huge$\int$}}\nolimits}
\newcommand{\bigintss}{\@ifnextchar_\@bigintsssub\@bigintssnosub}
\def\@bigintsssub_#1{\def\@int@subscript{#1}\@ifnextchar^\@bigintsssubsup\@bigintsssubnosup}
\def\@bigintsssubsup^#1{\mathop{\text{\LARGE$\int_{\text{\normalsize$\scriptstyle\kern-0.25em\@int@subscript$}}^{\text{\normalsize$\scriptstyle#1$}}$}}\nolimits}
\def\@bigintsssubnosup{\mathop{\text{\LARGE$\int_{\text{\normalsize$\scriptstyle\@int@subscript$}}$}}\nolimits}
\def\@bigintssnosub{\@ifnextchar^\@bigintssnosubsup\@bigintssnosubnosup}
\def\@bigintssnosubsup^#1{\mathop{\text{\LARGE$\int^{\text{\normalsize$\scriptstyle#1$}}$}}\nolimits}
\def\@bigintssnosubnosup{\mathop{\text{\LARGE$\int$}}\nolimits}
\newcommand{\bigintsss}{\@ifnextchar_\@bigintssssub\@bigintsssnosub}
\def\@bigintssssub_#1{\def\@int@subscript{#1}\@ifnextchar^\@bigintssssubsup\@bigintssssubnosup}
\def\@bigintssssubsup^#1{\mathop{\text{\Large$\int_{\text{\normalsize$\scriptstyle\kern-0.20em\@int@subscript$}}^{\text{\normalsize$\scriptstyle#1$}}$}}\nolimits}
\def\@bigintssssubnosup{\mathop{\text{\Large$\int_{\text{\normalsize$\scriptstyle\@int@subscript$}}$}}\nolimits}
\def\@bigintsssnosub{\@ifnextchar^\@bigintsssnosubsup\@bigintsssnosubnosup}
\def\@bigintsssnosubsup^#1{\mathop{\text{\Large$\int^{\text{\normalsize$\scriptstyle#1$}}$}}\nolimits}
\def\@bigintsssnosubnosup{\mathop{\text{\Large$\int$}}\nolimits}
\newcommand{\bigintssss}{\@ifnextchar_\@bigintsssssub\@bigintssssnosub}
\def\@bigintsssssub_#1{\def\@int@subscript{#1}\@ifnextchar^\@bigintsssssubsup\@bigintsssssubnosup}
\def\@bigintsssssubsup^#1{\mathop{\text{\large$\int_{\text{\normalsize$\scriptstyle\kern-0.15em\@int@subscript$}}^{\text{\normalsize$\scriptstyle#1$}}$}}\nolimits}
\def\@bigintsssssubnosup{\mathop{\text{\large$\int_{\text{\normalsize$\scriptstyle\@int@subscript$}}$}}\nolimits}
\def\@bigintssssnosub{\@ifnextchar^\@bigintssssnosubsup\@bigintssssnosubnosup}
\def\@bigintssssnosubsup^#1{\mathop{\text{\large$\int^{\text{\normalsize$\scriptstyle#1$}}$}}\nolimits}
\def\@bigintssssnosubnosup{\mathop{\text{\large$\int$}}\nolimits}

\newcommand{\bigoint}{\@ifnextchar_\@bigointsub\@bigointnosub}
\def\@bigointsub_#1{\def\@oint@subscript{#1}\@ifnextchar^\@bigointsubsup\@bigointsubnosup}
\def\@bigointsubsup^#1{\mathop{\text{\Huge$\oint_{\text{\normalsize$\scriptstyle\kern-0.35em\@oint@subscript$}}^{\text{\normalsize$\scriptstyle#1$}}$}}\nolimits}
\def\@bigointsubnosup{\mathop{\text{\Huge$\oint_{\text{\normalsize$\scriptstyle\@oint@subscript$}}$}}\nolimits}
\def\@bigointnosub{\@ifnextchar^\@bigointnosubsup\@bigointnosubnosup}
\def\@bigointnosubsup^#1{\mathop{\text{\Huge$\oint^{\text{\normalsize$\scriptstyle#1$}}$}}\nolimits}
\def\@bigointnosubnosup{\mathop{\text{\Huge$\oint$}}\nolimits}
\newcommand{\bigoints}{\@ifnextchar_\@bigointssub\@bigointsnosub}
\def\@bigointssub_#1{\def\@oint@subscript{#1}\@ifnextchar^\@bigointssubsup\@bigointssubnosup}
\def\@bigointssubsup^#1{\mathop{\text{\huge$\oint_{\text{\normalsize$\scriptstyle\kern-0.35em\@oint@subscript$}}^{\text{\normalsize$\scriptstyle#1$}}$}}\nolimits}
\def\@bigointssubnosup{\mathop{\text{\huge$\oint_{\text{\normalsize$\scriptstyle\@oint@subscript$}}$}}\nolimits}
\def\@bigointsnosub{\@ifnextchar^\@bigointsnosubsup\@bigointsnosubnosup}
\def\@bigointsnosubsup^#1{\mathop{\text{\huge$\oint^{\text{\normalsize$\scriptstyle#1$}}$}}\nolimits}
\def\@bigointsnosubnosup{\mathop{\text{\huge$\oint$}}\nolimits}
\newcommand{\bigointss}{\@ifnextchar_\@bigointsssub\@bigointssnosub}
\def\@bigointsssub_#1{\def\@oint@subscript{#1}\@ifnextchar^\@bigointsssubsup\@bigointsssubnosup}
\def\@bigointsssubsup^#1{\mathop{\text{\LARGE$\oint_{\text{\normalsize$\scriptstyle\kern-0.25em\@oint@subscript$}}^{\text{\normalsize$\scriptstyle#1$}}$}}\nolimits}
\def\@bigointsssubnosup{\mathop{\text{\LARGE$\oint_{\text{\normalsize$\scriptstyle\@oint@subscript$}}$}}\nolimits}
\def\@bigointssnosub{\@ifnextchar^\@bigointssnosubsup\@bigointssnosubnosup}
\def\@bigointssnosubsup^#1{\mathop{\text{\LARGE$\oint^{\text{\normalsize$\scriptstyle#1$}}$}}\nolimits}
\def\@bigointssnosubnosup{\mathop{\text{\LARGE$\oint$}}\nolimits}
\newcommand{\bigointsss}{\@ifnextchar_\@bigointssssub\@bigointsssnosub}
\def\@bigointssssub_#1{\def\@oint@subscript{#1}\@ifnextchar^\@bigointssssubsup\@bigointssssubnosup}
\def\@bigointssssubsup^#1{\mathop{\text{\Large$\oint_{\text{\normalsize$\scriptstyle\kern-0.20em\@oint@subscript$}}^{\text{\normalsize$\scriptstyle#1$}}$}}\nolimits}
\def\@bigointssssubnosup{\mathop{\text{\Large$\oint_{\text{\normalsize$\scriptstyle\@oint@subscript$}}$}}\nolimits}
\def\@bigointsssnosub{\@ifnextchar^\@bigintsssnosubsup\@bigointsssnosubnosup}
\def\@bigointsssnosubsup^#1{\mathop{\text{\Large$\oint^{\text{\normalsize$\scriptstyle#1$}}$}}\nolimits}
\def\@bigointsssnosubnosup{\mathop{\text{\Large$\oint$}}\nolimits}
\newcommand{\bigointssss}{\@ifnextchar_\@bigointsssssub\@bigointssssnosub}
\def\@bigointsssssub_#1{\def\@oint@subscript{#1}\@ifnextchar^\@bigointsssssubsup\@bigointsssssubnosup}
\def\@bigointsssssubsup^#1{\mathop{\text{\large$\oint_{\text{\normalsize$\scriptstyle\kern-0.15em\@oint@subscript$}}^{\text{\normalsize$\scriptstyle#1$}}$}}\nolimits}
\def\@bigointsssssubnosup{\mathop{\text{\large$\oint_{\text{\normalsize$\scriptstyle\@oint@subscript$}}$}}\nolimits}
\def\@bigointssssnosub{\@ifnextchar^\@bigointssssnosubsup\@bigointssssnosubnosup}
\def\@bigointssssnosubsup^#1{\mathop{\text{\large$\oint^{\text{\normalsize$\scriptstyle#1$}}$}}\nolimits}
\def\@bigointssssnosubnosup{\mathop{\text{\large$\oint$}}\nolimits}
\makeatother

\begin{document}


\maketitle

\tableofcontents

\newpage
\section{Introduction}
This package (\verb v1.1 ) \textit{helps you to} write big integrals when needed. For example, you may want to write standard integrals before a matrix, but if you find them too small, you can use bigger integrals thanks to this package.



\section{Use}
\subsection{Loading the Package}
To \textit{load the package}, please use
\begin{center}
\begin{verbatim}
\usepackage{bigints}
\end{verbatim}
\end{center}
Please note that this package loads the package `\verb amsmath .' Consequently, you do not need to load \verb amsmath ~after having called \verb bigints .
\subsection{Available Options}
The set of options is currently empty.

\newpage

\section{Examples}

\subsection{Possible Calls}
Possible function calls are listed at Table \ref{tab:exuse}.

\begin{table}[!h]
\begin{center}
\begin{tabular}{ccc}
Integral's command  & Standard command & Integral's command's output\\
\hline
\texttt{\textbackslash bigint} & $\displaystyle\int$ & $\displaystyle\bigint$\\
\texttt{\textbackslash bigints} & $\displaystyle\int$ & $\displaystyle\bigints$\\
\texttt{\textbackslash bigintss} & $\displaystyle\int$ & $\displaystyle\bigintss$\\
\texttt{\textbackslash bigintsss} & $\displaystyle\int$ & $\displaystyle\bigintsss$\\
\texttt{\textbackslash bigintssss} & $\displaystyle\int$ & $\displaystyle\bigintssss$\\
\texttt{\textbackslash bigoint} & $\displaystyle\oint$ & $\displaystyle\bigoint$\\
\texttt{\textbackslash bigoints} & $\displaystyle\oint$ & $\displaystyle\bigoints$\\
\texttt{\textbackslash bigointss} & $\displaystyle\oint$ & $\displaystyle\bigointss$\\
\texttt{\textbackslash bigointsss} & $\displaystyle\oint$ & $\displaystyle\bigointsss$\\
\texttt{\textbackslash bigointssss} & $\displaystyle\oint$ & $\displaystyle\bigointssss$\\
\end{tabular}
\caption{Possible calls of this package.}
\label{tab:exuse}
\end{center}
\index{\texttt{bigint}}
\index{\texttt{bigints}}
\index{\texttt{bigintss}}
\index{\texttt{bigintsss}}
\index{\texttt{bigintssss}}
\index{\texttt{bigoint}}
\index{\texttt{bigoints}}
\index{\texttt{bigointss}}
\index{\texttt{bigointsss}}
\index{\texttt{bigointssss}}
\end{table}

\subsection{Practical Examples}
\subsubsection{Matrices With Five Rows}
Compare
\[
 \int_{t_i}^{t_f}\begin{pmatrix}\frac{a(1-b)-cd-e \frac{\mathrm dW_s}{\mathrm dt}}{k}\\ f-gh\\ -i+j k+l\\ -m+n\\ m-n \end{pmatrix}\,\mathrm dt\quad\text{~to~}\quad\bigint_{t_i}^{t_f}\begin{pmatrix}\frac{a(1-b)-cd-e \frac{\mathrm dW_s}{\mathrm dt}}{k}\\ f-gh\\ -i+j k+l\\ -m+n\\ m-n \end{pmatrix}\,\mathrm dt.
\]

To achieve

\begin{center}
\begin{boxedminipage}{\textwidth}
\[
 \bigint_{t_i}^{t_f}\begin{pmatrix}\frac{a(1-b)-cd-e \frac{\mathrm dW_s}{\mathrm dt}}{k}\\ f-gh\\ -i+j k+l\\ -m+n\\ m-n \end{pmatrix}\,\mathrm dt
\]
\end{boxedminipage}
\end{center}
you simply need to use \verb \bigint ~at the place of \verb \int ~before the matrix.

\subsubsection{Matrices With Four Rows}
Compare
\[
 \int_{t_i}^{t_f}\begin{pmatrix}\frac{a(1-b)-cd-e \frac{\mathrm dW_s}{\mathrm dt}}{k}\\ f-gh\\ -i+j k+l\\ -m+n\end{pmatrix}\,\mathrm dt\quad\text{~to~}\quad\bigints_{t_i}^{t_f}\begin{pmatrix}\frac{a(1-b)-cd-e \frac{\mathrm dW_s}{\mathrm dt}}{k}\\ f-gh\\ -i+j k+l\\ -m+n \end{pmatrix}\,\mathrm dt.
\]

To achieve

\begin{center}
\begin{boxedminipage}{\textwidth}
\[
 \bigints_{t_i}^{t_f}\begin{pmatrix}\frac{a(1-b)-cd-e \frac{\mathrm dW_s}{\mathrm dt}}{k}\\ f-gh\\ -i+j k+l\\ -m+n \end{pmatrix}\,\mathrm dt
\]
\end{boxedminipage}
\end{center}
you simply need to use \verb \bigints ~at the place of \verb \int ~before the matrix.

\subsubsection{Matrices With Three Rows}
Compare
\[
 \int_{t_i}^{t_f}\begin{pmatrix}\frac{a(1-b)-cd-e \frac{\mathrm dW_s}{\mathrm dt}}{k}\\ f-gh\\ -i+j k+l \end{pmatrix}\,\mathrm dt\quad\text{~to~}\quad\bigintss_{t_i}^{t_f}\begin{pmatrix}\frac{a(1-b)-cd-e \frac{\mathrm dW_s}{\mathrm dt}}{k}\\ f-gh\\ -i+j k+l \end{pmatrix}\,\mathrm dt.
\]

To achieve

\begin{center}
\begin{boxedminipage}{\textwidth}
\[
 \bigintss_{t_i}^{t_f}\begin{pmatrix}\frac{a(1-b)-cd-e \frac{\mathrm dW_s}{\mathrm dt}}{k}\\ f-gh\\ -i+j k+l \end{pmatrix}\,\mathrm dt
\]
\end{boxedminipage}
\end{center}
you simply need to use \verb \bigintss ~at the place of \verb \int ~before the matrix.

\subsubsection{Matrices With Two Rows}
Compare
\[
 \int_{t_i}^{t_f}\begin{pmatrix}\frac{a(1-b)-cd-e \frac{\mathrm dW_s}{\mathrm dt}}{k}\\ f-gh \end{pmatrix}\,\mathrm dt\quad\text{~to~}\quad\bigintsss_{t_i}^{t_f}\begin{pmatrix}\frac{a(1-b)-cd-e \frac{\mathrm dW_s}{\mathrm dt}}{k}\\ f-gh \end{pmatrix}\,\mathrm dt.
\]

To achieve

\begin{center}
\begin{boxedminipage}{\textwidth}
\[
 \bigintsss_{t_i}^{t_f}\begin{pmatrix}\frac{a(1-b)-cd-e \frac{\mathrm dW_s}{\mathrm dt}}{k}\\ f-gh \end{pmatrix}\,\mathrm dt
\]
\end{boxedminipage}
\end{center}
you simply need to use \verb \bigintsss ~at the place of \verb \int ~before the matrix.

\subsubsection{Matrices With One Row}
Compare
\[
 \int_{t_i}^{t_f}\begin{pmatrix}\frac{a(1-b)-cd-e \frac{\mathrm dW_s}{\mathrm dt}}{k} \end{pmatrix}\,\mathrm dt\quad\text{~to~}\quad\bigintsss_{t_i}^{t_f}\begin{pmatrix}\frac{a(1-b)-cd-e \frac{\mathrm dW_s}{\mathrm dt}}{k} \end{pmatrix}\,\mathrm dt.
\]

To achieve

\begin{center}
\begin{boxedminipage}{\textwidth}
\[
 \bigintssss_{t_i}^{t_f}\begin{pmatrix}\frac{a(1-b)-cd-e \frac{\mathrm dW_s}{\mathrm dt}}{k} \end{pmatrix}\,\mathrm dt
\]
\end{boxedminipage}
\end{center}
you simply need to use \verb \bigintssss ~at the place of \verb \int ~before the matrix. This is here a matter of taste, as both symbols are typographically acceptable.
\paragraph{}
The same concept can be used for integrals on closed contours, such as the standard \verb \oint . You simply need to use \verb \bigoint , \verb \bigoints , \verb \bigointss , \verb \bigointsss ~and \verb \bigointssss .


\newpage
\section{Implementation}

Here is the code of \verb bigints.sty :
\lstset{language=TEX, basicstyle=\tiny, keywordstyle=\bfseries, commentstyle=\itshape, keywords={}, emph={}, emphstyle=\bfseries, numbers=left, stringstyle=\ttseries, showstringspaces=false, stepnumber=2, numbersep=5pt, showspaces=false, showtabs=false, backgroundcolor=\color{white}}

%\begin{lstlisting}[frame=single]
\lstinputlisting[lastline=95]{bigints.forlisting}
%\end{lstlisting}


%\newpage
\section{Limitations}
This package has currently no limitation.

\section{Remarks}
Not yet.

\section{Bugs}
Not yet.

\section{Version History}
\begin{enumerate}
 \item \verb v1.0 : package is introduced to the \LaTeX{} world,
\item \verb v1.1 : new commands (\verb \bigoint , \verb \bigoints , \verb \bigointss , \verb \bigointsss ~and \verb \bigointssss ) are available.
\end{enumerate}


\section{Contact}
If you have any question concerning this package (limitations, bugs, \ldots), please contact me at \href{mailto:Luca.Merciadri@student.ulg.ac.be}{Luca.Merciadri@student.ulg.ac.be}.


\section{Credits}
Thanks to \verb pg ~for his related trick, in the message on
\begin{center}
\url{http://www.les-mathematiques.net/phorum/read.php?10,472951}.
\end{center}


\newpage

\phantomsection
\printindex

\end{document}