diff --git a/.gitignore b/.gitignore index a1ce335..ad14b3c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ build/ .direnv/ .vscode -html/ \ No newline at end of file +html/ +latex/ \ No newline at end of file diff --git a/latex/Algo_8cc.tex b/latex/Algo_8cc.tex deleted file mode 100644 index 70389af..0000000 --- a/latex/Algo_8cc.tex +++ /dev/null @@ -1,13 +0,0 @@ -\doxysection{src/\+Algo.cc File Reference} -\hypertarget{Algo_8cc}{}\label{Algo_8cc}\index{src/Algo.cc@{src/Algo.cc}} -{\ttfamily \#include $<$sstream$>$}\newline -{\ttfamily \#include $<$Algo.\+hh$>$}\newline -{\ttfamily \#include $<$readers/\+JSONReader.\+hh$>$}\newline -{\ttfamily \#include $<$nlohmann/json.\+hpp$>$}\newline -Include dependency graph for Algo.\+cc\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{Algo_8cc__incl} -\end{center} -\end{figure} diff --git a/latex/Algo_8cc__incl.md5 b/latex/Algo_8cc__incl.md5 deleted file mode 100644 index f45d4e8..0000000 --- a/latex/Algo_8cc__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -211613c6e72476857da5ac76c9123075 \ No newline at end of file diff --git a/latex/Algo_8cc__incl.pdf b/latex/Algo_8cc__incl.pdf deleted file mode 100644 index 4e431da..0000000 Binary files a/latex/Algo_8cc__incl.pdf and /dev/null differ diff --git a/latex/Algo_8hh.tex b/latex/Algo_8hh.tex deleted file mode 100644 index 6a8bc32..0000000 --- a/latex/Algo_8hh.tex +++ /dev/null @@ -1,29 +0,0 @@ -\doxysection{include/\+Algo.hh File Reference} -\hypertarget{Algo_8hh}{}\label{Algo_8hh}\index{include/Algo.hh@{include/Algo.hh}} -{\ttfamily \#include $<$memory$>$}\newline -{\ttfamily \#include $<$queue$>$}\newline -{\ttfamily \#include $<$atomic$>$}\newline -{\ttfamily \#include $<$thread$>$}\newline -{\ttfamily \#include $<$future$>$}\newline -{\ttfamily \#include "{}Publisher.\+hh"{}}\newline -{\ttfamily \#include "{}utils/\+Thread\+Safe\+Queue.\+hh"{}}\newline -{\ttfamily \#include "{}utils/\+Thread\+Pool.\+hh"{}}\newline -Include dependency graph for Algo.\+hh\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{Algo_8hh__incl} -\end{center} -\end{figure} -This graph shows which files directly or indirectly include this file\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{Algo_8hh__dep__incl} -\end{center} -\end{figure} -\doxysubsubsection*{Classes} -\begin{DoxyCompactItemize} -\item -class \mbox{\hyperlink{classAlgo}{Algo}} -\end{DoxyCompactItemize} diff --git a/latex/Algo_8hh__dep__incl.md5 b/latex/Algo_8hh__dep__incl.md5 deleted file mode 100644 index 4a28561..0000000 --- a/latex/Algo_8hh__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -2324aef205f53e56df9c6dc641c08f0f \ No newline at end of file diff --git a/latex/Algo_8hh__dep__incl.pdf b/latex/Algo_8hh__dep__incl.pdf deleted file mode 100644 index b505f6b..0000000 Binary files a/latex/Algo_8hh__dep__incl.pdf and /dev/null differ diff --git a/latex/Algo_8hh__incl.md5 b/latex/Algo_8hh__incl.md5 deleted file mode 100644 index 183a032..0000000 --- a/latex/Algo_8hh__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -0ce3da1853fde40a77e31708fc4d4b83 \ No newline at end of file diff --git a/latex/Algo_8hh__incl.pdf b/latex/Algo_8hh__incl.pdf deleted file mode 100644 index 2135af0..0000000 Binary files a/latex/Algo_8hh__incl.pdf and /dev/null differ diff --git a/latex/Algo_8hh_source.tex b/latex/Algo_8hh_source.tex deleted file mode 100644 index 3e53a7d..0000000 --- a/latex/Algo_8hh_source.tex +++ /dev/null @@ -1,46 +0,0 @@ -\doxysection{Algo.\+hh} -\hypertarget{Algo_8hh_source}{}\label{Algo_8hh_source}\index{include/Algo.hh@{include/Algo.hh}} -\mbox{\hyperlink{Algo_8hh}{Go to the documentation of this file.}} -\begin{DoxyCode}{0} -\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#pragma\ once}} -\DoxyCodeLine{00002\ } -\DoxyCodeLine{00003\ \textcolor{comment}{//\ C++\ Includes}} -\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00007\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00008\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00009\ } -\DoxyCodeLine{00010\ } -\DoxyCodeLine{00011\ \textcolor{comment}{//\ FastInAHurry\ includes}} -\DoxyCodeLine{00012\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{Publisher_8hh}{Publisher.hh}}"{}}} -\DoxyCodeLine{00013\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{ThreadSafeQueue_8hh}{utils/ThreadSafeQueue.hh}}"{}}} -\DoxyCodeLine{00014\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{ThreadPool_8hh}{utils/ThreadPool.hh}}"{}}} -\DoxyCodeLine{00015\ } -\DoxyCodeLine{00016\ } -\DoxyCodeLine{00017\ \textcolor{keyword}{class\ }\mbox{\hyperlink{classAlgo_aaf4f951979fc60411ed84c558f081867}{Algo}}\ \{} -\DoxyCodeLine{00018\ \textcolor{keyword}{public}:} -\DoxyCodeLine{00019\ \ \ \ \ \mbox{\hyperlink{classAlgo_aaf4f951979fc60411ed84c558f081867}{Algo}}();} -\DoxyCodeLine{00020\ } -\DoxyCodeLine{00021\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classAlgo_ac8b70d722d4b2c1ad5cad4a63c3b7c62}{initialize}}();} -\DoxyCodeLine{00022\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classAlgo_ac223b246cd2f8851c4e0893ff41547fa}{generate\_orders}}();} -\DoxyCodeLine{00023\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}{process}}();} -\DoxyCodeLine{00024\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classAlgo_ac556564d232b2d90cec73718538ec804}{send}}(trading::Order\&);} -\DoxyCodeLine{00025\ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classAlgo_a6fef1866e14e8a08788cb1d54afcedaf}{initialized}}();} -\DoxyCodeLine{00026\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classAlgo_a330f03f9df9e5d1e2b701bc3f5e94524}{stop}}();} -\DoxyCodeLine{00027\ \textcolor{keyword}{private}:} -\DoxyCodeLine{00028\ \ \ \ \ std::queue\ \mbox{\hyperlink{classAlgo_a889e1362976e78c4904007ee5edfd3fe}{\_orders}};} -\DoxyCodeLine{00029\ \ \ \ \ std::atomic\ \mbox{\hyperlink{classAlgo_a6cffb1f6d087978eba685bcb1d06b11d}{\_initialized}}\{\textcolor{keyword}{false}\};} -\DoxyCodeLine{00030\ \ \ \ \ std::atomic\ \mbox{\hyperlink{classAlgo_a3ce5d714379ab5094b6d82b99421b4a3}{\_running}}\{\textcolor{keyword}{false}\};} -\DoxyCodeLine{00031\ \ \ \ \ std::shared\_ptr\ \ \mbox{\hyperlink{classAlgo_af5bcfa2719e948826f71983a18ec017d}{\_pub}};} -\DoxyCodeLine{00032\ } -\DoxyCodeLine{00033\ \ \ \ \ \mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{utils::ThreadSafeQueue}}\ \mbox{\hyperlink{classAlgo_ac4f2da176cc2dc9ba757140a635fe9b8}{\_order\_queue}};} -\DoxyCodeLine{00034\ \ \ \ \ \mbox{\hyperlink{classutils_1_1ThreadPool}{utils::ThreadPool}}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classAlgo_adb85594bf1d2e7c9357d353b5e97787d}{\_thread\_pool}};} -\DoxyCodeLine{00035\ } -\DoxyCodeLine{00036\ \ \ \ \ std::mutex\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classAlgo_a4943cab875d5261b0abec360b68878e8}{\_send\_mutex}};} -\DoxyCodeLine{00037\ \ \ \ \ std::jthread\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classAlgo_a743ddc60baad0afa7f036a529c340460}{\_reader\_thread}};} -\DoxyCodeLine{00038\ \ \ \ \ std::vector\ \ \ \ \ \ \ \mbox{\hyperlink{classAlgo_ac72ec5a778fce0be42ebf635f2c504d0}{\_worker\_threads}};} -\DoxyCodeLine{00039\ \ \ \ \ std::vector>\ \ \mbox{\hyperlink{classAlgo_a671449864b2d1a1af9a57970eb104a0f}{\_futures}};} -\DoxyCodeLine{00040\ \};} - -\end{DoxyCode} diff --git a/latex/Controller_8cc.tex b/latex/Controller_8cc.tex deleted file mode 100644 index ef11a24..0000000 --- a/latex/Controller_8cc.tex +++ /dev/null @@ -1,10 +0,0 @@ -\doxysection{src/\+Controller.cc File Reference} -\hypertarget{Controller_8cc}{}\label{Controller_8cc}\index{src/Controller.cc@{src/Controller.cc}} -{\ttfamily \#include "{}Controller.\+hh"{}}\newline -Include dependency graph for Controller.\+cc\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{Controller_8cc__incl} -\end{center} -\end{figure} diff --git a/latex/Controller_8cc__incl.md5 b/latex/Controller_8cc__incl.md5 deleted file mode 100644 index 0531228..0000000 --- a/latex/Controller_8cc__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -12029bdb832ea7f6a5407cf57bb316d6 \ No newline at end of file diff --git a/latex/Controller_8cc__incl.pdf b/latex/Controller_8cc__incl.pdf deleted file mode 100644 index ef01de0..0000000 Binary files a/latex/Controller_8cc__incl.pdf and /dev/null differ diff --git a/latex/Controller_8hh.tex b/latex/Controller_8hh.tex deleted file mode 100644 index fde1ef1..0000000 --- a/latex/Controller_8hh.tex +++ /dev/null @@ -1,22 +0,0 @@ -\doxysection{include/\+Controller.hh File Reference} -\hypertarget{Controller_8hh}{}\label{Controller_8hh}\index{include/Controller.hh@{include/Controller.hh}} -{\ttfamily \#include "{}Algo.\+hh"{}}\newline -Include dependency graph for Controller.\+hh\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{Controller_8hh__incl} -\end{center} -\end{figure} -This graph shows which files directly or indirectly include this file\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=197pt]{Controller_8hh__dep__incl} -\end{center} -\end{figure} -\doxysubsubsection*{Classes} -\begin{DoxyCompactItemize} -\item -class \mbox{\hyperlink{classController}{Controller}} -\end{DoxyCompactItemize} diff --git a/latex/Controller_8hh__dep__incl.md5 b/latex/Controller_8hh__dep__incl.md5 deleted file mode 100644 index 93e231c..0000000 --- a/latex/Controller_8hh__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -e273f69f3dc18dda64848675fb1b0abd \ No newline at end of file diff --git a/latex/Controller_8hh__dep__incl.pdf b/latex/Controller_8hh__dep__incl.pdf deleted file mode 100644 index 7737610..0000000 Binary files a/latex/Controller_8hh__dep__incl.pdf and /dev/null differ diff --git a/latex/Controller_8hh__incl.md5 b/latex/Controller_8hh__incl.md5 deleted file mode 100644 index 24598aa..0000000 --- a/latex/Controller_8hh__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -281a2fa6788bcfd1efb77b625fb59289 \ No newline at end of file diff --git a/latex/Controller_8hh__incl.pdf b/latex/Controller_8hh__incl.pdf deleted file mode 100644 index 5f27c01..0000000 Binary files a/latex/Controller_8hh__incl.pdf and /dev/null differ diff --git a/latex/Controller_8hh_source.tex b/latex/Controller_8hh_source.tex deleted file mode 100644 index 81de1cd..0000000 --- a/latex/Controller_8hh_source.tex +++ /dev/null @@ -1,15 +0,0 @@ -\doxysection{Controller.\+hh} -\hypertarget{Controller_8hh_source}{}\label{Controller_8hh_source}\index{include/Controller.hh@{include/Controller.hh}} -\mbox{\hyperlink{Controller_8hh}{Go to the documentation of this file.}} -\begin{DoxyCode}{0} -\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{Algo_8hh}{Algo.hh}}"{}}} -\DoxyCodeLine{00002\ } -\DoxyCodeLine{00003\ \textcolor{keyword}{class\ }\mbox{\hyperlink{classController_a9bf20649bd5268f6c25d206eddcd3fc5}{Controller}}\ \{} -\DoxyCodeLine{00004\ \textcolor{keyword}{public}:} -\DoxyCodeLine{00005\ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classController_a9bf20649bd5268f6c25d206eddcd3fc5}{Controller}}(\textcolor{keywordtype}{int},\ \textcolor{keywordtype}{char}*[]);} -\DoxyCodeLine{00006\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classController_ad535ad74055e645b7f44b7feeb4e82a8}{start}}();} -\DoxyCodeLine{00007\ \textcolor{keyword}{private}:} -\DoxyCodeLine{00008\ \ \ \ \ std::unique\_ptr\ \mbox{\hyperlink{classController_af469cf532ccb25e9256a9e71d35072ed}{\_algo}};} -\DoxyCodeLine{00009\ \};} - -\end{DoxyCode} diff --git a/latex/JSONReader_8cc.tex b/latex/JSONReader_8cc.tex deleted file mode 100644 index 0e8b77d..0000000 --- a/latex/JSONReader_8cc.tex +++ /dev/null @@ -1,26 +0,0 @@ -\doxysection{src/readers/\+JSONReader.cc File Reference} -\hypertarget{JSONReader_8cc}{}\label{JSONReader_8cc}\index{src/readers/JSONReader.cc@{src/readers/JSONReader.cc}} -{\ttfamily \#include $<$fstream$>$}\newline -{\ttfamily \#include $<$iostream$>$}\newline -{\ttfamily \#include "{}readers/\+JSONReader.\+hh"{}}\newline -{\ttfamily \#include $<$Algo.\+hh$>$}\newline -{\ttfamily \#include "{}trading.\+pb.\+h"{}}\newline -Include dependency graph for JSONReader.\+cc\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{JSONReader_8cc__incl} -\end{center} -\end{figure} -\doxysubsubsection*{Namespaces} -\begin{DoxyCompactItemize} -\item -namespace \mbox{\hyperlink{namespacereaders}{readers}} -\item -namespace \mbox{\hyperlink{namespacereaders_1_1json}{readers\+::json}} -\end{DoxyCompactItemize} -\doxysubsubsection*{Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{namespacereaders_1_1json_aa2743dc5b5ec05c84803e442f21f43d1}{Order\+Queue}} \mbox{\hyperlink{namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209}{readers\+::json\+::read\+\_\+orders\+\_\+from\+\_\+json}} (const std\+::string \&filename) -\end{DoxyCompactItemize} diff --git a/latex/JSONReader_8cc__incl.md5 b/latex/JSONReader_8cc__incl.md5 deleted file mode 100644 index c74d8ab..0000000 --- a/latex/JSONReader_8cc__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -7e113c0a54ccca514ca8e252062f14c5 \ No newline at end of file diff --git a/latex/JSONReader_8cc__incl.pdf b/latex/JSONReader_8cc__incl.pdf deleted file mode 100644 index 7729422..0000000 Binary files a/latex/JSONReader_8cc__incl.pdf and /dev/null differ diff --git a/latex/JSONReader_8hh.tex b/latex/JSONReader_8hh.tex deleted file mode 100644 index ca25667..0000000 --- a/latex/JSONReader_8hh.tex +++ /dev/null @@ -1,40 +0,0 @@ -\doxysection{include/readers/\+JSONReader.hh File Reference} -\hypertarget{JSONReader_8hh}{}\label{JSONReader_8hh}\index{include/readers/JSONReader.hh@{include/readers/JSONReader.hh}} -{\ttfamily \#include $<$queue$>$}\newline -{\ttfamily \#include $<$string$>$}\newline -{\ttfamily \#include $<$memory$>$}\newline -{\ttfamily \#include "{}trading.\+pb.\+h"{}}\newline -{\ttfamily \#include $<$nlohmann/json.\+hpp$>$}\newline -Include dependency graph for JSONReader.\+hh\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{JSONReader_8hh__incl} -\end{center} -\end{figure} -This graph shows which files directly or indirectly include this file\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=310pt]{JSONReader_8hh__dep__incl} -\end{center} -\end{figure} -\doxysubsubsection*{Namespaces} -\begin{DoxyCompactItemize} -\item -namespace \mbox{\hyperlink{namespacereaders}{readers}} -\item -namespace \mbox{\hyperlink{namespacereaders_1_1json}{readers\+::json}} -\end{DoxyCompactItemize} -\doxysubsubsection*{Typedefs} -\begin{DoxyCompactItemize} -\item -using \mbox{\hyperlink{namespacereaders_1_1json_a5f54a39f5770ab1576f53a06a159cb42}{readers\+::json\+::\+JSON}} = nlohmann\+::json -\item -using \mbox{\hyperlink{namespacereaders_1_1json_aa2743dc5b5ec05c84803e442f21f43d1}{readers\+::json\+::\+Order\+Queue}} = std\+::queue$<$trading\+::\+Order$>$ -\end{DoxyCompactItemize} -\doxysubsubsection*{Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{namespacereaders_1_1json_aa2743dc5b5ec05c84803e442f21f43d1}{Order\+Queue}} \mbox{\hyperlink{namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209}{readers\+::json\+::read\+\_\+orders\+\_\+from\+\_\+json}} (const std\+::string \&filename) -\end{DoxyCompactItemize} diff --git a/latex/JSONReader_8hh__dep__incl.md5 b/latex/JSONReader_8hh__dep__incl.md5 deleted file mode 100644 index c80db6e..0000000 --- a/latex/JSONReader_8hh__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -ec098445606982883bedccfed91b5862 \ No newline at end of file diff --git a/latex/JSONReader_8hh__dep__incl.pdf b/latex/JSONReader_8hh__dep__incl.pdf deleted file mode 100644 index 55ca096..0000000 Binary files a/latex/JSONReader_8hh__dep__incl.pdf and /dev/null differ diff --git a/latex/JSONReader_8hh__incl.md5 b/latex/JSONReader_8hh__incl.md5 deleted file mode 100644 index ac529b8..0000000 --- a/latex/JSONReader_8hh__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -1f6755b0cedd876e089e33ad2e048562 \ No newline at end of file diff --git a/latex/JSONReader_8hh__incl.pdf b/latex/JSONReader_8hh__incl.pdf deleted file mode 100644 index b0a39ed..0000000 Binary files a/latex/JSONReader_8hh__incl.pdf and /dev/null differ diff --git a/latex/JSONReader_8hh_source.tex b/latex/JSONReader_8hh_source.tex deleted file mode 100644 index 093be8e..0000000 --- a/latex/JSONReader_8hh_source.tex +++ /dev/null @@ -1,23 +0,0 @@ -\doxysection{JSONReader.\+hh} -\hypertarget{JSONReader_8hh_source}{}\label{JSONReader_8hh_source}\index{include/readers/JSONReader.hh@{include/readers/JSONReader.hh}} -\mbox{\hyperlink{JSONReader_8hh}{Go to the documentation of this file.}} -\begin{DoxyCode}{0} -\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#pragma\ once}} -\DoxyCodeLine{00002\ } -\DoxyCodeLine{00003\ \textcolor{comment}{//\ C++\ Includes}} -\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00007\ } -\DoxyCodeLine{00008\ \textcolor{comment}{//\ Third\ Party\ Includes}} -\DoxyCodeLine{00009\ \textcolor{preprocessor}{\#include\ "{}trading.pb.h"{}}} -\DoxyCodeLine{00010\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00011\ } -\DoxyCodeLine{00012\ \textcolor{keyword}{namespace\ }\mbox{\hyperlink{namespacereaders_1_1json}{readers::json}}\ \{} -\DoxyCodeLine{00013\ \textcolor{keyword}{using\ }\mbox{\hyperlink{namespacereaders_1_1json_a5f54a39f5770ab1576f53a06a159cb42}{JSON}}\ =\ nlohmann::json;} -\DoxyCodeLine{00014\ \textcolor{keyword}{using\ }\mbox{\hyperlink{namespacereaders_1_1json_aa2743dc5b5ec05c84803e442f21f43d1}{OrderQueue}}\ =\ std::queue;} -\DoxyCodeLine{00015\ } -\DoxyCodeLine{00016\ \mbox{\hyperlink{namespacereaders_1_1json_aa2743dc5b5ec05c84803e442f21f43d1}{OrderQueue}}\ \mbox{\hyperlink{namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209}{read\_orders\_from\_json}}(\textcolor{keyword}{const}\ std::string\&\ filename);} -\DoxyCodeLine{00017\ \}\ \textcolor{comment}{//\ End\ json\ namespace}} - -\end{DoxyCode} diff --git a/latex/Makefile b/latex/Makefile deleted file mode 100644 index 8e14614..0000000 --- a/latex/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -LATEX_CMD?=pdflatex -MKIDX_CMD?=makeindex -BIBTEX_CMD?=bibtex -LATEX_COUNT?=8 -MANUAL_FILE?=refman - -all: $(MANUAL_FILE).pdf - -pdf: $(MANUAL_FILE).pdf - -$(MANUAL_FILE).pdf: clean $(MANUAL_FILE).tex - $(LATEX_CMD) $(MANUAL_FILE) || \ - if [ $$? != 0 ] ; then \ - \echo "Please consult $(MANUAL_FILE).log to see the error messages" ; \ - false; \ - fi - $(MKIDX_CMD) $(MANUAL_FILE).idx - $(LATEX_CMD) $(MANUAL_FILE) || \ - if [ $$? != 0 ] ; then \ - \echo "Please consult $(MANUAL_FILE).log to see the error messages" ; \ - false; \ - fi - latex_count=$(LATEX_COUNT) ; \ - while grep -E -s 'Rerun (LaTeX|to get cross-references right|to get bibliographical references right)' $(MANUAL_FILE).log && [ $$latex_count -gt 0 ] ;\ - do \ - echo "Rerunning latex...." ;\ - $(LATEX_CMD) $(MANUAL_FILE) || \ - if [ $$? != 0 ] ; then \ - \echo "Please consult $(MANUAL_FILE).log to see the error messages" ; \ - false; \ - fi; \ - latex_count=`expr $$latex_count - 1` ;\ - done - $(MKIDX_CMD) $(MANUAL_FILE).idx - $(LATEX_CMD) $(MANUAL_FILE) || \ - if [ $$? != 0 ] ; then \ - \echo "Please consult $(MANUAL_FILE).log to see the error messages" ; \ - false; \ - fi - -clean: - rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl $(MANUAL_FILE).pdf diff --git a/latex/Publisher_8cc.tex b/latex/Publisher_8cc.tex deleted file mode 100644 index 19b471f..0000000 --- a/latex/Publisher_8cc.tex +++ /dev/null @@ -1,11 +0,0 @@ -\doxysection{src/\+Publisher.cc File Reference} -\hypertarget{Publisher_8cc}{}\label{Publisher_8cc}\index{src/Publisher.cc@{src/Publisher.cc}} -{\ttfamily \#include "{}Publisher.\+hh"{}}\newline -{\ttfamily \#include $<$iostream$>$}\newline -Include dependency graph for Publisher.\+cc\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{Publisher_8cc__incl} -\end{center} -\end{figure} diff --git a/latex/Publisher_8cc__incl.md5 b/latex/Publisher_8cc__incl.md5 deleted file mode 100644 index 94adc6e..0000000 --- a/latex/Publisher_8cc__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -2d136351ebf2617e47a2431fe6cf3158 \ No newline at end of file diff --git a/latex/Publisher_8cc__incl.pdf b/latex/Publisher_8cc__incl.pdf deleted file mode 100644 index 64d0a38..0000000 Binary files a/latex/Publisher_8cc__incl.pdf and /dev/null differ diff --git a/latex/Publisher_8hh.tex b/latex/Publisher_8hh.tex deleted file mode 100644 index 41588c3..0000000 --- a/latex/Publisher_8hh.tex +++ /dev/null @@ -1,24 +0,0 @@ -\doxysection{include/\+Publisher.hh File Reference} -\hypertarget{Publisher_8hh}{}\label{Publisher_8hh}\index{include/Publisher.hh@{include/Publisher.hh}} -{\ttfamily \#include "{}trading.\+grpc.\+pb.\+h"{}}\newline -{\ttfamily \#include $<$grpcpp/grpcpp.\+h$>$}\newline -{\ttfamily \#include $<$memory$>$}\newline -Include dependency graph for Publisher.\+hh\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{Publisher_8hh__incl} -\end{center} -\end{figure} -This graph shows which files directly or indirectly include this file\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{Publisher_8hh__dep__incl} -\end{center} -\end{figure} -\doxysubsubsection*{Classes} -\begin{DoxyCompactItemize} -\item -class \mbox{\hyperlink{classPublisher}{Publisher}} -\end{DoxyCompactItemize} diff --git a/latex/Publisher_8hh__dep__incl.md5 b/latex/Publisher_8hh__dep__incl.md5 deleted file mode 100644 index 11dbb5f..0000000 --- a/latex/Publisher_8hh__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -5bf9bae782ee8e3e8516e2e0453bc2c5 \ No newline at end of file diff --git a/latex/Publisher_8hh__dep__incl.pdf b/latex/Publisher_8hh__dep__incl.pdf deleted file mode 100644 index 958d120..0000000 Binary files a/latex/Publisher_8hh__dep__incl.pdf and /dev/null differ diff --git a/latex/Publisher_8hh__incl.md5 b/latex/Publisher_8hh__incl.md5 deleted file mode 100644 index 1020ade..0000000 --- a/latex/Publisher_8hh__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -e78cf47d5e8ae292dbba712ea3a137d4 \ No newline at end of file diff --git a/latex/Publisher_8hh__incl.pdf b/latex/Publisher_8hh__incl.pdf deleted file mode 100644 index 8a8b198..0000000 Binary files a/latex/Publisher_8hh__incl.pdf and /dev/null differ diff --git a/latex/Publisher_8hh_source.tex b/latex/Publisher_8hh_source.tex deleted file mode 100644 index 9e9526b..0000000 --- a/latex/Publisher_8hh_source.tex +++ /dev/null @@ -1,20 +0,0 @@ -\doxysection{Publisher.\+hh} -\hypertarget{Publisher_8hh_source}{}\label{Publisher_8hh_source}\index{include/Publisher.hh@{include/Publisher.hh}} -\mbox{\hyperlink{Publisher_8hh}{Go to the documentation of this file.}} -\begin{DoxyCode}{0} -\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#pragma\ once}} -\DoxyCodeLine{00002\ } -\DoxyCodeLine{00003\ \textcolor{preprocessor}{\#include\ "{}trading.grpc.pb.h"{}}} -\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00006\ } -\DoxyCodeLine{00007\ \textcolor{keyword}{class\ }\mbox{\hyperlink{classPublisher_ac829a82a3cb7aeeaece86419ffb0119d}{Publisher}}\ \{} -\DoxyCodeLine{00008\ \textcolor{keyword}{public}:} -\DoxyCodeLine{00009\ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classPublisher_ac829a82a3cb7aeeaece86419ffb0119d}{Publisher}}(std::shared\_ptr\ channel);} -\DoxyCodeLine{00010\ } -\DoxyCodeLine{00011\ \ \ \ \ grpc::Status\ \mbox{\hyperlink{classPublisher_a2fe75fa23a11f43f31e0d2d2261c86e8}{send\_order}}(\textcolor{keyword}{const}\ trading::Order\&\ order);} -\DoxyCodeLine{00012\ \textcolor{keyword}{private}:} -\DoxyCodeLine{00013\ \ \ \ \ std::unique\_ptr\ \mbox{\hyperlink{classPublisher_ac495a5e279a5531eddb94314bdbd04ac}{\_stub}};} -\DoxyCodeLine{00014\ \};} - -\end{DoxyCode} diff --git a/latex/ThreadPool_8cc.tex b/latex/ThreadPool_8cc.tex deleted file mode 100644 index f19383c..0000000 --- a/latex/ThreadPool_8cc.tex +++ /dev/null @@ -1,22 +0,0 @@ -\doxysection{src/utils/\+Thread\+Pool.cc File Reference} -\hypertarget{ThreadPool_8cc}{}\label{ThreadPool_8cc}\index{src/utils/ThreadPool.cc@{src/utils/ThreadPool.cc}} -{\ttfamily \#include $<$vector$>$}\newline -{\ttfamily \#include $<$queue$>$}\newline -{\ttfamily \#include $<$thread$>$}\newline -{\ttfamily \#include $<$functional$>$}\newline -{\ttfamily \#include $<$condition\+\_\+variable$>$}\newline -{\ttfamily \#include $<$mutex$>$}\newline -{\ttfamily \#include $<$future$>$}\newline -{\ttfamily \#include "{}utils/\+Thread\+Pool.\+hh"{}}\newline -Include dependency graph for Thread\+Pool.\+cc\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{ThreadPool_8cc__incl} -\end{center} -\end{figure} -\doxysubsubsection*{Namespaces} -\begin{DoxyCompactItemize} -\item -namespace \mbox{\hyperlink{namespaceutils}{utils}} -\end{DoxyCompactItemize} diff --git a/latex/ThreadPool_8cc__incl.md5 b/latex/ThreadPool_8cc__incl.md5 deleted file mode 100644 index db45ed8..0000000 --- a/latex/ThreadPool_8cc__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -a1eefb259b52d70ba5b2f8d600c8d7e7 \ No newline at end of file diff --git a/latex/ThreadPool_8cc__incl.pdf b/latex/ThreadPool_8cc__incl.pdf deleted file mode 100644 index 7ce1856..0000000 Binary files a/latex/ThreadPool_8cc__incl.pdf and /dev/null differ diff --git a/latex/ThreadPool_8hh.tex b/latex/ThreadPool_8hh.tex deleted file mode 100644 index 79b2f2a..0000000 --- a/latex/ThreadPool_8hh.tex +++ /dev/null @@ -1,33 +0,0 @@ -\doxysection{include/utils/\+Thread\+Pool.hh File Reference} -\hypertarget{ThreadPool_8hh}{}\label{ThreadPool_8hh}\index{include/utils/ThreadPool.hh@{include/utils/ThreadPool.hh}} -{\ttfamily \#include $<$vector$>$}\newline -{\ttfamily \#include $<$queue$>$}\newline -{\ttfamily \#include $<$thread$>$}\newline -{\ttfamily \#include $<$functional$>$}\newline -{\ttfamily \#include $<$condition\+\_\+variable$>$}\newline -{\ttfamily \#include $<$mutex$>$}\newline -{\ttfamily \#include $<$future$>$}\newline -Include dependency graph for Thread\+Pool.\+hh\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{ThreadPool_8hh__incl} -\end{center} -\end{figure} -This graph shows which files directly or indirectly include this file\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{ThreadPool_8hh__dep__incl} -\end{center} -\end{figure} -\doxysubsubsection*{Classes} -\begin{DoxyCompactItemize} -\item -class \mbox{\hyperlink{classutils_1_1ThreadPool}{utils\+::\+Thread\+Pool}} -\end{DoxyCompactItemize} -\doxysubsubsection*{Namespaces} -\begin{DoxyCompactItemize} -\item -namespace \mbox{\hyperlink{namespaceutils}{utils}} -\end{DoxyCompactItemize} diff --git a/latex/ThreadPool_8hh__dep__incl.md5 b/latex/ThreadPool_8hh__dep__incl.md5 deleted file mode 100644 index e0b8433..0000000 --- a/latex/ThreadPool_8hh__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -7fc62ea7e035c32c7bb2e8e282ccf661 \ No newline at end of file diff --git a/latex/ThreadPool_8hh__dep__incl.pdf b/latex/ThreadPool_8hh__dep__incl.pdf deleted file mode 100644 index c4e60e7..0000000 Binary files a/latex/ThreadPool_8hh__dep__incl.pdf and /dev/null differ diff --git a/latex/ThreadPool_8hh__incl.md5 b/latex/ThreadPool_8hh__incl.md5 deleted file mode 100644 index 2a6df99..0000000 --- a/latex/ThreadPool_8hh__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -d4b3a5bf89e3c451af8aaef193ad8e31 \ No newline at end of file diff --git a/latex/ThreadPool_8hh__incl.pdf b/latex/ThreadPool_8hh__incl.pdf deleted file mode 100644 index 15bb96f..0000000 Binary files a/latex/ThreadPool_8hh__incl.pdf and /dev/null differ diff --git a/latex/ThreadPool_8hh_source.tex b/latex/ThreadPool_8hh_source.tex deleted file mode 100644 index ec3f2a8..0000000 --- a/latex/ThreadPool_8hh_source.tex +++ /dev/null @@ -1,52 +0,0 @@ -\doxysection{Thread\+Pool.\+hh} -\hypertarget{ThreadPool_8hh_source}{}\label{ThreadPool_8hh_source}\index{include/utils/ThreadPool.hh@{include/utils/ThreadPool.hh}} -\mbox{\hyperlink{ThreadPool_8hh}{Go to the documentation of this file.}} -\begin{DoxyCode}{0} -\DoxyCodeLine{00001\ \textcolor{comment}{//\ C++\ Includes}} -\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00003\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00007\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00008\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00009\ } -\DoxyCodeLine{00010\ \textcolor{keyword}{namespace\ }\mbox{\hyperlink{namespaceutils}{utils}}\ \{} -\DoxyCodeLine{00011\ } -\DoxyCodeLine{00012\ \textcolor{keyword}{class\ }\mbox{\hyperlink{classutils_1_1ThreadPool_a02ccb8118692092d5d4132eab7c751e2}{ThreadPool}}\ \{} -\DoxyCodeLine{00013\ \textcolor{keyword}{private}:} -\DoxyCodeLine{00014\ \ \ \ \ std::vector\ \mbox{\hyperlink{classutils_1_1ThreadPool_a3113eec4fac2948b403a0d94c42a3732}{\_workers}};} -\DoxyCodeLine{00015\ \ \ \ \ std::queue>\ \mbox{\hyperlink{classutils_1_1ThreadPool_acbc332a452776263a9e6557131495aee}{\_tasks}};} -\DoxyCodeLine{00016\ } -\DoxyCodeLine{00017\ \ \ \ \ std::mutex\ \mbox{\hyperlink{classutils_1_1ThreadPool_ad59af3c00e330ac777fb5eb349e0e291}{\_queue\_mutex}};} -\DoxyCodeLine{00018\ \ \ \ \ std::condition\_variable\ \mbox{\hyperlink{classutils_1_1ThreadPool_ad0284bde5203396b2e3cf95e07893748}{\_cv}};} -\DoxyCodeLine{00019\ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classutils_1_1ThreadPool_a6a2a828a76092e3170cb6a93d679043f}{\_stop}}\{\textcolor{keyword}{false}\};} -\DoxyCodeLine{00020\ } -\DoxyCodeLine{00021\ \textcolor{keyword}{public}:} -\DoxyCodeLine{00022\ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classutils_1_1ThreadPool_a02ccb8118692092d5d4132eab7c751e2}{ThreadPool}}(std::size\_t\ threads\ =\ std::thread::hardware\_concurrency());} -\DoxyCodeLine{00023\ \ \ \ \ \mbox{\hyperlink{classutils_1_1ThreadPool_a6f0428a4b19a724f956d82e408013108}{\string~ThreadPool}}();} -\DoxyCodeLine{00024\ } -\DoxyCodeLine{00025\ \ \ \ \ \textcolor{keyword}{template}<\textcolor{keyword}{class\ }F,\ \textcolor{keyword}{class}...\ Args>} -\DoxyCodeLine{00026\ \ \ \ \ \textcolor{keyword}{auto}\ \mbox{\hyperlink{classutils_1_1ThreadPool_a06f6b246fd98c4970c0510d48141a29d}{enqueue}}(F\&\&\ f,\ Args\&\&...\ args)\ -\/>\ std::future>\ \{} -\DoxyCodeLine{00027\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }return\_type\ =\ std::invoke\_result\_t;} -\DoxyCodeLine{00028\ } -\DoxyCodeLine{00029\ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ task\_ptr\ =\ std::make\_shared>(} -\DoxyCodeLine{00030\ \ \ \ \ \ \ \ \ \ \ \ \ std::bind(std::forward(f),\ std::forward(args)...)} -\DoxyCodeLine{00031\ \ \ \ \ \ \ \ \ );} -\DoxyCodeLine{00032\ } -\DoxyCodeLine{00033\ \ \ \ \ \ \ \ \ std::future\ result\ =\ task\_ptr-\/>get\_future();} -\DoxyCodeLine{00034\ } -\DoxyCodeLine{00035\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00036\ \ \ \ \ \ \ \ \ \ \ \ \ std::unique\_lock\ lock(\mbox{\hyperlink{classutils_1_1ThreadPool_ad59af3c00e330ac777fb5eb349e0e291}{\_queue\_mutex}});} -\DoxyCodeLine{00037\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (\mbox{\hyperlink{classutils_1_1ThreadPool_a6a2a828a76092e3170cb6a93d679043f}{\_stop}})} -\DoxyCodeLine{00038\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{throw}\ std::runtime\_error(\textcolor{stringliteral}{"{}Tried\ to\ enqueue\ on\ stopped\ ThreadPool"{}});} -\DoxyCodeLine{00039\ } -\DoxyCodeLine{00040\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classutils_1_1ThreadPool_acbc332a452776263a9e6557131495aee}{\_tasks}}.emplace([task\_ptr]()\ \{\ (*task\_ptr)();\ \});} -\DoxyCodeLine{00041\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00042\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classutils_1_1ThreadPool_ad0284bde5203396b2e3cf95e07893748}{\_cv}}.notify\_one();} -\DoxyCodeLine{00043\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ result;} -\DoxyCodeLine{00044\ \ \ \ \ \}} -\DoxyCodeLine{00045\ \};} -\DoxyCodeLine{00046\ \}\ \textcolor{comment}{//\ End\ utils\ namespace}} - -\end{DoxyCode} diff --git a/latex/ThreadSafeQueue_8cc.tex b/latex/ThreadSafeQueue_8cc.tex deleted file mode 100644 index 963ca6f..0000000 --- a/latex/ThreadSafeQueue_8cc.tex +++ /dev/null @@ -1,2 +0,0 @@ -\doxysection{src/utils/\+Thread\+Safe\+Queue.cc File Reference} -\hypertarget{ThreadSafeQueue_8cc}{}\label{ThreadSafeQueue_8cc}\index{src/utils/ThreadSafeQueue.cc@{src/utils/ThreadSafeQueue.cc}} diff --git a/latex/ThreadSafeQueue_8hh.tex b/latex/ThreadSafeQueue_8hh.tex deleted file mode 100644 index a2c1faf..0000000 --- a/latex/ThreadSafeQueue_8hh.tex +++ /dev/null @@ -1,31 +0,0 @@ -\doxysection{include/utils/\+Thread\+Safe\+Queue.hh File Reference} -\hypertarget{ThreadSafeQueue_8hh}{}\label{ThreadSafeQueue_8hh}\index{include/utils/ThreadSafeQueue.hh@{include/utils/ThreadSafeQueue.hh}} -{\ttfamily \#include $<$queue$>$}\newline -{\ttfamily \#include $<$thread$>$}\newline -{\ttfamily \#include $<$functional$>$}\newline -{\ttfamily \#include $<$mutex$>$}\newline -{\ttfamily \#include $<$condition\+\_\+variable$>$}\newline -Include dependency graph for Thread\+Safe\+Queue.\+hh\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{ThreadSafeQueue_8hh__incl} -\end{center} -\end{figure} -This graph shows which files directly or indirectly include this file\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{ThreadSafeQueue_8hh__dep__incl} -\end{center} -\end{figure} -\doxysubsubsection*{Classes} -\begin{DoxyCompactItemize} -\item -class \mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{utils\+::\+Thread\+Safe\+Queue$<$ T $>$}} -\end{DoxyCompactItemize} -\doxysubsubsection*{Namespaces} -\begin{DoxyCompactItemize} -\item -namespace \mbox{\hyperlink{namespaceutils}{utils}} -\end{DoxyCompactItemize} diff --git a/latex/ThreadSafeQueue_8hh__dep__incl.md5 b/latex/ThreadSafeQueue_8hh__dep__incl.md5 deleted file mode 100644 index 42a7102..0000000 --- a/latex/ThreadSafeQueue_8hh__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -e523521ad6faba19f0abd2aea07289a8 \ No newline at end of file diff --git a/latex/ThreadSafeQueue_8hh__dep__incl.pdf b/latex/ThreadSafeQueue_8hh__dep__incl.pdf deleted file mode 100644 index 684aee0..0000000 Binary files a/latex/ThreadSafeQueue_8hh__dep__incl.pdf and /dev/null differ diff --git a/latex/ThreadSafeQueue_8hh__incl.md5 b/latex/ThreadSafeQueue_8hh__incl.md5 deleted file mode 100644 index 66717c5..0000000 --- a/latex/ThreadSafeQueue_8hh__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -9070d690ac1c16410ccfa8f2d185154d \ No newline at end of file diff --git a/latex/ThreadSafeQueue_8hh__incl.pdf b/latex/ThreadSafeQueue_8hh__incl.pdf deleted file mode 100644 index 9b658a6..0000000 Binary files a/latex/ThreadSafeQueue_8hh__incl.pdf and /dev/null differ diff --git a/latex/ThreadSafeQueue_8hh_source.tex b/latex/ThreadSafeQueue_8hh_source.tex deleted file mode 100644 index 6ef4908..0000000 --- a/latex/ThreadSafeQueue_8hh_source.tex +++ /dev/null @@ -1,41 +0,0 @@ -\doxysection{Thread\+Safe\+Queue.\+hh} -\hypertarget{ThreadSafeQueue_8hh_source}{}\label{ThreadSafeQueue_8hh_source}\index{include/utils/ThreadSafeQueue.hh@{include/utils/ThreadSafeQueue.hh}} -\mbox{\hyperlink{ThreadSafeQueue_8hh}{Go to the documentation of this file.}} -\begin{DoxyCode}{0} -\DoxyCodeLine{00001\ \textcolor{comment}{//\ C++\ Includes}} -\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00003\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00007\ } -\DoxyCodeLine{00008\ \textcolor{keyword}{namespace\ }\mbox{\hyperlink{namespaceutils}{utils}}\ \{} -\DoxyCodeLine{00009\ } -\DoxyCodeLine{00010\ \textcolor{keyword}{template}<\textcolor{keyword}{typename}\ T>} -\DoxyCodeLine{00011\ \textcolor{keyword}{class\ }\mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{ThreadSafeQueue}}\ \{} -\DoxyCodeLine{00012\ \textcolor{keyword}{private}:} -\DoxyCodeLine{00013\ \ \ \ \ std::queue\ \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a970596f4c9a6d1a806b06d46807e06ee}{\_queue}};} -\DoxyCodeLine{00014\ \ \ \ \ std::mutex\ \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a43fef8c13f23363c48bac7a6a49a565b}{\_mutex}};} -\DoxyCodeLine{00015\ \ \ \ \ std::condition\_variable\ \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_aa8f60ba625a00977e004c6641325671e}{\_cv}};} -\DoxyCodeLine{00016\ } -\DoxyCodeLine{00017\ \textcolor{keyword}{public}:} -\DoxyCodeLine{00018\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a00347d38cfa085d97c67796779da2f33}{push}}(T\ value)\ \{} -\DoxyCodeLine{00019\ } -\DoxyCodeLine{00020\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00021\ \ \ \ \ \ \ \ \ \ \ \ \ std::lock\_guard\ lock(\mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a43fef8c13f23363c48bac7a6a49a565b}{\_mutex}});} -\DoxyCodeLine{00022\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a970596f4c9a6d1a806b06d46807e06ee}{\_queue}}.push(std::move(value));} -\DoxyCodeLine{00023\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00024\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_aa8f60ba625a00977e004c6641325671e}{\_cv}}.notify\_one();} -\DoxyCodeLine{00025\ \ \ \ \ \}} -\DoxyCodeLine{00026\ } -\DoxyCodeLine{00027\ \ \ \ \ T\ \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a0fc878c7c3ed27b4c65bcf277b99a48b}{wait\_and\_pop}}()\ \{} -\DoxyCodeLine{00028\ \ \ \ \ \ \ \ \ std::unique\_lock\ lock(\mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a43fef8c13f23363c48bac7a6a49a565b}{\_mutex}});} -\DoxyCodeLine{00029\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_aa8f60ba625a00977e004c6641325671e}{\_cv}}.wait(lock,\ [\&]\ \{\ \textcolor{keywordflow}{return}\ !\mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a970596f4c9a6d1a806b06d46807e06ee}{\_queue}}.empty();\ \});} -\DoxyCodeLine{00030\ \ \ \ \ \ \ \ \ T\ val\ =\ std::move(\mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a970596f4c9a6d1a806b06d46807e06ee}{\_queue}}.front());} -\DoxyCodeLine{00031\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a970596f4c9a6d1a806b06d46807e06ee}{\_queue}}.pop();} -\DoxyCodeLine{00032\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ val;} -\DoxyCodeLine{00033\ \ \ \ \ \}} -\DoxyCodeLine{00034\ \};} -\DoxyCodeLine{00035\ \}\ \textcolor{comment}{//\ End\ utils\ namespace}} - -\end{DoxyCode} diff --git a/latex/annotated.tex b/latex/annotated.tex deleted file mode 100644 index 688e932..0000000 --- a/latex/annotated.tex +++ /dev/null @@ -1,10 +0,0 @@ -\doxysection{Class List} -Here are the classes, structs, unions and interfaces with brief descriptions\+:\begin{DoxyCompactList} -\item\contentsline{section}{\mbox{\hyperlink{classAlgo}{Algo}} }{\pageref{classAlgo}}{} -\item\contentsline{section}{\mbox{\hyperlink{classController}{Controller}} }{\pageref{classController}}{} -\item\contentsline{section}{\mbox{\hyperlink{classPublisher}{Publisher}} }{\pageref{classPublisher}}{} -\item\contentsline{section}{\mbox{\hyperlink{classutils_1_1ThreadPool}{utils\+::\+Thread\+Pool}} }{\pageref{classutils_1_1ThreadPool}}{} -\item\contentsline{section}{\mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{utils\+::\+Thread\+Safe\+Queue$<$ T $>$}} }{\pageref{classutils_1_1ThreadSafeQueue}}{} -\item\contentsline{section}{\mbox{\hyperlink{classTraderClient}{Trader\+Client}} }{\pageref{classTraderClient}}{} -\item\contentsline{section}{\mbox{\hyperlink{classTradingServiceImpl}{Trading\+Service\+Impl}} }{\pageref{classTradingServiceImpl}}{} -\end{DoxyCompactList} diff --git a/latex/classAlgo.tex b/latex/classAlgo.tex deleted file mode 100644 index 454fe9f..0000000 --- a/latex/classAlgo.tex +++ /dev/null @@ -1,246 +0,0 @@ -\doxysection{Algo Class Reference} -\hypertarget{classAlgo}{}\label{classAlgo}\index{Algo@{Algo}} - - -{\ttfamily \#include $<$Algo.\+hh$>$} - - - -Collaboration diagram for Algo\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=550pt]{classAlgo__coll__graph} -\end{center} -\end{figure} -\doxysubsubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{classAlgo_aaf4f951979fc60411ed84c558f081867}{Algo}} () -\item -void \mbox{\hyperlink{classAlgo_ac8b70d722d4b2c1ad5cad4a63c3b7c62}{initialize}} () -\item -void \mbox{\hyperlink{classAlgo_ac223b246cd2f8851c4e0893ff41547fa}{generate\+\_\+orders}} () -\item -void \mbox{\hyperlink{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}{process}} () -\item -void \mbox{\hyperlink{classAlgo_ac556564d232b2d90cec73718538ec804}{send}} (trading\+::\+Order \&) -\item -bool \mbox{\hyperlink{classAlgo_a6fef1866e14e8a08788cb1d54afcedaf}{initialized}} () -\item -void \mbox{\hyperlink{classAlgo_a330f03f9df9e5d1e2b701bc3f5e94524}{stop}} () -\end{DoxyCompactItemize} -\doxysubsubsection*{Private Attributes} -\begin{DoxyCompactItemize} -\item -std\+::queue$<$ trading\+::\+Order $>$ \mbox{\hyperlink{classAlgo_a889e1362976e78c4904007ee5edfd3fe}{\+\_\+orders}} -\item -std\+::atomic$<$ bool $>$ \mbox{\hyperlink{classAlgo_a6cffb1f6d087978eba685bcb1d06b11d}{\+\_\+initialized}} \{false\} -\item -std\+::atomic$<$ bool $>$ \mbox{\hyperlink{classAlgo_a3ce5d714379ab5094b6d82b99421b4a3}{\+\_\+running}} \{false\} -\item -std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classPublisher}{Publisher}} $>$ \mbox{\hyperlink{classAlgo_af5bcfa2719e948826f71983a18ec017d}{\+\_\+pub}} -\item -\mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{utils\+::\+Thread\+Safe\+Queue}}$<$ trading\+::\+Order $>$ \mbox{\hyperlink{classAlgo_ac4f2da176cc2dc9ba757140a635fe9b8}{\+\_\+order\+\_\+queue}} -\item -\mbox{\hyperlink{classutils_1_1ThreadPool}{utils\+::\+Thread\+Pool}} \mbox{\hyperlink{classAlgo_adb85594bf1d2e7c9357d353b5e97787d}{\+\_\+thread\+\_\+pool}} -\item -std\+::mutex \mbox{\hyperlink{classAlgo_a4943cab875d5261b0abec360b68878e8}{\+\_\+send\+\_\+mutex}} -\item -std\+::jthread \mbox{\hyperlink{classAlgo_a743ddc60baad0afa7f036a529c340460}{\+\_\+reader\+\_\+thread}} -\item -std\+::vector$<$ std\+::jthread $>$ \mbox{\hyperlink{classAlgo_ac72ec5a778fce0be42ebf635f2c504d0}{\+\_\+worker\+\_\+threads}} -\item -std\+::vector$<$ std\+::future$<$ bool $>$ $>$ \mbox{\hyperlink{classAlgo_a671449864b2d1a1af9a57970eb104a0f}{\+\_\+futures}} -\end{DoxyCompactItemize} - - -\doxysubsection{Constructor \& Destructor Documentation} -\Hypertarget{classAlgo_aaf4f951979fc60411ed84c558f081867}\index{Algo@{Algo}!Algo@{Algo}} -\index{Algo@{Algo}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{Algo()}{Algo()}} -{\footnotesize\ttfamily \label{classAlgo_aaf4f951979fc60411ed84c558f081867} -Algo\+::\+Algo (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})} - - - -\doxysubsection{Member Function Documentation} -\Hypertarget{classAlgo_ac223b246cd2f8851c4e0893ff41547fa}\index{Algo@{Algo}!generate\_orders@{generate\_orders}} -\index{generate\_orders@{generate\_orders}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{generate\_orders()}{generate\_orders()}} -{\footnotesize\ttfamily \label{classAlgo_ac223b246cd2f8851c4e0893ff41547fa} -void Algo\+::generate\+\_\+orders (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})} - - - -References \mbox{\hyperlink{classAlgo_a889e1362976e78c4904007ee5edfd3fe}{\+\_\+orders}}, and \mbox{\hyperlink{namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209}{readers\+::json\+::read\+\_\+orders\+\_\+from\+\_\+json()}}. - -Here is the call graph for this function\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=346pt]{classAlgo_ac223b246cd2f8851c4e0893ff41547fa_cgraph} -\end{center} -\end{figure} -\Hypertarget{classAlgo_ac8b70d722d4b2c1ad5cad4a63c3b7c62}\index{Algo@{Algo}!initialize@{initialize}} -\index{initialize@{initialize}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{initialize()}{initialize()}} -{\footnotesize\ttfamily \label{classAlgo_ac8b70d722d4b2c1ad5cad4a63c3b7c62} -void Algo\+::initialize (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})} - - - -References \mbox{\hyperlink{classAlgo_a6cffb1f6d087978eba685bcb1d06b11d}{\+\_\+initialized}}, and \mbox{\hyperlink{classAlgo_af5bcfa2719e948826f71983a18ec017d}{\+\_\+pub}}. - -\Hypertarget{classAlgo_a6fef1866e14e8a08788cb1d54afcedaf}\index{Algo@{Algo}!initialized@{initialized}} -\index{initialized@{initialized}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{initialized()}{initialized()}} -{\footnotesize\ttfamily \label{classAlgo_a6fef1866e14e8a08788cb1d54afcedaf} -bool Algo\+::initialized (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})} - - - -References \mbox{\hyperlink{classAlgo_a6cffb1f6d087978eba685bcb1d06b11d}{\+\_\+initialized}}. - -\Hypertarget{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}\index{Algo@{Algo}!process@{process}} -\index{process@{process}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{process()}{process()}} -{\footnotesize\ttfamily \label{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e} -void Algo\+::process (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})} - - - -References \mbox{\hyperlink{classAlgo_a671449864b2d1a1af9a57970eb104a0f}{\+\_\+futures}}, \mbox{\hyperlink{classAlgo_ac4f2da176cc2dc9ba757140a635fe9b8}{\+\_\+order\+\_\+queue}}, \mbox{\hyperlink{classAlgo_af5bcfa2719e948826f71983a18ec017d}{\+\_\+pub}}, \mbox{\hyperlink{classAlgo_a743ddc60baad0afa7f036a529c340460}{\+\_\+reader\+\_\+thread}}, \mbox{\hyperlink{classAlgo_a4943cab875d5261b0abec360b68878e8}{\+\_\+send\+\_\+mutex}}, \mbox{\hyperlink{classAlgo_adb85594bf1d2e7c9357d353b5e97787d}{\+\_\+thread\+\_\+pool}}, \mbox{\hyperlink{classAlgo_ac72ec5a778fce0be42ebf635f2c504d0}{\+\_\+worker\+\_\+threads}}, and \mbox{\hyperlink{namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209}{readers\+::json\+::read\+\_\+orders\+\_\+from\+\_\+json()}}. - -Here is the call graph for this function\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=304pt]{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e_cgraph} -\end{center} -\end{figure} -\Hypertarget{classAlgo_ac556564d232b2d90cec73718538ec804}\index{Algo@{Algo}!send@{send}} -\index{send@{send}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{send()}{send()}} -{\footnotesize\ttfamily \label{classAlgo_ac556564d232b2d90cec73718538ec804} -void Algo\+::send (\begin{DoxyParamCaption}\item[{trading\+::\+Order \&}]{order}{}\end{DoxyParamCaption})} - - - -References \mbox{\hyperlink{classAlgo_af5bcfa2719e948826f71983a18ec017d}{\+\_\+pub}}. - -\Hypertarget{classAlgo_a330f03f9df9e5d1e2b701bc3f5e94524}\index{Algo@{Algo}!stop@{stop}} -\index{stop@{stop}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{stop()}{stop()}} -{\footnotesize\ttfamily \label{classAlgo_a330f03f9df9e5d1e2b701bc3f5e94524} -void Algo\+::stop (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})} - - - -References \mbox{\hyperlink{classAlgo_a671449864b2d1a1af9a57970eb104a0f}{\+\_\+futures}}, \mbox{\hyperlink{classAlgo_a743ddc60baad0afa7f036a529c340460}{\+\_\+reader\+\_\+thread}}, and \mbox{\hyperlink{classAlgo_ac72ec5a778fce0be42ebf635f2c504d0}{\+\_\+worker\+\_\+threads}}. - - - -\doxysubsection{Member Data Documentation} -\Hypertarget{classAlgo_a671449864b2d1a1af9a57970eb104a0f}\index{Algo@{Algo}!\_futures@{\_futures}} -\index{\_futures@{\_futures}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{\_futures}{\_futures}} -{\footnotesize\ttfamily \label{classAlgo_a671449864b2d1a1af9a57970eb104a0f} -std\+::vector$<$std\+::future$<$bool$>$ $>$ Algo\+::\+\_\+futures\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}{process()}}, and \mbox{\hyperlink{classAlgo_a330f03f9df9e5d1e2b701bc3f5e94524}{stop()}}. - -\Hypertarget{classAlgo_a6cffb1f6d087978eba685bcb1d06b11d}\index{Algo@{Algo}!\_initialized@{\_initialized}} -\index{\_initialized@{\_initialized}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{\_initialized}{\_initialized}} -{\footnotesize\ttfamily \label{classAlgo_a6cffb1f6d087978eba685bcb1d06b11d} -std\+::atomic$<$bool$>$ Algo\+::\+\_\+initialized \{false\}\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classAlgo_ac8b70d722d4b2c1ad5cad4a63c3b7c62}{initialize()}}, and \mbox{\hyperlink{classAlgo_a6fef1866e14e8a08788cb1d54afcedaf}{initialized()}}. - -\Hypertarget{classAlgo_ac4f2da176cc2dc9ba757140a635fe9b8}\index{Algo@{Algo}!\_order\_queue@{\_order\_queue}} -\index{\_order\_queue@{\_order\_queue}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{\_order\_queue}{\_order\_queue}} -{\footnotesize\ttfamily \label{classAlgo_ac4f2da176cc2dc9ba757140a635fe9b8} -\mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{utils\+::\+Thread\+Safe\+Queue}}$<$trading\+::\+Order$>$ Algo\+::\+\_\+order\+\_\+queue\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}{process()}}. - -\Hypertarget{classAlgo_a889e1362976e78c4904007ee5edfd3fe}\index{Algo@{Algo}!\_orders@{\_orders}} -\index{\_orders@{\_orders}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{\_orders}{\_orders}} -{\footnotesize\ttfamily \label{classAlgo_a889e1362976e78c4904007ee5edfd3fe} -std\+::queue$<$trading\+::\+Order$>$ Algo\+::\+\_\+orders\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classAlgo_ac223b246cd2f8851c4e0893ff41547fa}{generate\+\_\+orders()}}. - -\Hypertarget{classAlgo_af5bcfa2719e948826f71983a18ec017d}\index{Algo@{Algo}!\_pub@{\_pub}} -\index{\_pub@{\_pub}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{\_pub}{\_pub}} -{\footnotesize\ttfamily \label{classAlgo_af5bcfa2719e948826f71983a18ec017d} -std\+::shared\+\_\+ptr$<$\mbox{\hyperlink{classPublisher}{Publisher}}$>$ Algo\+::\+\_\+pub\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classAlgo_ac8b70d722d4b2c1ad5cad4a63c3b7c62}{initialize()}}, \mbox{\hyperlink{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}{process()}}, and \mbox{\hyperlink{classAlgo_ac556564d232b2d90cec73718538ec804}{send()}}. - -\Hypertarget{classAlgo_a743ddc60baad0afa7f036a529c340460}\index{Algo@{Algo}!\_reader\_thread@{\_reader\_thread}} -\index{\_reader\_thread@{\_reader\_thread}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{\_reader\_thread}{\_reader\_thread}} -{\footnotesize\ttfamily \label{classAlgo_a743ddc60baad0afa7f036a529c340460} -std\+::jthread Algo\+::\+\_\+reader\+\_\+thread\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}{process()}}, and \mbox{\hyperlink{classAlgo_a330f03f9df9e5d1e2b701bc3f5e94524}{stop()}}. - -\Hypertarget{classAlgo_a3ce5d714379ab5094b6d82b99421b4a3}\index{Algo@{Algo}!\_running@{\_running}} -\index{\_running@{\_running}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{\_running}{\_running}} -{\footnotesize\ttfamily \label{classAlgo_a3ce5d714379ab5094b6d82b99421b4a3} -std\+::atomic$<$bool$>$ Algo\+::\+\_\+running \{false\}\hspace{0.3cm}{\ttfamily [private]}} - -\Hypertarget{classAlgo_a4943cab875d5261b0abec360b68878e8}\index{Algo@{Algo}!\_send\_mutex@{\_send\_mutex}} -\index{\_send\_mutex@{\_send\_mutex}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{\_send\_mutex}{\_send\_mutex}} -{\footnotesize\ttfamily \label{classAlgo_a4943cab875d5261b0abec360b68878e8} -std\+::mutex Algo\+::\+\_\+send\+\_\+mutex\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}{process()}}. - -\Hypertarget{classAlgo_adb85594bf1d2e7c9357d353b5e97787d}\index{Algo@{Algo}!\_thread\_pool@{\_thread\_pool}} -\index{\_thread\_pool@{\_thread\_pool}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{\_thread\_pool}{\_thread\_pool}} -{\footnotesize\ttfamily \label{classAlgo_adb85594bf1d2e7c9357d353b5e97787d} -\mbox{\hyperlink{classutils_1_1ThreadPool}{utils\+::\+Thread\+Pool}} Algo\+::\+\_\+thread\+\_\+pool\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}{process()}}. - -\Hypertarget{classAlgo_ac72ec5a778fce0be42ebf635f2c504d0}\index{Algo@{Algo}!\_worker\_threads@{\_worker\_threads}} -\index{\_worker\_threads@{\_worker\_threads}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{\_worker\_threads}{\_worker\_threads}} -{\footnotesize\ttfamily \label{classAlgo_ac72ec5a778fce0be42ebf635f2c504d0} -std\+::vector$<$std\+::jthread$>$ Algo\+::\+\_\+worker\+\_\+threads\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}{process()}}, and \mbox{\hyperlink{classAlgo_a330f03f9df9e5d1e2b701bc3f5e94524}{stop()}}. - - - -The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} -\item -include/\mbox{\hyperlink{Algo_8hh}{Algo.\+hh}}\item -src/\mbox{\hyperlink{Algo_8cc}{Algo.\+cc}}\end{DoxyCompactItemize} diff --git a/latex/classAlgo__coll__graph.md5 b/latex/classAlgo__coll__graph.md5 deleted file mode 100644 index 4b60d70..0000000 --- a/latex/classAlgo__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -3e2df6efa8420a71219eeace5d6a30a3 \ No newline at end of file diff --git a/latex/classAlgo__coll__graph.pdf b/latex/classAlgo__coll__graph.pdf deleted file mode 100644 index 1df0be5..0000000 Binary files a/latex/classAlgo__coll__graph.pdf and /dev/null differ diff --git a/latex/classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e_cgraph.md5 b/latex/classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e_cgraph.md5 deleted file mode 100644 index ddb3b5e..0000000 --- a/latex/classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -fa26d0f3e1e2934bc38af245463fd28d \ No newline at end of file diff --git a/latex/classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e_cgraph.pdf b/latex/classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e_cgraph.pdf deleted file mode 100644 index a9ec64d..0000000 Binary files a/latex/classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e_cgraph.pdf and /dev/null differ diff --git a/latex/classAlgo_ac223b246cd2f8851c4e0893ff41547fa_cgraph.md5 b/latex/classAlgo_ac223b246cd2f8851c4e0893ff41547fa_cgraph.md5 deleted file mode 100644 index b707aed..0000000 --- a/latex/classAlgo_ac223b246cd2f8851c4e0893ff41547fa_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4a386fcb3bc2ee89994392afc1f2c3cd \ No newline at end of file diff --git a/latex/classAlgo_ac223b246cd2f8851c4e0893ff41547fa_cgraph.pdf b/latex/classAlgo_ac223b246cd2f8851c4e0893ff41547fa_cgraph.pdf deleted file mode 100644 index e822f8f..0000000 Binary files a/latex/classAlgo_ac223b246cd2f8851c4e0893ff41547fa_cgraph.pdf and /dev/null differ diff --git a/latex/classController.tex b/latex/classController.tex deleted file mode 100644 index 9d3a458..0000000 --- a/latex/classController.tex +++ /dev/null @@ -1,72 +0,0 @@ -\doxysection{Controller Class Reference} -\hypertarget{classController}{}\label{classController}\index{Controller@{Controller}} - - -{\ttfamily \#include $<$Controller.\+hh$>$} - - - -Collaboration diagram for Controller\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=156pt]{classController__coll__graph} -\end{center} -\end{figure} -\doxysubsubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{classController_a9bf20649bd5268f6c25d206eddcd3fc5}{Controller}} (int, char \texorpdfstring{$\ast$}{*}\mbox{[}$\,$\mbox{]}) -\item -void \mbox{\hyperlink{classController_ad535ad74055e645b7f44b7feeb4e82a8}{start}} () -\end{DoxyCompactItemize} -\doxysubsubsection*{Private Attributes} -\begin{DoxyCompactItemize} -\item -std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classAlgo}{Algo}} $>$ \mbox{\hyperlink{classController_af469cf532ccb25e9256a9e71d35072ed}{\+\_\+algo}} -\end{DoxyCompactItemize} - - -\doxysubsection{Constructor \& Destructor Documentation} -\Hypertarget{classController_a9bf20649bd5268f6c25d206eddcd3fc5}\index{Controller@{Controller}!Controller@{Controller}} -\index{Controller@{Controller}!Controller@{Controller}} -\doxysubsubsection{\texorpdfstring{Controller()}{Controller()}} -{\footnotesize\ttfamily \label{classController_a9bf20649bd5268f6c25d206eddcd3fc5} -Controller\+::\+Controller (\begin{DoxyParamCaption}\item[{int}]{argc}{, }\item[{char \texorpdfstring{$\ast$}{*}}]{argv}{\mbox{[}$\,$\mbox{]}}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [explicit]}} - - - -References \mbox{\hyperlink{classController_af469cf532ccb25e9256a9e71d35072ed}{\+\_\+algo}}. - - - -\doxysubsection{Member Function Documentation} -\Hypertarget{classController_ad535ad74055e645b7f44b7feeb4e82a8}\index{Controller@{Controller}!start@{start}} -\index{start@{start}!Controller@{Controller}} -\doxysubsubsection{\texorpdfstring{start()}{start()}} -{\footnotesize\ttfamily \label{classController_ad535ad74055e645b7f44b7feeb4e82a8} -void Controller\+::start (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})} - - - -References \mbox{\hyperlink{classController_af469cf532ccb25e9256a9e71d35072ed}{\+\_\+algo}}. - - - -\doxysubsection{Member Data Documentation} -\Hypertarget{classController_af469cf532ccb25e9256a9e71d35072ed}\index{Controller@{Controller}!\_algo@{\_algo}} -\index{\_algo@{\_algo}!Controller@{Controller}} -\doxysubsubsection{\texorpdfstring{\_algo}{\_algo}} -{\footnotesize\ttfamily \label{classController_af469cf532ccb25e9256a9e71d35072ed} -std\+::unique\+\_\+ptr$<$\mbox{\hyperlink{classAlgo}{Algo}}$>$ Controller\+::\+\_\+algo\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classController_a9bf20649bd5268f6c25d206eddcd3fc5}{Controller()}}, and \mbox{\hyperlink{classController_ad535ad74055e645b7f44b7feeb4e82a8}{start()}}. - - - -The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} -\item -include/\mbox{\hyperlink{Controller_8hh}{Controller.\+hh}}\item -src/\mbox{\hyperlink{Controller_8cc}{Controller.\+cc}}\end{DoxyCompactItemize} diff --git a/latex/classController__coll__graph.md5 b/latex/classController__coll__graph.md5 deleted file mode 100644 index 42caa1d..0000000 --- a/latex/classController__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -8c944e19a7c34e404a4783004416612c \ No newline at end of file diff --git a/latex/classController__coll__graph.pdf b/latex/classController__coll__graph.pdf deleted file mode 100644 index 0494fa2..0000000 Binary files a/latex/classController__coll__graph.pdf and /dev/null differ diff --git a/latex/classPublisher.tex b/latex/classPublisher.tex deleted file mode 100644 index d816237..0000000 --- a/latex/classPublisher.tex +++ /dev/null @@ -1,72 +0,0 @@ -\doxysection{Publisher Class Reference} -\hypertarget{classPublisher}{}\label{classPublisher}\index{Publisher@{Publisher}} - - -{\ttfamily \#include $<$Publisher.\+hh$>$} - - - -Collaboration diagram for Publisher\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=162pt]{classPublisher__coll__graph} -\end{center} -\end{figure} -\doxysubsubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{classPublisher_ac829a82a3cb7aeeaece86419ffb0119d}{Publisher}} (std\+::shared\+\_\+ptr$<$ grpc\+::\+Channel $>$ channel) -\item -grpc\+::\+Status \mbox{\hyperlink{classPublisher_a2fe75fa23a11f43f31e0d2d2261c86e8}{send\+\_\+order}} (const trading\+::\+Order \&order) -\end{DoxyCompactItemize} -\doxysubsubsection*{Private Attributes} -\begin{DoxyCompactItemize} -\item -std\+::unique\+\_\+ptr$<$ trading\+::\+Trading\+Service\+::\+Stub $>$ \mbox{\hyperlink{classPublisher_ac495a5e279a5531eddb94314bdbd04ac}{\+\_\+stub}} -\end{DoxyCompactItemize} - - -\doxysubsection{Constructor \& Destructor Documentation} -\Hypertarget{classPublisher_ac829a82a3cb7aeeaece86419ffb0119d}\index{Publisher@{Publisher}!Publisher@{Publisher}} -\index{Publisher@{Publisher}!Publisher@{Publisher}} -\doxysubsubsection{\texorpdfstring{Publisher()}{Publisher()}} -{\footnotesize\ttfamily \label{classPublisher_ac829a82a3cb7aeeaece86419ffb0119d} -Publisher\+::\+Publisher (\begin{DoxyParamCaption}\item[{std\+::shared\+\_\+ptr$<$ grpc\+::\+Channel $>$}]{channel}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [explicit]}} - - - -References \mbox{\hyperlink{classPublisher_ac495a5e279a5531eddb94314bdbd04ac}{\+\_\+stub}}. - - - -\doxysubsection{Member Function Documentation} -\Hypertarget{classPublisher_a2fe75fa23a11f43f31e0d2d2261c86e8}\index{Publisher@{Publisher}!send\_order@{send\_order}} -\index{send\_order@{send\_order}!Publisher@{Publisher}} -\doxysubsubsection{\texorpdfstring{send\_order()}{send\_order()}} -{\footnotesize\ttfamily \label{classPublisher_a2fe75fa23a11f43f31e0d2d2261c86e8} -grpc\+::\+Status Publisher\+::send\+\_\+order (\begin{DoxyParamCaption}\item[{const trading\+::\+Order \&}]{order}{}\end{DoxyParamCaption})} - - - -References \mbox{\hyperlink{classPublisher_ac495a5e279a5531eddb94314bdbd04ac}{\+\_\+stub}}. - - - -\doxysubsection{Member Data Documentation} -\Hypertarget{classPublisher_ac495a5e279a5531eddb94314bdbd04ac}\index{Publisher@{Publisher}!\_stub@{\_stub}} -\index{\_stub@{\_stub}!Publisher@{Publisher}} -\doxysubsubsection{\texorpdfstring{\_stub}{\_stub}} -{\footnotesize\ttfamily \label{classPublisher_ac495a5e279a5531eddb94314bdbd04ac} -std\+::unique\+\_\+ptr$<$trading\+::\+Trading\+Service\+::\+Stub$>$ Publisher\+::\+\_\+stub\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classPublisher_ac829a82a3cb7aeeaece86419ffb0119d}{Publisher()}}, and \mbox{\hyperlink{classPublisher_a2fe75fa23a11f43f31e0d2d2261c86e8}{send\+\_\+order()}}. - - - -The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} -\item -include/\mbox{\hyperlink{Publisher_8hh}{Publisher.\+hh}}\item -src/\mbox{\hyperlink{Publisher_8cc}{Publisher.\+cc}}\end{DoxyCompactItemize} diff --git a/latex/classPublisher__coll__graph.md5 b/latex/classPublisher__coll__graph.md5 deleted file mode 100644 index 2cc851e..0000000 --- a/latex/classPublisher__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -8c65c8bd47d6f5bdbc15b527e1c62fd2 \ No newline at end of file diff --git a/latex/classPublisher__coll__graph.pdf b/latex/classPublisher__coll__graph.pdf deleted file mode 100644 index 636d98e..0000000 Binary files a/latex/classPublisher__coll__graph.pdf and /dev/null differ diff --git a/latex/classTraderClient.tex b/latex/classTraderClient.tex deleted file mode 100644 index d4a7bff..0000000 --- a/latex/classTraderClient.tex +++ /dev/null @@ -1,52 +0,0 @@ -\doxysection{Trader\+Client Class Reference} -\hypertarget{classTraderClient}{}\label{classTraderClient}\index{TraderClient@{TraderClient}} - - -Collaboration diagram for Trader\+Client\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=166pt]{classTraderClient__coll__graph} -\end{center} -\end{figure} -\doxysubsubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{classTraderClient_a5e478d7e846a47fde9fec75e8158c7a2}{Trader\+Client}} (std\+::shared\+\_\+ptr$<$ Channel $>$ channel) -\end{DoxyCompactItemize} -\doxysubsubsection*{Private Attributes} -\begin{DoxyCompactItemize} -\item -std\+::unique\+\_\+ptr$<$ Trading\+Service\+::\+Stub $>$ \mbox{\hyperlink{classTraderClient_afddee074efdcb23b84d1c78b7757fe56}{stub\+\_\+}} -\end{DoxyCompactItemize} - - -\doxysubsection{Constructor \& Destructor Documentation} -\Hypertarget{classTraderClient_a5e478d7e846a47fde9fec75e8158c7a2}\index{TraderClient@{TraderClient}!TraderClient@{TraderClient}} -\index{TraderClient@{TraderClient}!TraderClient@{TraderClient}} -\doxysubsubsection{\texorpdfstring{TraderClient()}{TraderClient()}} -{\footnotesize\ttfamily \label{classTraderClient_a5e478d7e846a47fde9fec75e8158c7a2} -Trader\+Client\+::\+Trader\+Client (\begin{DoxyParamCaption}\item[{std\+::shared\+\_\+ptr$<$ Channel $>$}]{channel}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} - - - -References \mbox{\hyperlink{classTraderClient_afddee074efdcb23b84d1c78b7757fe56}{stub\+\_\+}}. - - - -\doxysubsection{Member Data Documentation} -\Hypertarget{classTraderClient_afddee074efdcb23b84d1c78b7757fe56}\index{TraderClient@{TraderClient}!stub\_@{stub\_}} -\index{stub\_@{stub\_}!TraderClient@{TraderClient}} -\doxysubsubsection{\texorpdfstring{stub\_}{stub\_}} -{\footnotesize\ttfamily \label{classTraderClient_afddee074efdcb23b84d1c78b7757fe56} -std\+::unique\+\_\+ptr$<$Trading\+Service\+::\+Stub$>$ Trader\+Client\+::stub\+\_\+\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classTraderClient_a5e478d7e846a47fde9fec75e8158c7a2}{Trader\+Client()}}. - - - -The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} -\item -src/\mbox{\hyperlink{grpc__client_8cc}{grpc\+\_\+client.\+cc}}\end{DoxyCompactItemize} diff --git a/latex/classTraderClient__coll__graph.md5 b/latex/classTraderClient__coll__graph.md5 deleted file mode 100644 index 19bc94f..0000000 --- a/latex/classTraderClient__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -509dcdeb02ad0910f409cf550cf4b770 \ No newline at end of file diff --git a/latex/classTraderClient__coll__graph.pdf b/latex/classTraderClient__coll__graph.pdf deleted file mode 100644 index dff37e7..0000000 Binary files a/latex/classTraderClient__coll__graph.pdf and /dev/null differ diff --git a/latex/classTradingServiceImpl.eps b/latex/classTradingServiceImpl.eps deleted file mode 100644 index 8e4112c..0000000 --- a/latex/classTradingServiceImpl.eps +++ /dev/null @@ -1,197 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 254.777069 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.962500 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 2 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text 'arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col 'arg1' to 'arg2' of row 'arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(TradingServiceImpl) cw -(TradingService::Service) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (TradingServiceImpl) 0.000000 0.000000 box - (TradingService::Service) 0.000000 1.000000 box - -% ----- relations ----- - -solid -0 0.000000 0.000000 out -solid -1 0.000000 1.000000 in diff --git a/latex/classTradingServiceImpl.tex b/latex/classTradingServiceImpl.tex deleted file mode 100644 index 01926a4..0000000 --- a/latex/classTradingServiceImpl.tex +++ /dev/null @@ -1,47 +0,0 @@ -\doxysection{Trading\+Service\+Impl Class Reference} -\hypertarget{classTradingServiceImpl}{}\label{classTradingServiceImpl}\index{TradingServiceImpl@{TradingServiceImpl}} - - -Inheritance diagram for Trading\+Service\+Impl\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=201pt]{classTradingServiceImpl__inherit__graph} -\end{center} -\end{figure} - - -Collaboration diagram for Trading\+Service\+Impl\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=201pt]{classTradingServiceImpl__coll__graph} -\end{center} -\end{figure} -\doxysubsubsection*{Private Member Functions} -\begin{DoxyCompactItemize} -\item -Status \mbox{\hyperlink{classTradingServiceImpl_a8bc4ca1225b76d0fdb9d971c105e9e6c}{Send\+Order}} (Server\+Context \texorpdfstring{$\ast$}{*}ctx, const Order \texorpdfstring{$\ast$}{*}req, Order\+Ack \texorpdfstring{$\ast$}{*}res) override -\item -Status \mbox{\hyperlink{classTradingServiceImpl_ac047a3c1ac78bddd357d89229d29ff95}{Stream\+Market\+Data}} (Server\+Context \texorpdfstring{$\ast$}{*}ctx, const Market\+Request \texorpdfstring{$\ast$}{*}req, grpc\+::\+Server\+Writer$<$ Market\+Data $>$ \texorpdfstring{$\ast$}{*}writer) override -\end{DoxyCompactItemize} - - -\doxysubsection{Member Function Documentation} -\Hypertarget{classTradingServiceImpl_a8bc4ca1225b76d0fdb9d971c105e9e6c}\index{TradingServiceImpl@{TradingServiceImpl}!SendOrder@{SendOrder}} -\index{SendOrder@{SendOrder}!TradingServiceImpl@{TradingServiceImpl}} -\doxysubsubsection{\texorpdfstring{SendOrder()}{SendOrder()}} -{\footnotesize\ttfamily \label{classTradingServiceImpl_a8bc4ca1225b76d0fdb9d971c105e9e6c} -Status Trading\+Service\+Impl\+::\+Send\+Order (\begin{DoxyParamCaption}\item[{Server\+Context \texorpdfstring{$\ast$}{*}}]{ctx}{, }\item[{const Order \texorpdfstring{$\ast$}{*}}]{req}{, }\item[{Order\+Ack \texorpdfstring{$\ast$}{*}}]{res}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}, {\ttfamily [private]}} - -\Hypertarget{classTradingServiceImpl_ac047a3c1ac78bddd357d89229d29ff95}\index{TradingServiceImpl@{TradingServiceImpl}!StreamMarketData@{StreamMarketData}} -\index{StreamMarketData@{StreamMarketData}!TradingServiceImpl@{TradingServiceImpl}} -\doxysubsubsection{\texorpdfstring{StreamMarketData()}{StreamMarketData()}} -{\footnotesize\ttfamily \label{classTradingServiceImpl_ac047a3c1ac78bddd357d89229d29ff95} -Status Trading\+Service\+Impl\+::\+Stream\+Market\+Data (\begin{DoxyParamCaption}\item[{Server\+Context \texorpdfstring{$\ast$}{*}}]{ctx}{, }\item[{const Market\+Request \texorpdfstring{$\ast$}{*}}]{req}{, }\item[{grpc\+::\+Server\+Writer$<$ Market\+Data $>$ \texorpdfstring{$\ast$}{*}}]{writer}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}, {\ttfamily [private]}} - - - -The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} -\item -src/\mbox{\hyperlink{grpc__server_8cc}{grpc\+\_\+server.\+cc}}\end{DoxyCompactItemize} diff --git a/latex/classTradingServiceImpl__coll__graph.md5 b/latex/classTradingServiceImpl__coll__graph.md5 deleted file mode 100644 index 40f7767..0000000 --- a/latex/classTradingServiceImpl__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -c644db1db8f5590171e6738c3d36bc88 \ No newline at end of file diff --git a/latex/classTradingServiceImpl__coll__graph.pdf b/latex/classTradingServiceImpl__coll__graph.pdf deleted file mode 100644 index 3f4345b..0000000 Binary files a/latex/classTradingServiceImpl__coll__graph.pdf and /dev/null differ diff --git a/latex/classTradingServiceImpl__inherit__graph.md5 b/latex/classTradingServiceImpl__inherit__graph.md5 deleted file mode 100644 index 40f7767..0000000 --- a/latex/classTradingServiceImpl__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -c644db1db8f5590171e6738c3d36bc88 \ No newline at end of file diff --git a/latex/classTradingServiceImpl__inherit__graph.pdf b/latex/classTradingServiceImpl__inherit__graph.pdf deleted file mode 100644 index 3f4345b..0000000 Binary files a/latex/classTradingServiceImpl__inherit__graph.pdf and /dev/null differ diff --git a/latex/classutils_1_1ThreadPool.tex b/latex/classutils_1_1ThreadPool.tex deleted file mode 100644 index 477e3e1..0000000 --- a/latex/classutils_1_1ThreadPool.tex +++ /dev/null @@ -1,133 +0,0 @@ -\doxysection{utils\+::Thread\+Pool Class Reference} -\hypertarget{classutils_1_1ThreadPool}{}\label{classutils_1_1ThreadPool}\index{utils::ThreadPool@{utils::ThreadPool}} - - -{\ttfamily \#include $<$Thread\+Pool.\+hh$>$} - - - -Collaboration diagram for utils\+::Thread\+Pool\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=172pt]{classutils_1_1ThreadPool__coll__graph} -\end{center} -\end{figure} -\doxysubsubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{classutils_1_1ThreadPool_a02ccb8118692092d5d4132eab7c751e2}{Thread\+Pool}} (std\+::size\+\_\+t threads=std\+::thread\+::hardware\+\_\+concurrency()) -\item -\mbox{\hyperlink{classutils_1_1ThreadPool_a6f0428a4b19a724f956d82e408013108}{\texorpdfstring{$\sim$}{\string~}\+Thread\+Pool}} () -\item -{\footnotesize template$<$class F, class... Args$>$ }\\auto \mbox{\hyperlink{classutils_1_1ThreadPool_a06f6b246fd98c4970c0510d48141a29d}{enqueue}} (F \&\&f, Args \&\&... args) -\/$>$ std\+::future$<$ std\+::invoke\+\_\+result\+\_\+t$<$ F, Args... $>$ $>$ -\end{DoxyCompactItemize} -\doxysubsubsection*{Private Attributes} -\begin{DoxyCompactItemize} -\item -std\+::vector$<$ std\+::thread $>$ \mbox{\hyperlink{classutils_1_1ThreadPool_a3113eec4fac2948b403a0d94c42a3732}{\+\_\+workers}} -\item -std\+::queue$<$ std\+::function$<$ void()$>$ $>$ \mbox{\hyperlink{classutils_1_1ThreadPool_acbc332a452776263a9e6557131495aee}{\+\_\+tasks}} -\item -std\+::mutex \mbox{\hyperlink{classutils_1_1ThreadPool_ad59af3c00e330ac777fb5eb349e0e291}{\+\_\+queue\+\_\+mutex}} -\item -std\+::condition\+\_\+variable \mbox{\hyperlink{classutils_1_1ThreadPool_ad0284bde5203396b2e3cf95e07893748}{\+\_\+cv}} -\item -bool \mbox{\hyperlink{classutils_1_1ThreadPool_a6a2a828a76092e3170cb6a93d679043f}{\+\_\+stop}} \{false\} -\end{DoxyCompactItemize} - - -\doxysubsection{Constructor \& Destructor Documentation} -\Hypertarget{classutils_1_1ThreadPool_a02ccb8118692092d5d4132eab7c751e2}\index{utils::ThreadPool@{utils::ThreadPool}!ThreadPool@{ThreadPool}} -\index{ThreadPool@{ThreadPool}!utils::ThreadPool@{utils::ThreadPool}} -\doxysubsubsection{\texorpdfstring{ThreadPool()}{ThreadPool()}} -{\footnotesize\ttfamily \label{classutils_1_1ThreadPool_a02ccb8118692092d5d4132eab7c751e2} -utils\+::\+Thread\+Pool\+::\+Thread\+Pool (\begin{DoxyParamCaption}\item[{std\+::size\+\_\+t}]{threads}{ = {\ttfamily std\+:\+:thread\+:\+:hardware\+\_\+concurrency()}}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [explicit]}} - - - -References \mbox{\hyperlink{classutils_1_1ThreadPool_ad0284bde5203396b2e3cf95e07893748}{\+\_\+cv}}, \mbox{\hyperlink{classutils_1_1ThreadPool_ad59af3c00e330ac777fb5eb349e0e291}{\+\_\+queue\+\_\+mutex}}, \mbox{\hyperlink{classutils_1_1ThreadPool_a6a2a828a76092e3170cb6a93d679043f}{\+\_\+stop}}, \mbox{\hyperlink{classutils_1_1ThreadPool_acbc332a452776263a9e6557131495aee}{\+\_\+tasks}}, and \mbox{\hyperlink{classutils_1_1ThreadPool_a3113eec4fac2948b403a0d94c42a3732}{\+\_\+workers}}. - -\Hypertarget{classutils_1_1ThreadPool_a6f0428a4b19a724f956d82e408013108}\index{utils::ThreadPool@{utils::ThreadPool}!````~ThreadPool@{\texorpdfstring{$\sim$}{\string~}ThreadPool}} -\index{````~ThreadPool@{\texorpdfstring{$\sim$}{\string~}ThreadPool}!utils::ThreadPool@{utils::ThreadPool}} -\doxysubsubsection{\texorpdfstring{\texorpdfstring{$\sim$}{\string~}ThreadPool()}{\string~ThreadPool()}} -{\footnotesize\ttfamily \label{classutils_1_1ThreadPool_a6f0428a4b19a724f956d82e408013108} -utils\+::\+Thread\+Pool\+::\texorpdfstring{$\sim$}{\string~}\+Thread\+Pool (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})} - - - -References \mbox{\hyperlink{classutils_1_1ThreadPool_ad0284bde5203396b2e3cf95e07893748}{\+\_\+cv}}, \mbox{\hyperlink{classutils_1_1ThreadPool_ad59af3c00e330ac777fb5eb349e0e291}{\+\_\+queue\+\_\+mutex}}, \mbox{\hyperlink{classutils_1_1ThreadPool_a6a2a828a76092e3170cb6a93d679043f}{\+\_\+stop}}, and \mbox{\hyperlink{classutils_1_1ThreadPool_a3113eec4fac2948b403a0d94c42a3732}{\+\_\+workers}}. - - - -\doxysubsection{Member Function Documentation} -\Hypertarget{classutils_1_1ThreadPool_a06f6b246fd98c4970c0510d48141a29d}\index{utils::ThreadPool@{utils::ThreadPool}!enqueue@{enqueue}} -\index{enqueue@{enqueue}!utils::ThreadPool@{utils::ThreadPool}} -\doxysubsubsection{\texorpdfstring{enqueue()}{enqueue()}} -{\footnotesize\ttfamily \label{classutils_1_1ThreadPool_a06f6b246fd98c4970c0510d48141a29d} -template$<$class F, class... Args$>$ \\ -auto utils\+::\+Thread\+Pool\+::enqueue (\begin{DoxyParamCaption}\item[{F \&\&}]{f}{, }\item[{Args \&\&...}]{args}{}\end{DoxyParamCaption}) -\/$>$ std\+::future$<$std\+::invoke\+\_\+result\+\_\+t$<$F, Args...$>$$>$ \hspace{0.3cm}{\ttfamily [inline]}} - - - -References \mbox{\hyperlink{classutils_1_1ThreadPool_ad0284bde5203396b2e3cf95e07893748}{\+\_\+cv}}, \mbox{\hyperlink{classutils_1_1ThreadPool_ad59af3c00e330ac777fb5eb349e0e291}{\+\_\+queue\+\_\+mutex}}, \mbox{\hyperlink{classutils_1_1ThreadPool_a6a2a828a76092e3170cb6a93d679043f}{\+\_\+stop}}, and \mbox{\hyperlink{classutils_1_1ThreadPool_acbc332a452776263a9e6557131495aee}{\+\_\+tasks}}. - - - -\doxysubsection{Member Data Documentation} -\Hypertarget{classutils_1_1ThreadPool_ad0284bde5203396b2e3cf95e07893748}\index{utils::ThreadPool@{utils::ThreadPool}!\_cv@{\_cv}} -\index{\_cv@{\_cv}!utils::ThreadPool@{utils::ThreadPool}} -\doxysubsubsection{\texorpdfstring{\_cv}{\_cv}} -{\footnotesize\ttfamily \label{classutils_1_1ThreadPool_ad0284bde5203396b2e3cf95e07893748} -std\+::condition\+\_\+variable utils\+::\+Thread\+Pool\+::\+\_\+cv\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classutils_1_1ThreadPool_a06f6b246fd98c4970c0510d48141a29d}{enqueue()}}, \mbox{\hyperlink{classutils_1_1ThreadPool_a02ccb8118692092d5d4132eab7c751e2}{Thread\+Pool()}}, and \mbox{\hyperlink{classutils_1_1ThreadPool_a6f0428a4b19a724f956d82e408013108}{\texorpdfstring{$\sim$}{\string~}\+Thread\+Pool()}}. - -\Hypertarget{classutils_1_1ThreadPool_ad59af3c00e330ac777fb5eb349e0e291}\index{utils::ThreadPool@{utils::ThreadPool}!\_queue\_mutex@{\_queue\_mutex}} -\index{\_queue\_mutex@{\_queue\_mutex}!utils::ThreadPool@{utils::ThreadPool}} -\doxysubsubsection{\texorpdfstring{\_queue\_mutex}{\_queue\_mutex}} -{\footnotesize\ttfamily \label{classutils_1_1ThreadPool_ad59af3c00e330ac777fb5eb349e0e291} -std\+::mutex utils\+::\+Thread\+Pool\+::\+\_\+queue\+\_\+mutex\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classutils_1_1ThreadPool_a06f6b246fd98c4970c0510d48141a29d}{enqueue()}}, \mbox{\hyperlink{classutils_1_1ThreadPool_a02ccb8118692092d5d4132eab7c751e2}{Thread\+Pool()}}, and \mbox{\hyperlink{classutils_1_1ThreadPool_a6f0428a4b19a724f956d82e408013108}{\texorpdfstring{$\sim$}{\string~}\+Thread\+Pool()}}. - -\Hypertarget{classutils_1_1ThreadPool_a6a2a828a76092e3170cb6a93d679043f}\index{utils::ThreadPool@{utils::ThreadPool}!\_stop@{\_stop}} -\index{\_stop@{\_stop}!utils::ThreadPool@{utils::ThreadPool}} -\doxysubsubsection{\texorpdfstring{\_stop}{\_stop}} -{\footnotesize\ttfamily \label{classutils_1_1ThreadPool_a6a2a828a76092e3170cb6a93d679043f} -bool utils\+::\+Thread\+Pool\+::\+\_\+stop \{false\}\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classutils_1_1ThreadPool_a06f6b246fd98c4970c0510d48141a29d}{enqueue()}}, \mbox{\hyperlink{classutils_1_1ThreadPool_a02ccb8118692092d5d4132eab7c751e2}{Thread\+Pool()}}, and \mbox{\hyperlink{classutils_1_1ThreadPool_a6f0428a4b19a724f956d82e408013108}{\texorpdfstring{$\sim$}{\string~}\+Thread\+Pool()}}. - -\Hypertarget{classutils_1_1ThreadPool_acbc332a452776263a9e6557131495aee}\index{utils::ThreadPool@{utils::ThreadPool}!\_tasks@{\_tasks}} -\index{\_tasks@{\_tasks}!utils::ThreadPool@{utils::ThreadPool}} -\doxysubsubsection{\texorpdfstring{\_tasks}{\_tasks}} -{\footnotesize\ttfamily \label{classutils_1_1ThreadPool_acbc332a452776263a9e6557131495aee} -std\+::queue$<$std\+::function$<$void()$>$ $>$ utils\+::\+Thread\+Pool\+::\+\_\+tasks\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classutils_1_1ThreadPool_a06f6b246fd98c4970c0510d48141a29d}{enqueue()}}, and \mbox{\hyperlink{classutils_1_1ThreadPool_a02ccb8118692092d5d4132eab7c751e2}{Thread\+Pool()}}. - -\Hypertarget{classutils_1_1ThreadPool_a3113eec4fac2948b403a0d94c42a3732}\index{utils::ThreadPool@{utils::ThreadPool}!\_workers@{\_workers}} -\index{\_workers@{\_workers}!utils::ThreadPool@{utils::ThreadPool}} -\doxysubsubsection{\texorpdfstring{\_workers}{\_workers}} -{\footnotesize\ttfamily \label{classutils_1_1ThreadPool_a3113eec4fac2948b403a0d94c42a3732} -std\+::vector$<$std\+::thread$>$ utils\+::\+Thread\+Pool\+::\+\_\+workers\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classutils_1_1ThreadPool_a02ccb8118692092d5d4132eab7c751e2}{Thread\+Pool()}}, and \mbox{\hyperlink{classutils_1_1ThreadPool_a6f0428a4b19a724f956d82e408013108}{\texorpdfstring{$\sim$}{\string~}\+Thread\+Pool()}}. - - - -The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} -\item -include/utils/\mbox{\hyperlink{ThreadPool_8hh}{Thread\+Pool.\+hh}}\item -src/utils/\mbox{\hyperlink{ThreadPool_8cc}{Thread\+Pool.\+cc}}\end{DoxyCompactItemize} diff --git a/latex/classutils_1_1ThreadPool__coll__graph.md5 b/latex/classutils_1_1ThreadPool__coll__graph.md5 deleted file mode 100644 index e0426b4..0000000 --- a/latex/classutils_1_1ThreadPool__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -a162b6fbc5641bbe6452d013cac3e320 \ No newline at end of file diff --git a/latex/classutils_1_1ThreadPool__coll__graph.pdf b/latex/classutils_1_1ThreadPool__coll__graph.pdf deleted file mode 100644 index 6890761..0000000 Binary files a/latex/classutils_1_1ThreadPool__coll__graph.pdf and /dev/null differ diff --git a/latex/classutils_1_1ThreadSafeQueue.tex b/latex/classutils_1_1ThreadSafeQueue.tex deleted file mode 100644 index 3f674ae..0000000 --- a/latex/classutils_1_1ThreadSafeQueue.tex +++ /dev/null @@ -1,97 +0,0 @@ -\doxysection{utils\+::Thread\+Safe\+Queue\texorpdfstring{$<$}{<} T \texorpdfstring{$>$}{>} Class Template Reference} -\hypertarget{classutils_1_1ThreadSafeQueue}{}\label{classutils_1_1ThreadSafeQueue}\index{utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}} - - -{\ttfamily \#include $<$Thread\+Safe\+Queue.\+hh$>$} - - - -Collaboration diagram for utils\+::Thread\+Safe\+Queue\texorpdfstring{$<$}{<} T \texorpdfstring{$>$}{>}\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=231pt]{classutils_1_1ThreadSafeQueue__coll__graph} -\end{center} -\end{figure} -\doxysubsubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -void \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a00347d38cfa085d97c67796779da2f33}{push}} (T value) -\item -T \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a0fc878c7c3ed27b4c65bcf277b99a48b}{wait\+\_\+and\+\_\+pop}} () -\end{DoxyCompactItemize} -\doxysubsubsection*{Private Attributes} -\begin{DoxyCompactItemize} -\item -std\+::queue$<$ T $>$ \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a970596f4c9a6d1a806b06d46807e06ee}{\+\_\+queue}} -\item -std\+::mutex \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a43fef8c13f23363c48bac7a6a49a565b}{\+\_\+mutex}} -\item -std\+::condition\+\_\+variable \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_aa8f60ba625a00977e004c6641325671e}{\+\_\+cv}} -\end{DoxyCompactItemize} - - -\doxysubsection{Member Function Documentation} -\Hypertarget{classutils_1_1ThreadSafeQueue_a00347d38cfa085d97c67796779da2f33}\index{utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}!push@{push}} -\index{push@{push}!utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}} -\doxysubsubsection{\texorpdfstring{push()}{push()}} -{\footnotesize\ttfamily \label{classutils_1_1ThreadSafeQueue_a00347d38cfa085d97c67796779da2f33} -template$<$typename T$>$ \\ -void \mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{utils\+::\+Thread\+Safe\+Queue}}$<$ T $>$\+::push (\begin{DoxyParamCaption}\item[{T}]{value}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} - - - -References \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_aa8f60ba625a00977e004c6641325671e}{\+\_\+cv}}, \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a43fef8c13f23363c48bac7a6a49a565b}{\+\_\+mutex}}, and \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a970596f4c9a6d1a806b06d46807e06ee}{\+\_\+queue}}. - -\Hypertarget{classutils_1_1ThreadSafeQueue_a0fc878c7c3ed27b4c65bcf277b99a48b}\index{utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}!wait\_and\_pop@{wait\_and\_pop}} -\index{wait\_and\_pop@{wait\_and\_pop}!utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}} -\doxysubsubsection{\texorpdfstring{wait\_and\_pop()}{wait\_and\_pop()}} -{\footnotesize\ttfamily \label{classutils_1_1ThreadSafeQueue_a0fc878c7c3ed27b4c65bcf277b99a48b} -template$<$typename T$>$ \\ -T \mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{utils\+::\+Thread\+Safe\+Queue}}$<$ T $>$\+::wait\+\_\+and\+\_\+pop (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} - - - -References \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_aa8f60ba625a00977e004c6641325671e}{\+\_\+cv}}, \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a43fef8c13f23363c48bac7a6a49a565b}{\+\_\+mutex}}, and \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a970596f4c9a6d1a806b06d46807e06ee}{\+\_\+queue}}. - - - -\doxysubsection{Member Data Documentation} -\Hypertarget{classutils_1_1ThreadSafeQueue_aa8f60ba625a00977e004c6641325671e}\index{utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}!\_cv@{\_cv}} -\index{\_cv@{\_cv}!utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}} -\doxysubsubsection{\texorpdfstring{\_cv}{\_cv}} -{\footnotesize\ttfamily \label{classutils_1_1ThreadSafeQueue_aa8f60ba625a00977e004c6641325671e} -template$<$typename T$>$ \\ -std\+::condition\+\_\+variable \mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{utils\+::\+Thread\+Safe\+Queue}}$<$ T $>$\+::\+\_\+cv\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a00347d38cfa085d97c67796779da2f33}{push()}}, and \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a0fc878c7c3ed27b4c65bcf277b99a48b}{wait\+\_\+and\+\_\+pop()}}. - -\Hypertarget{classutils_1_1ThreadSafeQueue_a43fef8c13f23363c48bac7a6a49a565b}\index{utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}!\_mutex@{\_mutex}} -\index{\_mutex@{\_mutex}!utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}} -\doxysubsubsection{\texorpdfstring{\_mutex}{\_mutex}} -{\footnotesize\ttfamily \label{classutils_1_1ThreadSafeQueue_a43fef8c13f23363c48bac7a6a49a565b} -template$<$typename T$>$ \\ -std\+::mutex \mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{utils\+::\+Thread\+Safe\+Queue}}$<$ T $>$\+::\+\_\+mutex\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a00347d38cfa085d97c67796779da2f33}{push()}}, and \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a0fc878c7c3ed27b4c65bcf277b99a48b}{wait\+\_\+and\+\_\+pop()}}. - -\Hypertarget{classutils_1_1ThreadSafeQueue_a970596f4c9a6d1a806b06d46807e06ee}\index{utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}!\_queue@{\_queue}} -\index{\_queue@{\_queue}!utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}} -\doxysubsubsection{\texorpdfstring{\_queue}{\_queue}} -{\footnotesize\ttfamily \label{classutils_1_1ThreadSafeQueue_a970596f4c9a6d1a806b06d46807e06ee} -template$<$typename T$>$ \\ -std\+::queue$<$T$>$ \mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{utils\+::\+Thread\+Safe\+Queue}}$<$ T $>$\+::\+\_\+queue\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a00347d38cfa085d97c67796779da2f33}{push()}}, and \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a0fc878c7c3ed27b4c65bcf277b99a48b}{wait\+\_\+and\+\_\+pop()}}. - - - -The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} -\item -include/utils/\mbox{\hyperlink{ThreadSafeQueue_8hh}{Thread\+Safe\+Queue.\+hh}}\end{DoxyCompactItemize} diff --git a/latex/classutils_1_1ThreadSafeQueue__coll__graph.md5 b/latex/classutils_1_1ThreadSafeQueue__coll__graph.md5 deleted file mode 100644 index e3baa20..0000000 --- a/latex/classutils_1_1ThreadSafeQueue__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -2bab52784053277ebef1b99ca75ae9fb \ No newline at end of file diff --git a/latex/classutils_1_1ThreadSafeQueue__coll__graph.pdf b/latex/classutils_1_1ThreadSafeQueue__coll__graph.pdf deleted file mode 100644 index 33eb254..0000000 Binary files a/latex/classutils_1_1ThreadSafeQueue__coll__graph.pdf and /dev/null differ diff --git a/latex/dir_313caf1132e152dd9b58bea13a4052ca.tex b/latex/dir_313caf1132e152dd9b58bea13a4052ca.tex deleted file mode 100644 index d82fffc..0000000 --- a/latex/dir_313caf1132e152dd9b58bea13a4052ca.tex +++ /dev/null @@ -1,16 +0,0 @@ -\doxysection{src/utils Directory Reference} -\hypertarget{dir_313caf1132e152dd9b58bea13a4052ca}{}\label{dir_313caf1132e152dd9b58bea13a4052ca}\index{src/utils Directory Reference@{src/utils Directory Reference}} -Directory dependency graph for utils\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=150pt]{dir_313caf1132e152dd9b58bea13a4052ca_dep} -\end{center} -\end{figure} -\doxysubsubsection*{Files} -\begin{DoxyCompactItemize} -\item -file \mbox{\hyperlink{ThreadPool_8cc}{Thread\+Pool.\+cc}} -\item -file \mbox{\hyperlink{ThreadSafeQueue_8cc}{Thread\+Safe\+Queue.\+cc}} -\end{DoxyCompactItemize} diff --git a/latex/dir_313caf1132e152dd9b58bea13a4052ca_dep.md5 b/latex/dir_313caf1132e152dd9b58bea13a4052ca_dep.md5 deleted file mode 100644 index 770692c..0000000 --- a/latex/dir_313caf1132e152dd9b58bea13a4052ca_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -c4e47c700a10ab85fcab83003b05fd68 \ No newline at end of file diff --git a/latex/dir_313caf1132e152dd9b58bea13a4052ca_dep.pdf b/latex/dir_313caf1132e152dd9b58bea13a4052ca_dep.pdf deleted file mode 100644 index 9066b49..0000000 Binary files a/latex/dir_313caf1132e152dd9b58bea13a4052ca_dep.pdf and /dev/null differ diff --git a/latex/dir_61c57797386c8fb992d55e625d187773.tex b/latex/dir_61c57797386c8fb992d55e625d187773.tex deleted file mode 100644 index 5505742..0000000 --- a/latex/dir_61c57797386c8fb992d55e625d187773.tex +++ /dev/null @@ -1,14 +0,0 @@ -\doxysection{include/readers Directory Reference} -\hypertarget{dir_61c57797386c8fb992d55e625d187773}{}\label{dir_61c57797386c8fb992d55e625d187773}\index{include/readers Directory Reference@{include/readers Directory Reference}} -Directory dependency graph for readers\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=164pt]{dir_61c57797386c8fb992d55e625d187773_dep} -\end{center} -\end{figure} -\doxysubsubsection*{Files} -\begin{DoxyCompactItemize} -\item -file \mbox{\hyperlink{JSONReader_8hh}{JSONReader.\+hh}} -\end{DoxyCompactItemize} diff --git a/latex/dir_61c57797386c8fb992d55e625d187773_dep.md5 b/latex/dir_61c57797386c8fb992d55e625d187773_dep.md5 deleted file mode 100644 index 1c01590..0000000 --- a/latex/dir_61c57797386c8fb992d55e625d187773_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -0d7384fbb22a212459d4ace02a48d8d9 \ No newline at end of file diff --git a/latex/dir_61c57797386c8fb992d55e625d187773_dep.pdf b/latex/dir_61c57797386c8fb992d55e625d187773_dep.pdf deleted file mode 100644 index c6db96f..0000000 Binary files a/latex/dir_61c57797386c8fb992d55e625d187773_dep.pdf and /dev/null differ diff --git a/latex/dir_68267d1309a1af8e8297ef4c3efbcdba.tex b/latex/dir_68267d1309a1af8e8297ef4c3efbcdba.tex deleted file mode 100644 index 261fb1f..0000000 --- a/latex/dir_68267d1309a1af8e8297ef4c3efbcdba.tex +++ /dev/null @@ -1,29 +0,0 @@ -\doxysection{src Directory Reference} -\hypertarget{dir_68267d1309a1af8e8297ef4c3efbcdba}{}\label{dir_68267d1309a1af8e8297ef4c3efbcdba}\index{src Directory Reference@{src Directory Reference}} -Directory dependency graph for src\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=269pt]{dir_68267d1309a1af8e8297ef4c3efbcdba_dep} -\end{center} -\end{figure} -\doxysubsubsection*{Directories} -\begin{DoxyCompactItemize} -\item -directory \mbox{\hyperlink{dir_e509a0fe39cd155e5ddab576f8fee000}{readers}} -\item -directory \mbox{\hyperlink{dir_313caf1132e152dd9b58bea13a4052ca}{utils}} -\end{DoxyCompactItemize} -\doxysubsubsection*{Files} -\begin{DoxyCompactItemize} -\item -file \mbox{\hyperlink{Algo_8cc}{Algo.\+cc}} -\item -file \mbox{\hyperlink{Controller_8cc}{Controller.\+cc}} -\item -file \mbox{\hyperlink{grpc__client_8cc}{grpc\+\_\+client.\+cc}} -\item -file \mbox{\hyperlink{grpc__server_8cc}{grpc\+\_\+server.\+cc}} -\item -file \mbox{\hyperlink{Publisher_8cc}{Publisher.\+cc}} -\end{DoxyCompactItemize} diff --git a/latex/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 b/latex/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 deleted file mode 100644 index e836d01..0000000 --- a/latex/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -9bdd3881757c588224bf22fd76749d5b \ No newline at end of file diff --git a/latex/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.pdf b/latex/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.pdf deleted file mode 100644 index ea9d894..0000000 Binary files a/latex/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.pdf and /dev/null differ diff --git a/latex/dir_821002d4f10779a80d4fb17bc32f21f1.tex b/latex/dir_821002d4f10779a80d4fb17bc32f21f1.tex deleted file mode 100644 index b37eceb..0000000 --- a/latex/dir_821002d4f10779a80d4fb17bc32f21f1.tex +++ /dev/null @@ -1,16 +0,0 @@ -\doxysection{include/utils Directory Reference} -\hypertarget{dir_821002d4f10779a80d4fb17bc32f21f1}{}\label{dir_821002d4f10779a80d4fb17bc32f21f1}\index{include/utils Directory Reference@{include/utils Directory Reference}} -Directory dependency graph for utils\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=150pt]{dir_821002d4f10779a80d4fb17bc32f21f1_dep} -\end{center} -\end{figure} -\doxysubsubsection*{Files} -\begin{DoxyCompactItemize} -\item -file \mbox{\hyperlink{ThreadPool_8hh}{Thread\+Pool.\+hh}} -\item -file \mbox{\hyperlink{ThreadSafeQueue_8hh}{Thread\+Safe\+Queue.\+hh}} -\end{DoxyCompactItemize} diff --git a/latex/dir_821002d4f10779a80d4fb17bc32f21f1_dep.md5 b/latex/dir_821002d4f10779a80d4fb17bc32f21f1_dep.md5 deleted file mode 100644 index 16dc955..0000000 --- a/latex/dir_821002d4f10779a80d4fb17bc32f21f1_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -e1a113e2154198092a904007fc766036 \ No newline at end of file diff --git a/latex/dir_821002d4f10779a80d4fb17bc32f21f1_dep.pdf b/latex/dir_821002d4f10779a80d4fb17bc32f21f1_dep.pdf deleted file mode 100644 index e2b21ee..0000000 Binary files a/latex/dir_821002d4f10779a80d4fb17bc32f21f1_dep.pdf and /dev/null differ diff --git a/latex/dir_d44c64559bbebec7f509842c48db8b23.tex b/latex/dir_d44c64559bbebec7f509842c48db8b23.tex deleted file mode 100644 index 01eb7bd..0000000 --- a/latex/dir_d44c64559bbebec7f509842c48db8b23.tex +++ /dev/null @@ -1,25 +0,0 @@ -\doxysection{include Directory Reference} -\hypertarget{dir_d44c64559bbebec7f509842c48db8b23}{}\label{dir_d44c64559bbebec7f509842c48db8b23}\index{include Directory Reference@{include Directory Reference}} -Directory dependency graph for include\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=234pt]{dir_d44c64559bbebec7f509842c48db8b23_dep} -\end{center} -\end{figure} -\doxysubsubsection*{Directories} -\begin{DoxyCompactItemize} -\item -directory \mbox{\hyperlink{dir_61c57797386c8fb992d55e625d187773}{readers}} -\item -directory \mbox{\hyperlink{dir_821002d4f10779a80d4fb17bc32f21f1}{utils}} -\end{DoxyCompactItemize} -\doxysubsubsection*{Files} -\begin{DoxyCompactItemize} -\item -file \mbox{\hyperlink{Algo_8hh}{Algo.\+hh}} -\item -file \mbox{\hyperlink{Controller_8hh}{Controller.\+hh}} -\item -file \mbox{\hyperlink{Publisher_8hh}{Publisher.\+hh}} -\end{DoxyCompactItemize} diff --git a/latex/dir_d44c64559bbebec7f509842c48db8b23_dep.md5 b/latex/dir_d44c64559bbebec7f509842c48db8b23_dep.md5 deleted file mode 100644 index 77e00c8..0000000 --- a/latex/dir_d44c64559bbebec7f509842c48db8b23_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -bc5c1166c3c7c6216c2f4f2f9ce1b0a3 \ No newline at end of file diff --git a/latex/dir_d44c64559bbebec7f509842c48db8b23_dep.pdf b/latex/dir_d44c64559bbebec7f509842c48db8b23_dep.pdf deleted file mode 100644 index 48ce696..0000000 Binary files a/latex/dir_d44c64559bbebec7f509842c48db8b23_dep.pdf and /dev/null differ diff --git a/latex/dir_e509a0fe39cd155e5ddab576f8fee000.tex b/latex/dir_e509a0fe39cd155e5ddab576f8fee000.tex deleted file mode 100644 index 0d66169..0000000 --- a/latex/dir_e509a0fe39cd155e5ddab576f8fee000.tex +++ /dev/null @@ -1,14 +0,0 @@ -\doxysection{src/readers Directory Reference} -\hypertarget{dir_e509a0fe39cd155e5ddab576f8fee000}{}\label{dir_e509a0fe39cd155e5ddab576f8fee000}\index{src/readers Directory Reference@{src/readers Directory Reference}} -Directory dependency graph for readers\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=164pt]{dir_e509a0fe39cd155e5ddab576f8fee000_dep} -\end{center} -\end{figure} -\doxysubsubsection*{Files} -\begin{DoxyCompactItemize} -\item -file \mbox{\hyperlink{JSONReader_8cc}{JSONReader.\+cc}} -\end{DoxyCompactItemize} diff --git a/latex/dir_e509a0fe39cd155e5ddab576f8fee000_dep.md5 b/latex/dir_e509a0fe39cd155e5ddab576f8fee000_dep.md5 deleted file mode 100644 index 676c1e3..0000000 --- a/latex/dir_e509a0fe39cd155e5ddab576f8fee000_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -7f09f2f4417aa3cd41c6a881d5103ad6 \ No newline at end of file diff --git a/latex/dir_e509a0fe39cd155e5ddab576f8fee000_dep.pdf b/latex/dir_e509a0fe39cd155e5ddab576f8fee000_dep.pdf deleted file mode 100644 index b0a6296..0000000 Binary files a/latex/dir_e509a0fe39cd155e5ddab576f8fee000_dep.pdf and /dev/null differ diff --git a/latex/doxygen.sty b/latex/doxygen.sty deleted file mode 100644 index 66a07a5..0000000 --- a/latex/doxygen.sty +++ /dev/null @@ -1,714 +0,0 @@ -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{doxygen} - -% Packages used by this style file -\RequirePackage{alltt} -%%\RequirePackage{array} %% moved to refman.tex due to workaround for LaTex 2019 version and unmaintained tabu package -\RequirePackage{calc} -\RequirePackage{float} -%%\RequirePackage{ifthen} %% moved to refman.tex due to workaround for LaTex 2019 version and unmaintained tabu package -\RequirePackage{verbatim} -\RequirePackage[table]{xcolor} -\RequirePackage{longtable_doxygen} -\RequirePackage{tabu_doxygen} -\RequirePackage{fancyvrb} -\RequirePackage{tabularx} -\RequirePackage{multicol} -\RequirePackage{multirow} -\RequirePackage{hanging} -\RequirePackage{ifpdf} -\RequirePackage{adjustbox} -\RequirePackage{amssymb} -\RequirePackage{stackengine} -\RequirePackage{enumitem} -\RequirePackage{alphalph} -\RequirePackage[normalem]{ulem} % for strikeout, but don't modify emphasis - -%---------- Internal commands used in this style file ---------------- - -\newcommand{\ensurespace}[1]{% - \begingroup% - \setlength{\dimen@}{#1}% - \vskip\z@\@plus\dimen@% - \penalty -100\vskip\z@\@plus -\dimen@% - \vskip\dimen@% - \penalty 9999% - \vskip -\dimen@% - \vskip\z@skip% hide the previous |\vskip| from |\addvspace| - \endgroup% -} - -\newcommand{\DoxyHorRuler}[1]{% - \setlength{\parskip}{0ex plus 0ex minus 0ex}% - \ifthenelse{#1=0}% - {% - \hrule% - }% - {% - \hrulefilll% - }% -} -\newcommand{\DoxyLabelFont}{} -\newcommand{\entrylabel}[1]{% - {% - \parbox[b]{\labelwidth-4pt}{% - \makebox[0pt][l]{\DoxyLabelFont#1}% - \vspace{1.5\baselineskip}% - }% - }% -} - -\newenvironment{DoxyDesc}[1]{% - \ensurespace{4\baselineskip}% - \begin{list}{}{% - \settowidth{\labelwidth}{20pt}% - %\setlength{\parsep}{0pt}% - \setlength{\itemsep}{0pt}% - \setlength{\leftmargin}{\labelwidth+\labelsep}% - \renewcommand{\makelabel}{\entrylabel}% - }% - \item[#1]% -}{% - \end{list}% -} - -\newsavebox{\xrefbox} -\newlength{\xreflength} -\newcommand{\xreflabel}[1]{% - \sbox{\xrefbox}{#1}% - \setlength{\xreflength}{\wd\xrefbox}% - \ifthenelse{\xreflength>\labelwidth}{% - \begin{minipage}{\textwidth}% - \setlength{\parindent}{0pt}% - \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}% - \end{minipage}% - }{% - \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}% - }% -} - -%---------- Commands used by doxygen LaTeX output generator ---------- - -% Used by
 ... 
-\newenvironment{DoxyPre}{% - \small% - \begin{alltt}% -}{% - \end{alltt}% - \normalsize% -} -% Necessary for redefining not defined characters, i.e. "Replacement Character" in tex output. -\newlength{\CodeWidthChar} -\newlength{\CodeHeightChar} -\settowidth{\CodeWidthChar}{?} -\settoheight{\CodeHeightChar}{?} -% Necessary for hanging indent -\newlength{\DoxyCodeWidth} - -\newcommand\DoxyCodeLine[1]{ - \ifthenelse{\equal{\detokenize{#1}}{}} - { - \vspace*{\baselineskip} - } - { - \hangpara{\DoxyCodeWidth}{1}{#1}\par - } -} - -\newcommand\NiceSpace{% - \discretionary{}{\kern\fontdimen2\font}{\kern\fontdimen2\font}% -} - -% Used by @code ... @endcode -\newenvironment{DoxyCode}[1]{% - \par% - \vspace{2pt}% - \scriptsize% - \normalfont\ttfamily% - \rightskip0pt plus 1fil% - \settowidth{\DoxyCodeWidth}{000000}% - \settowidth{\CodeWidthChar}{?}% - \settoheight{\CodeHeightChar}{?}% - \setlength{\parskip}{0ex plus 0ex minus 0ex}% - \ifthenelse{\equal{#1}{0}}% - {% - {\lccode`~32 \lowercase{\global\let~}\NiceSpace}\obeyspaces% - }% - {% - {\lccode`~32 \lowercase{\global\let~}}\obeyspaces% - }% - \vspace{2pt}% -}{% - \normalfont% - \normalsize% - \settowidth{\CodeWidthChar}{?}% - \settoheight{\CodeHeightChar}{?}% -} - -% Redefining not defined characters, i.e. "Replacement Character" in tex output. -\def\ucr{\adjustbox{width=\CodeWidthChar,height=\CodeHeightChar}{\stackinset{c}{}{c}{-.2pt}{% - \textcolor{white}{\sffamily\bfseries\small ?}}{% - \rotatebox{45}{$\blacksquare$}}}} - -% Used by @example, @include, @includelineno and @dontinclude -\newenvironment{DoxyCodeInclude}[1]{% - \DoxyCode{#1}% -}{% - \endDoxyCode% -} - -% Used by @verbatim ... @endverbatim -\newenvironment{DoxyVerb}{% - \par% - \footnotesize% - \verbatim% -}{% - \endverbatim% - \normalsize% -} - -% Used by @verbinclude -\newenvironment{DoxyVerbInclude}{% - \DoxyVerb% -}{% - \endDoxyVerb% -} - -% Used by numbered lists (using '-#' or
    ...
) -\setlistdepth{12} -\newlist{DoxyEnumerate}{enumerate}{12} -\setlist[DoxyEnumerate,1]{label=\arabic*.} -\setlist[DoxyEnumerate,2]{label=(\enumalphalphcnt*)} -\setlist[DoxyEnumerate,3]{label=\roman*.} -\setlist[DoxyEnumerate,4]{label=\enumAlphAlphcnt*.} -\setlist[DoxyEnumerate,5]{label=\arabic*.} -\setlist[DoxyEnumerate,6]{label=(\enumalphalphcnt*)} -\setlist[DoxyEnumerate,7]{label=\roman*.} -\setlist[DoxyEnumerate,8]{label=\enumAlphAlphcnt*.} -\setlist[DoxyEnumerate,9]{label=\arabic*.} -\setlist[DoxyEnumerate,10]{label=(\enumalphalphcnt*)} -\setlist[DoxyEnumerate,11]{label=\roman*.} -\setlist[DoxyEnumerate,12]{label=\enumAlphAlphcnt*.} - -% Used by bullet lists (using '-', @li, @arg, or
    ...
) -\setlistdepth{12} -\newlist{DoxyItemize}{itemize}{12} -\setlist[DoxyItemize]{label=\textperiodcentered} - -\setlist[DoxyItemize,1]{label=\textbullet} -\setlist[DoxyItemize,2]{label=\normalfont\bfseries \textendash} -\setlist[DoxyItemize,3]{label=\textasteriskcentered} -\setlist[DoxyItemize,4]{label=\textperiodcentered} - -% Used for check boxes -\newcommand{\DoxyUnchecked}{$\square$} -\newcommand{\DoxyChecked}{\rlap{\raisebox{0.3ex}{\hspace{0.4ex}\tiny \checkmark}}$\square$} - -% Used by description lists (using
...
) -\newenvironment{DoxyDescription}{% - \description% -}{% - \enddescription% -} - -% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc -% (only if caption is specified) -\newenvironment{DoxyImage}{% - \begin{figure}[H]% - \centering% -}{% - \end{figure}% -} - -% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc -% (only if no caption is specified) -\newenvironment{DoxyImageNoCaption}{% - \begin{center}% -}{% - \end{center}% -} - -% Used by @image -% (only if inline is specified) -\newenvironment{DoxyInlineImage}{% -}{% -} - -% Used by @attention -\newenvironment{DoxyAttention}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @important -\newenvironment{DoxyImportant}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @author and @authors -\newenvironment{DoxyAuthor}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @date -\newenvironment{DoxyDate}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @invariant -\newenvironment{DoxyInvariant}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @note -\newenvironment{DoxyNote}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @post -\newenvironment{DoxyPostcond}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @pre -\newenvironment{DoxyPrecond}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @copyright -\newenvironment{DoxyCopyright}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @remark -\newenvironment{DoxyRemark}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @return and @returns -\newenvironment{DoxyReturn}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @since -\newenvironment{DoxySince}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @see -\newenvironment{DoxySeeAlso}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @version -\newenvironment{DoxyVersion}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @warning -\newenvironment{DoxyWarning}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @par and @paragraph -\newenvironment{DoxyParagraph}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by parameter lists -\newenvironment{DoxyParams}[2][]{% - \tabulinesep=1mm% - \par% - \ifthenelse{\equal{#1}{}}% - {\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|}}% name + description - {\ifthenelse{\equal{#1}{1}}% - {\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + name + desc - {\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + type + name + desc - } - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]% - \hline% - \endfirsthead% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]% - \hline% - \endhead% -}{% - \end{longtabu*}% - \vspace{6pt}% -} - -% Used for fields of simple structs -\newenvironment{DoxyFields}[1]{% - \tabulinesep=1mm% - \par% - \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|X[-1,l]|}% - \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endfirsthead% - \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endhead% -}{% - \end{longtabu*}% - \vspace{6pt}% -} - -% Used for fields simple class style enums -\newenvironment{DoxyEnumFields}[2][]{% - \tabulinesep=1mm% - \par% - \ifthenelse{\equal{#1}{2}}% - {\begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}}% - {\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,r]|X[-1,l]|}}% with init value - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]% - \hline% - \endfirsthead% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]% - \hline% - \endhead% -}{% - \end{longtabu*}% - \vspace{6pt}% -} - -% Used for parameters within a detailed function description -\newenvironment{DoxyParamCaption}{% - \renewcommand{\item}[3][]{\\ \hspace*{2.0cm} ##1 {\em ##2}##3}% -}{% -} - -% Used by return value lists -\newenvironment{DoxyRetVals}[1]{% - \tabulinesep=1mm% - \par% - \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endfirsthead% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endhead% -}{% - \end{longtabu*}% - \vspace{6pt}% -} - -% Used by exception lists -\newenvironment{DoxyExceptions}[1]{% - \tabulinesep=1mm% - \par% - \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endfirsthead% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endhead% -}{% - \end{longtabu*}% - \vspace{6pt}% -} - -% Used by template parameter lists -\newenvironment{DoxyTemplParams}[1]{% - \tabulinesep=1mm% - \par% - \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endfirsthead% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endhead% -}{% - \end{longtabu*}% - \vspace{6pt}% -} - -% Used for member lists -\newenvironment{DoxyCompactItemize}{% - \begin{itemize}% - \setlength{\itemsep}{-3pt}% - \setlength{\parsep}{0pt}% - \setlength{\topsep}{0pt}% - \setlength{\partopsep}{0pt}% -}{% - \end{itemize}% -} - -% Used for member descriptions -\newenvironment{DoxyCompactList}{% - \begin{list}{}{% - \setlength{\leftmargin}{0.5cm}% - \setlength{\itemsep}{0pt}% - \setlength{\parsep}{0pt}% - \setlength{\topsep}{0pt}% - \renewcommand{\makelabel}{\hfill}% - }% -}{% - \end{list}% -} - -% Used for reference lists (@bug, @deprecated, @todo, etc.) -\newenvironment{DoxyRefList}{% - \begin{list}{}{% - \setlength{\labelwidth}{10pt}% - \setlength{\leftmargin}{\labelwidth}% - \addtolength{\leftmargin}{\labelsep}% - \renewcommand{\makelabel}{\xreflabel}% - }% -}{% - \end{list}% -} - -% Used by @bug, @deprecated, @todo, etc. -\newenvironment{DoxyRefDesc}[1]{% - \begin{list}{}{% - \renewcommand\makelabel[1]{\textbf{##1}}% - \settowidth\labelwidth{\makelabel{#1}}% - \setlength\leftmargin{\labelwidth+\labelsep}% - }% -}{% - \end{list}% -} - -% Used by parameter lists and simple sections -\newenvironment{Desc} -{\begin{list}{}{% - \settowidth{\labelwidth}{20pt}% - \setlength{\parsep}{0pt}% - \setlength{\itemsep}{0pt}% - \setlength{\leftmargin}{\labelwidth+\labelsep}% - \renewcommand{\makelabel}{\entrylabel}% - } -}{% - \end{list}% -} - -% Used by tables -\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}% -\newenvironment{TabularC}[1]% -{\tabulinesep=1mm -\begin{longtabu*}spread 0pt [c]{*#1{|X[-1]}|}}% -{\end{longtabu*}\par}% - -\newenvironment{TabularNC}[1]% -{\begin{tabu}spread 0pt [l]{*#1{|X[-1]}|}}% -{\end{tabu}\par}% - -% Used for member group headers -\newenvironment{Indent}{% - \begin{list}{}{% - \setlength{\leftmargin}{0.5cm}% - }% - \item[]\ignorespaces% -}{% - \unskip% - \end{list}% -} - -% Used when hyperlinks are turned on -\newcommand{\doxylink}[2]{% - \mbox{\hyperlink{#1}{#2}}% -} - -% Used when hyperlinks are turned on -% Third argument is the SectionType, see the doxygen internal -% documentation for the values (relevant: Page ... Subsubsection). -\newcommand{\doxysectlink}[3]{% - \mbox{\hyperlink{#1}{#2}}% -} -% Used when hyperlinks are turned off -\newcommand{\doxyref}[3]{% - \textbf{#1} (\textnormal{#2}\,\pageref{#3})% -} - -% Used when hyperlinks are turned off -% Fourth argument is the SectionType, see the doxygen internal -% documentation for the values (relevant: Page ... Subsubsection). -\newcommand{\doxysectref}[4]{% - \textbf{#1} (\textnormal{#2}\,\pageref{#3})% -} - -% Used to link to a table when hyperlinks are turned on -\newcommand{\doxytablelink}[2]{% - \ref{#1}% -} - -% Used to link to a table when hyperlinks are turned off -\newcommand{\doxytableref}[3]{% - \ref{#3}% -} - -% Used by @addindex -\newcommand{\lcurly}{\{} -\newcommand{\rcurly}{\}} - -% Colors used for syntax highlighting -\definecolor{comment}{rgb}{0.5,0.0,0.0} -\definecolor{keyword}{rgb}{0.0,0.5,0.0} -\definecolor{keywordtype}{rgb}{0.38,0.25,0.125} -\definecolor{keywordflow}{rgb}{0.88,0.5,0.0} -\definecolor{preprocessor}{rgb}{0.5,0.38,0.125} -\definecolor{stringliteral}{rgb}{0.0,0.125,0.25} -\definecolor{charliteral}{rgb}{0.0,0.5,0.5} -\definecolor{xmlcdata}{rgb}{0.0,0.0,0.0} -\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0} -\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43} -\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0} -\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0} - -% Color used for table heading -\newcommand{\tableheadbgcolor}{lightgray}% - -% Version of hypertarget with correct landing location -\newcommand{\Hypertarget}[1]{\Hy@raisedlink{\hypertarget{#1}{}}} - -% possibility to have sections etc. be within the margins -% unfortunately had to copy part of book.cls and add \raggedright -\makeatletter -\newcounter{subsubsubsection}[subsubsection] -\newcounter{subsubsubsubsection}[subsubsubsection] -\newcounter{subsubsubsubsubsection}[subsubsubsubsection] -\newcounter{subsubsubsubsubsubsection}[subsubsubsubsubsection] -\renewcommand{\thesubsubsubsection}{\thesubsubsection.\arabic{subsubsubsection}} -\renewcommand{\thesubsubsubsubsection}{\thesubsubsubsection.\arabic{subsubsubsubsection}} -\renewcommand{\thesubsubsubsubsubsection}{\thesubsubsubsubsection.\arabic{subsubsubsubsubsection}} -\renewcommand{\thesubsubsubsubsubsubsection}{\thesubsubsubsubsubsection.\arabic{subsubsubsubsubsubsection}} -\newcommand{\subsubsubsectionmark}[1]{} -\newcommand{\subsubsubsubsectionmark}[1]{} -\newcommand{\subsubsubsubsubsectionmark}[1]{} -\newcommand{\subsubsubsubsubsubsectionmark}[1]{} -\def\toclevel@subsubsubsection{4} -\def\toclevel@subsubsubsubsection{5} -\def\toclevel@subsubsubsubsubsection{6} -\def\toclevel@subsubsubsubsubsubsection{7} -\def\toclevel@paragraph{8} -\def\toclevel@subparagraph{9} - -\newcommand\doxysection{\@startsection {section}{1}{\z@}% - {-3.5ex \@plus -1ex \@minus -.2ex}% - {2.3ex \@plus.2ex}% - {\raggedright\normalfont\Large\bfseries}} -\newcommand\doxysubsection{\@startsection{subsection}{2}{\z@}% - {-3.25ex\@plus -1ex \@minus -.2ex}% - {1.5ex \@plus .2ex}% - {\raggedright\normalfont\large\bfseries}} -\newcommand\doxysubsubsection{\@startsection{subsubsection}{3}{\z@}% - {-3.25ex\@plus -1ex \@minus -.2ex}% - {1.5ex \@plus .2ex}% - {\raggedright\normalfont\normalsize\bfseries}} -\newcommand\doxysubsubsubsection{\@startsection{subsubsubsection}{4}{\z@}% - {-3.25ex\@plus -1ex \@minus -.2ex}% - {1.5ex \@plus .2ex}% - {\raggedright\normalfont\normalsize\bfseries}} -\newcommand\doxysubsubsubsubsection{\@startsection{subsubsubsubsection}{5}{\z@}% - {-3.25ex\@plus -1ex \@minus -.2ex}% - {1.5ex \@plus .2ex}% - {\raggedright\normalfont\normalsize\bfseries}} -\newcommand\doxysubsubsubsubsubsection{\@startsection{subsubsubsubsubsection}{6}{\z@}% - {-3.25ex\@plus -1ex \@minus -.2ex}% - {1.5ex \@plus .2ex}% - {\raggedright\normalfont\normalsize\bfseries}} -\newcommand\doxysubsubsubsubsubsubsection{\@startsection{subsubsubsubsubsubsection}{7}{\z@}% - {-3.25ex\@plus -1ex \@minus -.2ex}% - {1.5ex \@plus .2ex}% - {\raggedright\normalfont\normalsize\bfseries}} -\newcommand\doxyparagraph{\@startsection{paragraph}{8}{\z@}% - {-3.25ex\@plus -1ex \@minus -.2ex}% - {1.5ex \@plus .2ex}% - {\raggedright\normalfont\normalsize\bfseries}} -\newcommand\doxysubparagraph{\@startsection{subparagraph}{9}{\parindent}% - {-3.25ex\@plus -1ex \@minus -.2ex}% - {1.5ex \@plus .2ex}% - {\raggedright\normalfont\normalsize\bfseries}} - -\newcommand\l@subsubsubsection{\@dottedtocline{4}{10.0em}{7.8em}} -\newcommand\l@subsubsubsubsection{\@dottedtocline{5}{13.0em}{9.4em}} -\newcommand\l@subsubsubsubsubsection{\@dottedtocline{6}{15.0em}{11em}} -\newcommand\l@subsubsubsubsubsubsection{\@dottedtocline{7}{18.0em}{12.6em}} -\renewcommand\l@paragraph{\@dottedtocline{8}{21.0em}{14.2em}} -\renewcommand\l@subparagraph{\@dottedtocline{9}{24.0em}{15.8em}} -\makeatother -% the sectsty doesn't look to be maintained but gives, in our case, some warning like: -% LaTeX Warning: Command \underline has changed. -% Check if current package is valid. -% unfortunately had to copy the relevant part -\newcommand*{\doxypartfont} [1] - {\gdef\SS@partnumberfont{\SS@sectid{0}\SS@nopart\SS@makeulinepartchap#1} - \gdef\SS@parttitlefont{\SS@sectid{0}\SS@titlepart\SS@makeulinepartchap#1}} -\newcommand*{\doxychapterfont} [1] - {\gdef\SS@chapnumfont{\SS@sectid{1}\SS@nopart\SS@makeulinepartchap#1} - \gdef\SS@chaptitlefont{\SS@sectid{1}\SS@titlepart\SS@makeulinepartchap#1}} -\newcommand*{\doxysectionfont} [1] - {\gdef\SS@sectfont{\SS@sectid{2}\SS@rr\SS@makeulinesect#1}} -\newcommand*{\doxysubsectionfont} [1] - {\gdef\SS@subsectfont{\SS@sectid{3}\SS@rr\SS@makeulinesect#1}} -\newcommand*{\doxysubsubsectionfont} [1] - {\gdef\SS@subsubsectfont{\SS@sectid{4}\SS@rr\SS@makeulinesect#1}} -\newcommand*{\doxyparagraphfont} [1] - {\gdef\SS@parafont{\SS@sectid{5}\SS@rr\SS@makeulinesect#1}} -\newcommand*{\doxysubparagraphfont} [1] - {\gdef\SS@subparafont{\SS@sectid{6}\SS@rr\SS@makeulinesect#1}} -\newcommand*{\doxyminisecfont} [1] - {\gdef\SS@minisecfont{\SS@sectid{7}\SS@rr\SS@makeulinepartchap#1}} -\newcommand*{\doxyallsectionsfont} [1] {\doxypartfont{#1}% - \doxychapterfont{#1}% - \doxysectionfont{#1}% - \doxysubsectionfont{#1}% - \doxysubsubsectionfont{#1}% - \doxyparagraphfont{#1}% - \doxysubparagraphfont{#1}% - \doxyminisecfont{#1}}% -% Define caption that is also suitable in a table -% for usage with hyperlinks -\makeatletter -\def\doxyfigcaption{% -\H@refstepcounter{figure}% -\@dblarg{\@caption{figure}}} - -% for usage without hyperlinks -\def\doxyfigcaptionnolink{% -\refstepcounter{figure}% -\@dblarg{\@caption{figure}}} -\makeatother - -% Define alpha enumarative names for counters > 26 -\makeatletter -\def\enumalphalphcnt#1{\expandafter\@enumalphalphcnt\csname c@#1\endcsname} -\def\@enumalphalphcnt#1{\alphalph{#1}} -\def\enumAlphAlphcnt#1{\expandafter\@enumAlphAlphcnt\csname c@#1\endcsname} -\def\@enumAlphAlphcnt#1{\AlphAlph{#1}} -\makeatother -\AddEnumerateCounter{\enumalphalphcnt}{\@enumalphalphcnt}{aa} -\AddEnumerateCounter{\enumAlphAlphcnt}{\@enumAlphAlphcnt}{AA} diff --git a/latex/etoc_doxygen.sty b/latex/etoc_doxygen.sty deleted file mode 100644 index 5f7e127..0000000 --- a/latex/etoc_doxygen.sty +++ /dev/null @@ -1,2178 +0,0 @@ -%% -%% This is file etoc_doxygen.sty -%% -%% Apart from this header notice and the renaming from etoc to -%% etoc_doxygen (also in \ProvidesPackage) it is an identical -%% copy of -%% -%% etoc.sty -%% -%% at version 1.2b of 2023/07/01. -%% -%% This file has been provided to Doxygen team courtesy of the -%% author for benefit of users having a LaTeX installation not -%% yet providing version 1.2a or later of etoc, whose -%% deeplevels feature is required. -%% -%% The original source etoc.dtx (only of the latest version at -%% any given time) is available at -%% -%% https://ctan.org/pkg/etoc -%% -%% and contains the terms for copying and modification as well -%% as author contact information. -%% -%% In brief any modified versions of this file must be renamed -%% with new filenames distinct from etoc.sty. -%% -%% Package: etoc -%% Version: 1.2b -%% License: LPPL 1.3c -%% Copyright (C) 2012-2023 Jean-Francois B. -\NeedsTeXFormat{LaTeX2e}[2003/12/01] -\ProvidesPackage{etoc_doxygen}[2023/07/01 v1.2b Completely customisable TOCs (JFB)] -\newif\ifEtoc@oldLaTeX -\@ifl@t@r\fmtversion{2020/10/01} - {} - {\Etoc@oldLaTeXtrue - \PackageInfo{etoc}{Old LaTeX (\fmtversion) detected!\MessageBreak - Since 1.1a (2023/01/14), etoc prefers LaTeX at least\MessageBreak - as recent as 2020-10-01, for reasons of the .toc file,\MessageBreak - and used to require it (from 1.1a to 1.2).\MessageBreak - This etoc (1.2b) does not *require* it, but has not been\MessageBreak - tested thoroughly on old LaTeX (especially if document\MessageBreak - does not use hyperref) and retrofitting was done only\MessageBreak - on basis of author partial remembrances of old context.\MessageBreak - Reported}} -\RequirePackage{kvoptions} -\SetupKeyvalOptions{prefix=Etoc@} -\newif\ifEtoc@lof -\DeclareVoidOption{lof}{\Etoc@loftrue - \PackageInfo{etoc}{Experimental support for \string\locallistoffigures.\MessageBreak - Barely tested, use at own risk}% -} -\newif\ifEtoc@lot -\DeclareVoidOption{lot}{\Etoc@lottrue - \PackageInfo{etoc}{Experimental support for \string\locallistoftables.\MessageBreak - Barely tested, use at own risk}% -} -\@ifclassloaded{memoir}{ -\PackageInfo{etoc} - {As this is with memoir class, all `...totoc' options\MessageBreak - are set true by default. Reported} -\DeclareBoolOption[true]{maintoctotoc} -\DeclareBoolOption[true]{localtoctotoc} -\DeclareBoolOption[true]{localloftotoc} -\DeclareBoolOption[true]{locallottotoc} -}{ -\DeclareBoolOption[false]{maintoctotoc} -\DeclareBoolOption[false]{localtoctotoc} -\DeclareBoolOption[false]{localloftotoc} -\DeclareBoolOption[false]{locallottotoc} -} -\DeclareBoolOption[true]{ouroboros} -\DeclareBoolOption[false]{deeplevels} -\DeclareDefaultOption{\PackageWarning{etoc}{Option `\CurrentOption' is unknown.}} -\ProcessKeyvalOptions* -\DisableKeyvalOption[action=error,package=etoc]{etoc}{lof} -\DisableKeyvalOption[action=error,package=etoc]{etoc}{lot} -\DisableKeyvalOption[action=error,package=etoc]{etoc}{deeplevels} -\def\etocsetup#1{\setkeys{etoc}{#1}} -\def\etocifmaintoctotoc{\ifEtoc@maintoctotoc - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi} -\def\etociflocaltoctotoc{\ifEtoc@localtoctotoc - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi} -\def\etociflocalloftotoc{\ifEtoc@localloftotoc - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi} -\def\etociflocallottotoc{\ifEtoc@locallottotoc - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi} -\RequirePackage{multicol} -\def\etoc@{\etoc@} -\long\def\Etoc@gobtoetoc@ #1\etoc@{} -\newtoks\Etoc@toctoks -\def\Etoc@par{\par} -\def\etocinline{\def\Etoc@par{}} -\let\etocnopar\etocinline -\def\etocdisplay{\def\Etoc@par{\par}} -\let\Etoc@global\@empty -\def\etocglobaldefs{\let\Etoc@global\global\let\tof@global\global} -\def\etoclocaldefs {\let\Etoc@global\@empty\let\tof@global\@empty} -\newif\ifEtoc@numbered -\newif\ifEtoc@hyperref -\newif\ifEtoc@parskip -\newif\ifEtoc@tocwithid -\newif\ifEtoc@standardlines -\newif\ifEtoc@etocstyle -\newif\ifEtoc@classstyle -\newif\ifEtoc@keeporiginaltoc -\newif\ifEtoc@skipprefix -\newif\ifEtoc@isfirst -\newif\ifEtoc@localtoc -\newif\ifEtoc@skipthisone -\newif\ifEtoc@stoptoc -\newif\ifEtoc@notactive -\newif\ifEtoc@mustclosegroup -\newif\ifEtoc@isemptytoc -\newif\ifEtoc@checksemptiness -\def\etocchecksemptiness {\Etoc@checksemptinesstrue } -\def\etocdoesnotcheckemptiness {\Etoc@checksemptinessfalse } -\newif\ifEtoc@notocifnotoc -\def\etocnotocifnotoc {\Etoc@checksemptinesstrue\Etoc@notocifnotoctrue } -\newcounter{etoc@tocid} -\def\Etoc@tocext{toc} -\def\Etoc@lofext{lof} -\def\Etoc@lotext{lot} -\let\Etoc@currext\Etoc@tocext -\def\etocifislocal{\ifEtoc@localtoc\expandafter\@firstoftwo\else - \expandafter\@secondoftwo\fi - } -\def\etocifislocaltoc{\etocifislocal{\ifx\Etoc@currext\Etoc@tocext - \expandafter\@firstoftwo\else - \expandafter\@secondoftwo\fi}% - {\@secondoftwo}% - } -\def\etocifislocallof{\etocifislocal{\ifx\Etoc@currext\Etoc@lofext - \expandafter\@firstoftwo\else - \expandafter\@secondoftwo\fi}% - {\@secondoftwo}% - } -\def\etocifislocallot{\etocifislocal{\ifx\Etoc@currext\Etoc@lotext - \expandafter\@firstoftwo\else - \expandafter\@secondoftwo\fi}% - {\@secondoftwo}% - } -\expandafter\def\csname Etoc@-3@@\endcsname {-\thr@@} -\expandafter\def\csname Etoc@-2@@\endcsname {-\tw@} -\expandafter\let\csname Etoc@-1@@\endcsname \m@ne -\expandafter\let\csname Etoc@0@@\endcsname \z@ -\expandafter\let\csname Etoc@1@@\endcsname \@ne -\expandafter\let\csname Etoc@2@@\endcsname \tw@ -\expandafter\let\csname Etoc@3@@\endcsname \thr@@ -\expandafter\chardef\csname Etoc@4@@\endcsname 4 -\expandafter\chardef\csname Etoc@5@@\endcsname 5 -\expandafter\chardef\csname Etoc@6@@\endcsname 6 -\ifEtoc@deeplevels - \expandafter\chardef\csname Etoc@7@@\endcsname 7 - \expandafter\chardef\csname Etoc@8@@\endcsname 8 - \expandafter\chardef\csname Etoc@9@@\endcsname 9 - \expandafter\chardef\csname Etoc@10@@\endcsname 10 - \expandafter\chardef\csname Etoc@11@@\endcsname 11 - \expandafter\chardef\csname Etoc@12@@\endcsname 12 -\fi -\expandafter\let\expandafter\Etoc@maxlevel - \csname Etoc@\ifEtoc@deeplevels12\else6\fi @@\endcsname -\edef\etocthemaxlevel{\number\Etoc@maxlevel} -\@ifclassloaded{memoir}{\def\Etoc@minf{-\thr@@}}{\def\Etoc@minf{-\tw@}} -\let\Etoc@none@@ \Etoc@minf -\expandafter\let\expandafter\Etoc@all@@ - \csname Etoc@\ifEtoc@deeplevels11\else5\fi @@\endcsname -\let\Etoc@dolevels\@empty -\def\Etoc@newlevel #1{\expandafter\def\expandafter\Etoc@dolevels\expandafter - {\Etoc@dolevels\Etoc@do{#1}}} -\ifdefined\expanded - \def\etocsetlevel#1#2{\expanded{\noexpand\etoc@setlevel{#1}{#2}}}% -\else - \def\etocsetlevel#1#2{{\edef\Etoc@tmp{\noexpand\etoc@setlevel{#1}{#2}}\expandafter}\Etoc@tmp}% -\fi -\def\etoc@setlevel#1#2{% - \edef\Etoc@tmp{\the\numexpr#2}% - \if1\ifnum\Etoc@tmp>\Etoc@maxlevel0\fi\unless\ifnum\Etoc@minf<\Etoc@tmp;\fi1% - \ifEtoc@deeplevels - \in@{.#1,}{.none,.all,.figure,.table,.-3,.-2,.-1,.0,.1,.2,.3,.4,.5,.6,% - .7,.8,.9,.10,.11,.12,}% - \else - \in@{.#1,}{.none,.all,.figure,.table,.-3,.-2,.-1,.0,.1,.2,.3,.4,.5,.6,}% - \fi - \ifin@\else\if\@car#1\@nil @\in@true\fi\fi - \ifin@ - \PackageWarning{etoc} - {Sorry, but `#1' is forbidden as level name.\MessageBreak - \if\@car#1\@nil @% - (because of the @ as first character)\MessageBreak\fi - Reported}% - \else - \etocifunknownlevelTF{#1}{\Etoc@newlevel{#1}}{}% - \expandafter\let\csname Etoc@#1@@\expandafter\endcsname - \csname Etoc@\Etoc@tmp @@\endcsname - \expandafter\edef\csname Etoc@@#1@@\endcsname - {\expandafter\noexpand\csname Etoc@#1@@\endcsname}% - \expandafter\edef\csname toclevel@@#1\endcsname - {\expandafter\noexpand\csname toclevel@#1\endcsname}% - \fi - \else - \PackageWarning{etoc} - {Argument `\detokenize{#2}' of \string\etocsetlevel\space should - represent one of\MessageBreak - \ifnum\Etoc@minf=-\thr@@-2, \fi-1, 0, 1, 2, \ifEtoc@deeplevels ...\else3, 4\fi, - \the\numexpr\Etoc@maxlevel-1, or \number\Etoc@maxlevel\space - but evaluates to \Etoc@tmp.\MessageBreak - The level of `#1' will be set to \number\Etoc@maxlevel.\MessageBreak - Tables of contents will ignore `#1' as long\MessageBreak - as its level is \number\Etoc@maxlevel\space (=\string\etocthemaxlevel).% - \MessageBreak - Reported}% - \etocifunknownlevelTF{#1}{\Etoc@newlevel{#1}}{}% - \expandafter\let\csname Etoc@#1@@\endcsname\Etoc@maxlevel - \fi -} -\def\etoclevel#1{\csname Etoc@#1@@\endcsname} -\def\etocthelevel#1{\number\csname Etoc@#1@@\endcsname} -\def\etocifunknownlevelTF#1{\@ifundefined{Etoc@#1@@}} -\@ifclassloaded{memoir}{\etocsetlevel{book}{-2}}{} -\etocsetlevel{part}{-1} -\etocsetlevel{chapter}{0} -\etocsetlevel{section}{1} -\etocsetlevel{subsection}{2} -\etocsetlevel{subsubsection}{3} -\etocsetlevel{paragraph}{4} -\etocsetlevel{subparagraph}{5} -\ifdefined\c@chapter - \etocsetlevel{appendix}{0} -\else - \etocsetlevel{appendix}{1} -\fi -\def\Etoc@do#1{\@namedef{l@@#1}{\csname l@#1\endcsname}} -\Etoc@dolevels -\let\Etoc@figure@@\Etoc@maxlevel -\let\Etoc@table@@ \Etoc@maxlevel -\let\Etoc@gobblethreeorfour\@gobblefour -\ifdefined\@gobblethree - \let\Etoc@gobblethree\@gobblethree -\else - \long\def\Etoc@gobblethree#1#2#3{}% -\fi -\AtBeginDocument{% -\@ifpackageloaded{parskip}{\Etoc@parskiptrue}{}% -\@ifpackageloaded{hyperref} - {\Etoc@hyperreftrue} - {\ifEtoc@oldLaTeX - \let\Etoc@gobblethreeorfour\Etoc@gobblethree - \let\Etoc@etoccontentsline@fourargs\Etoc@etoccontentsline@ - \long\def\Etoc@etoccontentsline@#1#2#3{% - \Etoc@etoccontentsline@fourargs{#1}{#2}{#3}{}% - }% - \fi - }% -} -\def\etocskipfirstprefix {\global\Etoc@skipprefixtrue } -\def\Etoc@updatestackofends#1\etoc@{\gdef\Etoc@stackofends{#1}} -\def\Etoc@stackofends{{-3}{}} -\def\Etoc@doendsandbegin{% - \expandafter\Etoc@traversestackofends\Etoc@stackofends\etoc@ -} -\def\Etoc@traversestackofends#1{% - \ifnum#1>\Etoc@level - \csname Etoc@end@#1\endcsname - \expandafter\Etoc@traversestackofends - \else - \Etoc@traversestackofends@done{#1}% - \fi -} -\def\Etoc@traversestackofends@done#1#2{#2% - \ifnum#1<\Etoc@level - \csname Etoc@begin@\the\numexpr\Etoc@level\endcsname - \Etoc@global\Etoc@isfirsttrue - \edef\Etoc@tmp{{\the\numexpr\Etoc@level}}% - \else - \Etoc@global\Etoc@isfirstfalse - \let\Etoc@tmp\@empty - \fi - \expandafter\Etoc@updatestackofends\Etoc@tmp{#1}% -} -\def\Etoc@etoccontentsline #1{% - \let\Etoc@next\Etoc@gobblethreeorfour - \ifnum\csname Etoc@#1@@\endcsname=\Etoc@maxlevel - \else - \Etoc@skipthisonefalse - \global\expandafter\let\expandafter\Etoc@level\csname Etoc@#1@@\endcsname - \if @\@car#1\@nil\else\global\let\Etoc@virtualtop\Etoc@level\fi - \ifEtoc@localtoc - \ifEtoc@stoptoc - \Etoc@skipthisonetrue - \else - \ifEtoc@notactive - \Etoc@skipthisonetrue - \else - \unless\ifnum\Etoc@level>\etoclocaltop - \Etoc@skipthisonetrue - \global\Etoc@stoptoctrue - \fi - \fi - \fi - \fi - \ifEtoc@skipthisone - \else - \unless\ifnum\Etoc@level>\c@tocdepth - \ifEtoc@standardlines - \let\Etoc@next\Etoc@savedcontentsline - \else - \let\Etoc@next\Etoc@etoccontentsline@ - \fi - \fi - \fi - \fi - \Etoc@next{#1}% -} -\def\Etoc@etoccontentsline@ #1#2#3#4{% - \Etoc@doendsandbegin - \Etoc@global\edef\Etoc@prefix {\expandafter\noexpand - \csname Etoc@prefix@\the\numexpr\Etoc@level\endcsname }% - \Etoc@global\edef\Etoc@contents{\expandafter\noexpand - \csname Etoc@contents@\the\numexpr\Etoc@level\endcsname }% - \ifEtoc@skipprefix \Etoc@global\def\Etoc@prefix{\@empty}\fi - \global\Etoc@skipprefixfalse - \Etoc@lxyz{#2}{#3}{#4}% - \Etoc@prefix - \Etoc@contents -} -\def\Etoc@lxyz #1#2#3{% - \ifEtoc@hyperref - \Etoc@global\def\etocthelink##1{\hyperlink{#3}{##1}}% - \else - \Etoc@global\let\etocthelink\@firstofone - \fi - \Etoc@global\def\etocthepage {#2}% - \ifEtoc@hyperref - \ifx\etocthepage\@empty - \Etoc@global\let\etocthelinkedpage\@empty - \else - \Etoc@global\def\etocthelinkedpage{\hyperlink {#3}{#2}}% - \fi - \else - \Etoc@global\let\etocthelinkedpage\etocthepage - \fi - \Etoc@global\def\etocthename{#1}% - \futurelet\Etoc@getnb@token\Etoc@@getnb #1\hspace\etoc@ - \ifEtoc@hyperref - \def\Etoc@tmp##1##2{\Etoc@global\def##2{\hyperlink{#3}{##1}}}% - \expandafter\Etoc@tmp\expandafter{\etocthename}\etocthelinkedname - \ifEtoc@numbered - \expandafter\Etoc@tmp\expandafter{\etocthenumber}\etocthelinkednumber - \else - \Etoc@global\let\etocthelinkednumber\@empty - \fi - \else - \Etoc@global\let\etocthelinkedname \etocthename - \Etoc@global\let\etocthelinkednumber\etocthenumber - \fi - \Etoc@global\expandafter\let\csname etoclink \endcsname \etocthelink - \Etoc@global\expandafter\let\csname etocname \endcsname \etocthename - \Etoc@global\expandafter\let\csname etocnumber \endcsname\etocthenumber - \Etoc@global\expandafter\let\csname etocpage \endcsname \etocthepage - \ifEtoc@hyperref - \Etoc@lxyz@linktoc - \fi -} -\def\Etoc@lxyz@linktoc{% - \ifcase\Hy@linktoc - \or - \Etoc@global\expandafter\let\csname etocname \endcsname\etocthelinkedname - \Etoc@global\expandafter\let\csname etocnumber \endcsname\etocthelinkednumber - \or % page - \Etoc@global\expandafter\let\csname etocpage \endcsname\etocthelinkedpage - \else % all - \Etoc@global\expandafter\let\csname etocname \endcsname\etocthelinkedname - \Etoc@global\expandafter\let\csname etocnumber \endcsname\etocthelinkednumber - \Etoc@global\expandafter\let\csname etocpage \endcsname\etocthelinkedpage - \fi -} -\def\Etoc@@getnb {% - \let\Etoc@next\Etoc@getnb - \ifx\Etoc@getnb@token\@sptoken\let\Etoc@next\Etoc@getnb@nonbr\fi - \ifx\Etoc@getnb@token\bgroup \let\Etoc@next\Etoc@getnb@nonbr\fi - \Etoc@next -} -\def\Etoc@getnb #1{% - \in@{#1}{\numberline\chapternumberline\partnumberline\booknumberline}% - \ifin@ - \let\Etoc@next\Etoc@getnb@nmbrd - \else - \ifnum\Etoc@level=\m@ne - \let\Etoc@next\Etoc@@getit - \else - \let\Etoc@next\Etoc@getnb@nonbr - \fi - \in@{#1}{\nonumberline}% - \ifin@ - \let\Etoc@next\Etoc@getnb@nonumberline - \fi - \fi - \Etoc@next #1% -} -\def\Etoc@getnb@nmbrd #1#2{% - \Etoc@global\Etoc@numberedtrue - \Etoc@global\def\etocthenumber {#2}% - \Etoc@getnb@nmbrd@getname\@empty -}% -\def\Etoc@getnb@nmbrd@getname #1\hspace\etoc@ {% - \Etoc@global\expandafter\def\expandafter\etocthename\expandafter{#1}% -} -\def\Etoc@getnb@nonbr #1\etoc@ {% - \Etoc@global\Etoc@numberedfalse - \Etoc@global\let\etocthenumber \@empty -} -\def\Etoc@getnb@nonumberline #1\hspace\etoc@ {% - \Etoc@global\Etoc@numberedfalse - \Etoc@global\let\etocthenumber \@empty - \Etoc@global\expandafter\def\expandafter\etocthename\expandafter{\@gobble#1}% -} -\def\Etoc@@getit #1\hspace#2{% - \ifx\etoc@#2% - \Etoc@global\Etoc@numberedfalse - \Etoc@global\let\etocthenumber \@empty - \else - \Etoc@global\Etoc@numberedtrue - \Etoc@global\def\etocthenumber {#1}% - \expandafter\Etoc@getit@getname \expandafter\@empty - \fi -} -\def\Etoc@getit@getname #1\hspace\etoc@ {% - \Etoc@global\expandafter\def\expandafter\etocthename\expandafter{#1}% -} -\let\etocthename \@empty -\let\etocthenumber \@empty -\let\etocthepage \@empty -\let\etocthelinkedname \@empty -\let\etocthelinkednumber \@empty -\let\etocthelinkedpage \@empty -\let\etocthelink \@firstofone -\DeclareRobustCommand*{\etocname} {} -\DeclareRobustCommand*{\etocnumber}{} -\DeclareRobustCommand*{\etocpage} {} -\DeclareRobustCommand*{\etoclink} {\@firstofone} -\DeclareRobustCommand*{\etocifnumbered} - {\ifEtoc@numbered\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi} -\expandafter\let\expandafter\etocxifnumbered\csname etocifnumbered \endcsname -\DeclareRobustCommand*{\etociffirst} - {\ifEtoc@isfirst\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi} -\expandafter\let\expandafter\etocxiffirst\csname etociffirst \endcsname -\def\Etoc@readtoc {% - \ifeof \Etoc@tf - \else - \read \Etoc@tf to \Etoc@buffer - \Etoc@toctoks=\expandafter\expandafter\expandafter - {\expandafter\the\expandafter\Etoc@toctoks\Etoc@buffer}% - \expandafter\Etoc@readtoc - \fi -} -\Etoc@toctoks {}% (superfluous, but for clarity) -\AtBeginDocument{\IfFileExists{\jobname.toc} - {{\endlinechar=\m@ne - \makeatletter - \newread\Etoc@tf - \openin\Etoc@tf\@filef@und - \Etoc@readtoc - \global\Etoc@toctoks=\expandafter{\the\Etoc@toctoks}% - \closein\Etoc@tf}} - {\typeout{No file \jobname.toc.}}} -\def\Etoc@openouttoc{% - \ifEtoc@hyperref - \ifx\hyper@last\@undefined - \IfFileExists{\jobname .toc} - {\Hy@WarningNoLine - {old toc file detected; run LaTeX again (cheers from `etoc')}% - \global\Etoc@toctoks={}% - } - {}% - \fi - \fi - \if@filesw - \newwrite \tf@toc - \immediate \openout \tf@toc \jobname .toc\relax - \fi - \global\let\Etoc@openouttoc\empty -} -\def\Etoc@toctoc{% - \gdef\Etoc@stackofends{{-3}{}}% - \global\let\Etoc@level\Etoc@minf - \global\let\Etoc@virtualtop\Etoc@minf - \the\Etoc@toctoks - \ifEtoc@notactive - \else - \gdef\Etoc@level{-\thr@@}% - \Etoc@doendsandbegin - \fi -} -\def\Etoc@@startlocaltoc#1#2{% - \ifEtoc@localtoc - \ifnum #1=#2\relax - \global\let\etoclocaltop\Etoc@virtualtop - \Etoc@@startlocaltochook - \etoclocaltableofcontentshook - \ifEtoc@etocstyle - \etocetoclocaltocmaketitle - \fi - \ifx\Etoc@aftertitlehook\@empty - \else - \ifEtoc@localtoctotoc - \ifEtoc@ouroboros - \else - \let\Etoc@tmp\contentsline - \def\contentsline{\let\contentsline\Etoc@tmp\Etoc@gobblethreeorfour}% - \fi - \fi - \fi - \global\Etoc@notactivefalse - \fi - \fi -} -\let\etoc@startlocaltoc\@gobble -\let\Etoc@@startlocaltoc@toc\Etoc@@startlocaltoc -\let\Etoc@@startlocaltochook\@empty -\unless\ifEtoc@deeplevels - \def\etocdivisionnameatlevel#1{% - \ifcase\numexpr#1\relax - \ifdefined\c@chapter chapter\else section\fi% - \or section% - \or subsection% - \or subsubsection% - \or paragraph% - \or subparagraph% - \or empty% - \else\ifnum\numexpr#1<\m@ne - book% - \else - part% - \fi - \fi - } -\else - \def\etocdivisionnameatlevel#1{% - \ifcase\numexpr#1\relax - \ifdefined\c@chapter chapter\else section\fi% - \or section% - \or subsection% - \or subsubsection% - \or subsubsubsection% - \or subsubsubsubsection% - \or subsubsubsubsubsection% - \or subsubsubsubsubsubsection% - \or paragraph% - \or subparagraph% - \else\ifnum\numexpr#1>\z@ - empty% - \else\ifnum\numexpr#1=\m@ne - part% - \else - book% - \fi\fi - \fi - } -\fi -\def\etoclocalheadtotoc#1#2{\addcontentsline{toc}{@#1}{#2}} -\def\etocglobalheadtotoc{\addcontentsline{toc}} -\providecommand*\UseName{\@nameuse} -\def\etocetoclocaltocmaketitle{% - \UseName{\etocdivisionnameatlevel{\etoclocaltop+1}}*{\localcontentsname}% - \if@noskipsec\leavevmode\par\fi - \etociflocaltoctotoc - {\etocifisstarred - {}% star variant, do not add to toc - {\etoclocalheadtotoc - {\etocdivisionnameatlevel{\etoclocaltop+1}}% - {\localcontentsname}% - }% - }% - {}% -}% -\def\localcontentsname {\contentsname}% -\let\etoclocaltableofcontentshook\@empty -\if1\ifEtoc@lof0\fi\ifEtoc@lot0\fi1% -\else -\AtBeginDocument{% - \let\Etoc@originaladdcontentsline\addcontentsline - \def\addcontentsline{\Etoc@hackedaddcontentsline}% -}% -\fi -\ifEtoc@lof - \ifEtoc@lot - \def\Etoc@hackedaddcontentsline#1{% - \expanded{\noexpand\in@{.#1,}}{.lof,.lot,}% - \ifin@\expandafter\Etoc@hackedaddcontentsline@i - \else\expandafter\Etoc@originaladdcontentsline - \fi {#1}} - \else - \def\Etoc@hackedaddcontentsline#1{% - \expanded{\noexpand\in@{.#1,}}{.lof,}% - \ifin@\expandafter\Etoc@hackedaddcontentsline@i - \else\expandafter\Etoc@originaladdcontentsline - \fi {#1}} - \fi -\else - \def\Etoc@hackedaddcontentsline#1{% - \expanded{\noexpand\in@{.#1,}}{.lot,}% - \ifin@\expandafter\Etoc@hackedaddcontentsline@i - \else\expandafter\Etoc@originaladdcontentsline - \fi {#1}} -\fi -\def\Etoc@hackedaddcontentsline@i#1#2#3{% - \expanded{\noexpand\in@{.#1;#2,}}{.lof;figure,.lot;table,}% - \ifin@ - \addtocontents {toc}{% - \protect\contentsline{#2}{#3}{\thepage}{\ifEtoc@hyperref\@currentHref\fi}% - \ifdefined\protected@file@percent\protected@file@percent\fi - }% - \fi - \Etoc@originaladdcontentsline{#1}{#2}{#3}% -} -\unless\ifdefined\expanded - \def\Etoc@hackedaddcontentsline#1{% - {\edef\Etoc@tmp{\noexpand\in@{.#1,}{\ifEtoc@lof.lof,\fi\ifEtoc@lot.lot,\fi}}\expandafter}% - \Etoc@tmp - \ifin@\expandafter\Etoc@hackedaddcontentsline@i - \else\expandafter\Etoc@originaladdcontentsline - \fi {#1}% - } - \def\Etoc@hackedaddcontentsline@i#1#2#3{% - {\edef\Etoc@tmp{\noexpand\in@{.#1;#2,}}\expandafter}% - \Etoc@tmp{.lof;figure,.lot;table,}% - \ifin@ - \addtocontents {toc}{% - \protect\contentsline{#2}{#3}{\thepage}{\ifEtoc@hyperref\@currentHref\fi}% - \ifdefined\protected@file@percent\protected@file@percent\fi - }% - \fi - \Etoc@originaladdcontentsline{#1}{#2}{#3}% - } -\fi -\def\Etoc@@startlocallistof#1#2#3{% - \ifEtoc@localtoc - \ifnum #2=#3\relax - \global\let\etoclocaltop\Etoc@virtualtop - \global\Etoc@notactivefalse - \Etoc@@startlocaltochook - \csname etoclocallistof#1shook\endcsname - \ifEtoc@etocstyle - \csname etocetoclistof#1smaketitle\endcsname - \fi - \fi - \fi -} -\def\Etoc@@startlocallistof@setlevels#1{% - \ifnum\etoclocaltop<\z@ - \expandafter\let\csname Etoc@#1@@\endcsname\@ne - \else - \expandafter\let\csname Etoc@#1@@\expandafter\endcsname - \csname Etoc@\the\numexpr\etoclocaltop+\@ne @@\endcsname - \fi - \def\Etoc@do##1{% - \ifnum\etoclevel{##1}>\etoclocaltop - \expandafter\let\csname Etoc@##1@@\endcsname\Etoc@maxlevel - \fi}% - \Etoc@dolevels -} -\def\etoclocallistoffigureshook{\etocstandardlines} -\def\etoclocallistoftableshook {\etocstandardlines} -\def\locallistfigurename{\listfigurename} -\def\locallisttablename {\listtablename} -\def\etocetoclistoffiguresmaketitle{% - \UseName{\etocdivisionnameatlevel{\etoclocaltop+1}}*{\locallistfigurename}% - \ifnum\etoclocaltop>\tw@\mbox{}\par\fi - \etociflocalloftotoc - {\etocifisstarred - {}% star variant, do not add to toc - {\etoclocalheadtotoc - {\etocdivisionnameatlevel{\etoclocaltop+1}}% - {\locallistfigurename}% - }% - }% - {}% -}% -\def\etocetoclistoftablesmaketitle{% - \UseName{\etocdivisionnameatlevel{\etoclocaltop+1}}*{\locallisttablename}% - \ifnum\etoclocaltop>\tw@\mbox{}\par\fi - \etociflocallottotoc - {\etocifisstarred - {}% star variant, do not add to toc - {\etoclocalheadtotoc - {\etocdivisionnameatlevel{\etoclocaltop+1}}% - {\locallisttablename}% - }% - }% - {}% -}% -\let\Etoc@listofreset\@empty -\ifEtoc@lof - \def\locallistoffigures{% - \def\Etoc@listofreset{% - \let\Etoc@currext\Etoc@tocext - \let\Etoc@@startlocaltoc\Etoc@@startlocaltoc@toc - \let\Etoc@@startlocaltochook\@empty - \let\Etoc@listofreset\@empty - \let\Etoc@listofhook\@empty - }% - \let\Etoc@currext\Etoc@lofext - \def\Etoc@@startlocaltoc{\Etoc@@startlocallistof{figure}}% - \def\Etoc@@startlocaltochook{\Etoc@@startlocallistof@setlevels{figure}}% - \def\Etoc@listofhook{% - \def\Etoc@do####1{% - \expandafter\let\csname Etoc@@####1@@\endcsname\Etoc@maxlevel - }% - \Etoc@dolevels - }% - \localtableofcontents - } -\else - \def\locallistoffigures{% - \PackageError{etoc}{% - \string\locallistoffigures \on@line\space but\MessageBreak - package was loaded without `lof' option}% - {Try again with \string\usepackage[lof]{etoc}}% - } -\fi -\ifEtoc@lot - \def\locallistoftables{% - \def\Etoc@listofreset{% - \let\Etoc@currext\Etoc@tocext - \let\Etoc@@startlocaltoc\Etoc@@startlocaltoc@toc - \let\Etoc@@startlocaltochook\@empty - \let\Etoc@listofreset\@empty - \let\Etoc@listofhook\@empty - }% - \let\Etoc@currext\Etoc@lotext - \def\Etoc@@startlocaltoc{\Etoc@@startlocallistof{table}}% - \def\Etoc@@startlocaltochook{\Etoc@@startlocallistof@setlevels{table}}% - \def\Etoc@listofhook{% - \def\Etoc@do####1{% - \expandafter\let\csname Etoc@@####1@@\endcsname\Etoc@maxlevel - }% - \Etoc@dolevels - }% - \localtableofcontents - } -\else - \def\locallistoftables{% - \PackageError{etoc}{% - \string\locallistoftable \on@line\space but\MessageBreak - package was loaded without `lot' option}% - {Try again with \string\usepackage[lot]{etoc}}% - } -\fi -\def\Etoc@checkifempty {% - \global\Etoc@isemptytoctrue - \global\Etoc@stoptocfalse - \global\let\Etoc@level\Etoc@minf - \global\let\Etoc@virtualtop\Etoc@minf - \gdef\Etoc@stackofends{{-3}{}}% - \begingroup - \ifEtoc@localtoc - \def\etoc@startlocaltoc##1{% - \ifnum##1=\Etoc@tocid\relax - \global\let\etoclocaltop\Etoc@virtualtop - \Etoc@@startlocaltochook - \global\Etoc@notactivefalse - \fi - }% - \let\contentsline\Etoc@testingcontentslinelocal - \else - \let\contentsline\Etoc@testingcontentsline - \fi - \Etoc@storetocdepth - \let\Etoc@setlocaltop@doendsandbegin\@empty - \the\Etoc@toctoks - \Etoc@restoretocdepth - \endgroup -} -\DeclareRobustCommand*\etocifwasempty - {\ifEtoc@isemptytoc\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi } -\expandafter\let\expandafter\etocxifwasempty\csname etocifwasempty \endcsname -\def\Etoc@testingcontentslinelocal #1{% - \ifEtoc@stoptoc - \else - \ifnum\csname Etoc@#1@@\endcsname=\Etoc@maxlevel - \else - \global\expandafter\let\expandafter\Etoc@level\csname Etoc@#1@@\endcsname - \if @\@car#1\@nil\else\global\let\Etoc@virtualtop\Etoc@level\fi - \ifEtoc@notactive - \else - \ifnum\Etoc@level>\etoclocaltop - \unless\ifnum\Etoc@level>\c@tocdepth - \global\Etoc@isemptytocfalse - \global\Etoc@stoptoctrue - \fi - \else - \global\Etoc@stoptoctrue - \fi - \fi - \fi - \fi - \Etoc@gobblethreeorfour{}% -} -\def\Etoc@testingcontentsline #1{% - \ifEtoc@stoptoc - \else - \ifnum\csname Etoc@#1@@\endcsname=\Etoc@maxlevel - \else - \unless\ifnum\csname Etoc@#1@@\endcsname>\c@tocdepth - \global\Etoc@isemptytocfalse - \global\Etoc@stoptoctrue - \fi - \fi - \fi - \Etoc@gobblethreeorfour{}% -} -\def\Etoc@localtableofcontents#1{% - \gdef\etoclocaltop{-\@m}% - \Etoc@localtoctrue - \global\Etoc@isemptytocfalse - \edef\Etoc@tocid{#1}% - \ifnum\Etoc@tocid<\@ne - \setbox0\hbox{\ref{Unknown toc ref \@secondoftwo#1. \space Rerun LaTeX}}% - \global\Etoc@stoptoctrue - \gdef\etoclocaltop{-\thr@@}% - \Etoc@tableofcontents - \expandafter\Etoc@gobtoetoc@ - \fi - \global\Etoc@notactivetrue - \ifEtoc@checksemptiness - \Etoc@checkifempty - \fi - \ifEtoc@isemptytoc - \ifEtoc@notactive - \setbox0\hbox{\ref{Unknown toc ID \number\Etoc@tocid. \space Rerun LaTeX}}% - \global\Etoc@isemptytocfalse - \global\Etoc@stoptoctrue - \gdef\etoclocaltop{-\thr@@}% - \Etoc@tableofcontents - \expandafter\expandafter\expandafter\Etoc@gobtoetoc@ - \fi - \else - \global\Etoc@stoptocfalse - \global\Etoc@notactivetrue - \edef\etoc@startlocaltoc##1% - {\noexpand\Etoc@@startlocaltoc{##1}{\Etoc@tocid}}% - \Etoc@tableofcontents - \fi - \@gobble\etoc@ - \endgroup\ifEtoc@mustclosegroup\endgroup\fi - \Etoc@tocdepthreset - \Etoc@listofreset - \etocaftertochook -}% \Etoc@localtableofcontents -\def\Etoc@getref #1{% - \@ifundefined{r@#1} - {0} - {\expandafter\Etoc@getref@i\romannumeral-`0% - \expandafter\expandafter\expandafter - \@car\csname r@#1\endcsname0\@nil\@etoc - }% -} -\def\Etoc@getref@i#1#2\@etoc{\ifnum9<1\string#1 #1#2\else 0\fi} -\def\Etoc@ref#1{\Etoc@localtableofcontents{\Etoc@getref{#1}}} -\def\Etoc@label#1{\label{#1}\futurelet\Etoc@nexttoken\Etoc@t@bleofcontents} -\@firstofone{\def\Etoc@again} {\futurelet\Etoc@nexttoken\Etoc@t@bleofcontents} -\def\Etoc@dothis #1#2\etoc@ {\fi #1} -\def\Etoc@t@bleofcontents{% - \gdef\etoclocaltop{-\@M}% - \ifx\Etoc@nexttoken\label\Etoc@dothis{\expandafter\Etoc@label\@gobble}\fi - \ifx\Etoc@nexttoken\@sptoken\Etoc@dothis{\Etoc@again}\fi - \ifx\Etoc@nexttoken\ref\Etoc@dothis{\expandafter\Etoc@ref\@gobble}\fi - \ifEtoc@tocwithid\Etoc@dothis{\Etoc@localtableofcontents{\c@etoc@tocid}}\fi - \global\Etoc@isemptytocfalse - \ifEtoc@checksemptiness\Etoc@checkifempty\fi - \ifEtoc@isemptytoc - \ifEtoc@notocifnotoc - \expandafter\expandafter\expandafter\@gobble - \fi - \fi - \Etoc@tableofcontents - \endgroup - \ifEtoc@mustclosegroup\endgroup\fi - \Etoc@tocdepthreset - \Etoc@listofreset - \etocaftertochook - \@gobble\etoc@ - }% \Etoc@t@bleofcontents -\def\Etoc@table@fcontents{% - \refstepcounter{etoc@tocid}% - \Etoc@tocwithidfalse - \futurelet\Etoc@nexttoken\Etoc@t@bleofcontents -} -\def\Etoc@localtable@fcontents{% - \refstepcounter{etoc@tocid}% - \addtocontents{toc}{\string\etoc@startlocaltoc{\the\c@etoc@tocid}}% - \Etoc@tocwithidtrue - \futurelet\Etoc@nexttoken\Etoc@t@bleofcontents -} -\def\etoctableofcontents{% - \Etoc@openouttoc - \Etoc@tocdepthset - \begingroup - \@ifstar - {\let\Etoc@aftertitlehook\@empty\Etoc@table@fcontents} - {\def\Etoc@aftertitlehook{\etocaftertitlehook}\Etoc@table@fcontents}% -}% \etoctableofcontents -\def\etocifisstarred{\ifx\Etoc@aftertitlehook\@empty - \expandafter\@firstoftwo\else - \expandafter\@secondoftwo - \fi} -\let\etocoriginaltableofcontents\tableofcontents -\let\tableofcontents\etoctableofcontents -\let\Etoc@listofhook\@empty -\newcommand*\localtableofcontents{% - \Etoc@openouttoc - \Etoc@tocdepthset - \begingroup - \Etoc@listofhook - \@ifstar - {\let\Etoc@aftertitlehook\@empty\Etoc@localtable@fcontents} - {\def\Etoc@aftertitlehook{\etocaftertitlehook}\Etoc@localtable@fcontents}% -}% \localtableofcontents -\newcommand*\localtableofcontentswithrelativedepth[1]{% - \def\Etoc@@startlocaltochook{% - \global\c@tocdepth\numexpr\etoclocaltop+#1\relax - }% - \def\Etoc@listofreset{\let\Etoc@@startlocaltochook\@empty - \let\Etoc@listofreset\@empty}% - \localtableofcontents -}% \localtableofcontentswithrelativedepth -\newcommand\etocsettocstyle[2]{% - \Etoc@etocstylefalse - \Etoc@classstylefalse - \def\Etoc@tableofcontents@user@before{#1}% - \def\Etoc@tableofcontents@user@after {#2}% -}% -\def\etocstoretocstyleinto#1{% -%% \@ifdefinable#1{% - \edef#1{\noexpand\Etoc@etocstylefalse\noexpand\Etoc@classstylefalse - \def\noexpand\Etoc@tableofcontents@user@before{% - \unexpanded\expandafter{\Etoc@tableofcontents@user@before}% - }% - \def\noexpand\Etoc@tableofcontents@user@after{% - \unexpanded\expandafter{\Etoc@tableofcontents@user@after}% - }% - }% -%% }% -}% -\def\Etoc@tableofcontents {% - \Etoc@tableofcontents@etoc@before - \ifEtoc@localtoc\ifEtoc@etocstyle\expandafter\expandafter\expandafter\@gobble\fi\fi - \Etoc@tableofcontents@user@before - \Etoc@tableofcontents@contents - \ifEtoc@localtoc\ifEtoc@etocstyle\expandafter\expandafter\expandafter\@gobble\fi\fi - \Etoc@tableofcontents@user@after - \Etoc@tableofcontents@etoc@after - \@gobble\etoc@ -} -\def\Etoc@tableofcontents@etoc@before{% - \ifnum\c@tocdepth>\Etoc@minf - \else - \expandafter\Etoc@gobtoetoc@ - \fi - \Etoc@par - \Etoc@beforetitlehook - \etocbeforetitlehook - \Etoc@storetocdepth - \let\Etoc@savedcontentsline\contentsline - \let\contentsline\Etoc@etoccontentsline - \ifEtoc@standardlines - \else - \def\Etoc@do##1{% - \expandafter\def\csname etocsaved##1tocline\endcsname - {\PackageError{etoc}{% - \expandafter\string\csname etocsaved##1tocline\endcsname\space - has been deprecated\MessageBreak - at 1.1a and is removed at 1.2.\MessageBreak - Use \expandafter\string\csname l@##1\endcsname\space directly.\MessageBreak - Reported \on@line}% - {I will use \expandafter\string - \csname l@##1\endcsname\space myself for this time.% - }% - \csname l@##1\endcsname - }% - }% - \Etoc@dolevels - \fi -}% -\def\Etoc@tableofcontents@contents{% - \Etoc@tocdepthset - \ifEtoc@parskip\parskip\z@skip\fi - \Etoc@aftertitlehook - \gdef\etoclocaltop{-\thr@@}% - \Etoc@toctoc - \etocaftercontentshook -}% -\def\Etoc@tableofcontents@etoc@after{% - \@nobreakfalse - \Etoc@restoretocdepth - \ifx\Etoc@global\global - \@ifundefined{tof@finish} - {} - {\ifx\tof@finish\@empty - \else - \global\let\contentsline\Etoc@savedcontentsline - \fi - }% - \fi -} -\def\etocsetstyle#1{\ifcsname Etoc@#1@@\endcsname - \expandafter\Etoc@setstyle@a - \else - \expandafter\Etoc@setstyle@error - \fi {#1}% -} -\def\Etoc@setstyle@error #1{% - \PackageWarning{etoc}{`#1' is unknown to etoc. \space Did you\MessageBreak - forget some \string\etocsetlevel{#1}{}?\MessageBreak - Reported}% - \@gobblefour -} -\def\Etoc@setstyle@a #1{% - \edef\Etoc@tmp{\the\numexpr\csname Etoc@#1@@\endcsname}% - \if1\unless\ifnum\Etoc@tmp<\Etoc@maxlevel 0\fi - \unless\ifnum\Etoc@tmp>\Etoc@minf 0\fi1% - \Etoc@standardlinesfalse - \expandafter\Etoc@setstyle@b\expandafter\Etoc@tmp - \else - \ifnum\Etoc@tmp=\Etoc@maxlevel - \in@{.#1,}{.figure,.table,}% - \ifin@ - \PackageWarning{etoc} - {You can not use \string\etocsetstyle\space with `#1'.\MessageBreak - Check the package documentation (in particular about\MessageBreak - \string\etoclocallistoffigureshook/\string\etoclocallistoftableshook)% - \MessageBreak on how to customize - figure and table entries in local\MessageBreak lists. Reported}% - \else - \PackageInfo{etoc} - {Attempt to set the style of `#1',\MessageBreak - whose level is currently the maximal one \etocthemaxlevel,\MessageBreak - which is never displayed. \space This will be ignored\MessageBreak - but note that we do quit compatibility mode.\MessageBreak - Reported}% - \Etoc@standardlinesfalse - \fi - \else - \PackageWarning{etoc}{This should not happen. Reported}% - \fi - \expandafter\@gobblefour - \fi -} -\long\def\Etoc@setstyle@b#1#2#3#4#5{% - \expandafter\def\csname Etoc@begin@#1\endcsname {#2}% - \expandafter\def\csname Etoc@prefix@#1\endcsname {#3}% - \expandafter\def\csname Etoc@contents@#1\endcsname {#4}% - \expandafter\def\csname Etoc@end@#1\endcsname {#5}% -} -\def\Etoc@setstyle@e#1{% - \expandafter\let\csname Etoc@begin@#1\endcsname \@empty - \expandafter\let\csname Etoc@prefix@#1\endcsname \@empty - \expandafter\let\csname Etoc@contents@#1\endcsname \@empty - \expandafter\let\csname Etoc@end@#1\endcsname \@empty -} -\def\Etoc@storelines@a#1{% - \noexpand\Etoc@setstyle@b{#1}% - {\expandafter\Etoc@expandonce\csname Etoc@begin@#1\endcsname}% - {\expandafter\Etoc@expandonce\csname Etoc@prefix@#1\endcsname}% - {\expandafter\Etoc@expandonce\csname Etoc@contents@#1\endcsname}% - {\expandafter\Etoc@expandonce\csname Etoc@end@#1\endcsname}% -} -\def\Etoc@expandonce#1{\unexpanded\expandafter{#1}} -\def\etocstorelinestylesinto#1{% - \edef#1{\Etoc@storelines@a{-2}\Etoc@storelines@a{-1}\Etoc@storelines@a{0}% - \Etoc@storelines@a {1}\Etoc@storelines@a {2}\Etoc@storelines@a{3}% - \Etoc@storelines@a {4}\Etoc@storelines@a {5}% - \ifEtoc@deeplevels - \Etoc@storelines@a{6}\Etoc@storelines@a{7}\Etoc@storelines@a{8}% - \Etoc@storelines@a{9}\Etoc@storelines@a{10}\Etoc@storelines@a{11}% - \fi - }% -} -\def\etocstorethislinestyleinto#1#2{% - \edef#2{\expandafter\Etoc@storelines@a\expandafter{\number\etoclevel{#1}}}% -}% -\def\etocfontminustwo {\normalfont \LARGE \bfseries} -\def\etocfontminusone {\normalfont \large \bfseries} -\def\etocfontzero {\normalfont \large \bfseries} -\def\etocfontone {\normalfont \normalsize \bfseries} -\def\etocfonttwo {\normalfont \normalsize} -\def\etocfontthree {\normalfont \footnotesize} -\def\etocsepminustwo {4ex \@plus .5ex \@minus .5ex} -\def\etocsepminusone {4ex \@plus .5ex \@minus .5ex} -\def\etocsepzero {2.5ex \@plus .4ex \@minus .4ex} -\def\etocsepone {1.5ex \@plus .3ex \@minus .3ex} -\def\etocseptwo {.5ex \@plus .1ex \@minus .1ex} -\def\etocsepthree {.25ex \@plus .05ex \@minus .05ex} -\def\etocbaselinespreadminustwo {1} -\def\etocbaselinespreadminusone {1} -\def\etocbaselinespreadzero {1} -\def\etocbaselinespreadone {1} -\def\etocbaselinespreadtwo {1} -\def\etocbaselinespreadthree {.9} -\def\etocminustwoleftmargin {1.5em plus 0.5fil} -\def\etocminustworightmargin {1.5em plus -0.5fil} -\def\etocminusoneleftmargin {1em} -\def\etocminusonerightmargin {1em} -\def\etoctoclineleaders - {\hbox{\normalfont\normalsize\hb@xt@2ex {\hss.\hss}}} -\def\etocabbrevpagename {p.~} -\def\etocpartname {Part} -\def\etocbookname {Book} -\def\etocdefaultlines{% - \Etoc@standardlinesfalse - \etocdefaultlines@setbook - \etocdefaultlines@setpart - \etocdefaultlines@setchapter - \etocdefaultlines@setsection - \etocdefaultlines@setsubsection - \etocdefaultlines@setsubsubsection - \etocdefaultlines@setdeeperones -} -\def\etocnoprotrusion{\leavevmode\kern-\p@\kern\p@} -\@ifclassloaded{memoir}{% - \def\etocdefaultlines@setbook{% - \Etoc@setstyle@b - {-2}% - {\addpenalty\@M\etocskipfirstprefix} - {\addpenalty\@secpenalty} - {\begingroup - \etocfontminustwo - \addvspace{\etocsepminustwo}% - \parindent \z@ - \leftskip \etocminustwoleftmargin - \rightskip \etocminustworightmargin - \parfillskip \@flushglue - \vbox{\etocifnumbered{\etoclink{\etocbookname\enspace\etocthenumber:\quad}}{}% - \etocname - \baselineskip\etocbaselinespreadminustwo\baselineskip - \par}% - \addpenalty\@M\addvspace{\etocsepminusone}% - \endgroup} - {}% - } - }{\let\etocdefaultlines@setbook\@empty} -\def\etocdefaultlines@setpart{% -\Etoc@setstyle@b - {-1}% - {\addpenalty\@M\etocskipfirstprefix} - {\addpenalty\@secpenalty} - {\begingroup - \etocfontminusone - \addvspace{\etocsepminusone}% - \parindent \z@ - \leftskip \etocminusoneleftmargin - \rightskip \etocminusonerightmargin - \parfillskip \@flushglue - \vbox{\etocifnumbered{\etoclink{\etocpartname\enspace\etocthenumber.\quad}}{}% - \etocname - \baselineskip\etocbaselinespreadminusone\baselineskip - \par}% - \addpenalty\@M\addvspace{\etocsepzero}% - \endgroup} - {}% -} -\def\etocdefaultlines@setchapter{% -\Etoc@setstyle@b - {0}% - {\addpenalty\@M\etocskipfirstprefix} - {\addpenalty\@itempenalty} - {\begingroup - \etocfontzero - \addvspace{\etocsepzero}% - \parindent \z@ \parfillskip \@flushglue - \vbox{\etocifnumbered{\etocnumber.\enspace}{}\etocname - \baselineskip\etocbaselinespreadzero\baselineskip - \par}% - \endgroup} - {\addpenalty{-\@highpenalty}\addvspace{\etocsepminusone}}% -} -\def\etocdefaultlines@setsection{% -\Etoc@setstyle@b - {1}% - {\addpenalty\@M\etocskipfirstprefix} - {\addpenalty\@itempenalty} - {\begingroup - \etocfontone - \addvspace{\etocsepone}% - \parindent \z@ \parfillskip \z@ - \setbox\z@\vbox{\parfillskip\@flushglue - \etocname\par - \setbox\tw@\lastbox - \global\setbox\@ne\hbox{\unhbox\tw@\ }}% - \dimen\z@=\wd\@ne - \setbox\z@=\etoctoclineleaders - \advance\dimen\z@\wd\z@ - \etocifnumbered - {\setbox\tw@\hbox{\etocnumber, \etocabbrevpagename\etocpage\etocnoprotrusion}} - {\setbox\tw@\hbox{\etocabbrevpagename\etocpage\etocnoprotrusion}}% - \advance\dimen\z@\wd\tw@ - \ifdim\dimen\z@ < \linewidth - \vbox{\etocname~% - \leaders\box\z@\hfil\box\tw@ - \baselineskip\etocbaselinespreadone\baselineskip - \par}% - \else - \vbox{\etocname~% - \leaders\copy\z@\hfil\break - \hbox{}\leaders\box\z@\hfil\box\tw@ - \baselineskip\etocbaselinespreadone\baselineskip - \par}% - \fi - \endgroup} - {\addpenalty\@secpenalty\addvspace{\etocsepzero}}% -} -\def\etocdefaultlines@setsubsection{% -\Etoc@setstyle@b - {2}% - {\addpenalty\@medpenalty\etocskipfirstprefix} - {\addpenalty\@itempenalty} - {\begingroup - \etocfonttwo - \addvspace{\etocseptwo}% - \parindent \z@ \parfillskip \z@ - \setbox\z@\vbox{\parfillskip\@flushglue - \etocname\par\setbox\tw@\lastbox - \global\setbox\@ne\hbox{\unhbox\tw@}}% - \dimen\z@=\wd\@ne - \setbox\z@=\etoctoclineleaders - \advance\dimen\z@\wd\z@ - \etocifnumbered - {\setbox\tw@\hbox{\etocnumber, \etocabbrevpagename\etocpage\etocnoprotrusion}} - {\setbox\tw@\hbox{\etocabbrevpagename\etocpage\etocnoprotrusion}}% - \advance\dimen\z@\wd\tw@ - \ifdim\dimen\z@ < \linewidth - \vbox{\etocname~% - \leaders\box\z@\hfil\box\tw@ - \baselineskip\etocbaselinespreadtwo\baselineskip - \par}% - \else - \vbox{\etocname~% - \leaders\copy\z@\hfil\break - \hbox{}\leaders\box\z@\hfil\box\tw@ - \baselineskip\etocbaselinespreadtwo\baselineskip - \par}% - \fi - \endgroup} - {\addpenalty\@secpenalty\addvspace{\etocsepone}}% -} -\def\etocdefaultlines@setsubsubsection{% -\Etoc@setstyle@b - {3}% - {\addpenalty\@M - \etocfontthree - \vspace{\etocsepthree}% - \noindent - \etocskipfirstprefix} - {\allowbreak\,--\,} - {\etocname} - {.\hfil - \begingroup - \baselineskip\etocbaselinespreadthree\baselineskip - \par - \endgroup - \addpenalty{-\@highpenalty}} -} -\def\etocdefaultlines@setdeeperones{% -\Etoc@setstyle@e{4}% -\Etoc@setstyle@e{5}% -\ifEtoc@deeplevels - \Etoc@setstyle@e{6}% - \Etoc@setstyle@e{7}% - \Etoc@setstyle@e{8}% - \Etoc@setstyle@e{9}% - \Etoc@setstyle@e{10}% - \Etoc@setstyle@e{11}% -\fi -} -\def\etocabovetocskip{3.5ex \@plus 1ex \@minus .2ex} -\def\etocbelowtocskip{3.5ex \@plus 1ex \@minus .2ex} -\def\etoccolumnsep{2em} -\def\etocmulticolsep{0ex} -\def\etocmulticolpretolerance{-1} -\def\etocmulticoltolerance{200} -\def\etocdefaultnbcol{2} -\def\etocinnertopsep{2ex} -\newcommand\etocmulticolstyle[2][\etocdefaultnbcol]{% -\etocsettocstyle - {\let\etocoldpar\par - \addvspace{\etocabovetocskip}% - \ifnum #1>\@ne - \expandafter\@firstoftwo - \else \expandafter\@secondoftwo - \fi - {\multicolpretolerance\etocmulticolpretolerance - \multicoltolerance\etocmulticoltolerance - \setlength{\columnsep}{\etoccolumnsep}% - \setlength{\multicolsep}{\etocmulticolsep}% - \begin{multicols}{#1}[#2\etocoldpar\addvspace{\etocinnertopsep}]} - {#2\ifvmode\else\begingroup\interlinepenalty\@M\parskip\z@skip - \@@par\endgroup - \fi - \nobreak\addvspace{\etocinnertopsep}% - \pretolerance\etocmulticolpretolerance - \tolerance\etocmulticoltolerance}% - }% - {\ifnum #1>\@ne - \expandafter\@firstofone - \else \expandafter\@gobble - \fi - {\end{multicols}}% - \addvspace{\etocbelowtocskip}}% -} -\def\etocinnerbottomsep{3.5ex} -\def\etocinnerleftsep{2em} -\def\etocinnerrightsep{2em} -\def\etoctoprule{\hrule} -\def\etocleftrule{\vrule} -\def\etocrightrule{\vrule} -\def\etocbottomrule{\hrule} -\def\etoctoprulecolorcmd{\relax} -\def\etocbottomrulecolorcmd{\relax} -\def\etocleftrulecolorcmd{\relax} -\def\etocrightrulecolorcmd{\relax} -\def\etoc@ruledheading #1{% - \hb@xt@\linewidth{\color@begingroup - \hss #1\hss\hskip-\linewidth - \etoctoprulecolorcmd\leaders\etoctoprule\hss - \phantom{#1}% - \leaders\etoctoprule\hss\color@endgroup}% - \nointerlineskip\nobreak\vskip\etocinnertopsep} -\newcommand*\etocruledstyle[2][\etocdefaultnbcol]{% -\etocsettocstyle - {\addvspace{\etocabovetocskip}% - \ifnum #1>\@ne - \expandafter\@firstoftwo - \else \expandafter\@secondoftwo - \fi - {\multicolpretolerance\etocmulticolpretolerance - \multicoltolerance\etocmulticoltolerance - \setlength{\columnsep}{\etoccolumnsep}% - \setlength{\multicolsep}{\etocmulticolsep}% - \begin{multicols}{#1}[\etoc@ruledheading{#2}]} - {\etoc@ruledheading{#2}% - \pretolerance\etocmulticolpretolerance - \tolerance\etocmulticoltolerance}} - {\ifnum #1>\@ne\expandafter\@firstofone - \else \expandafter\@gobble - \fi - {\end{multicols}}% - \addvspace{\etocbelowtocskip}}} -\def\etocframedmphook{\relax} -\long\def\etocbkgcolorcmd{\relax} -\long\def\Etoc@relax{\relax} -\newbox\etoc@framed@titlebox -\newbox\etoc@framed@contentsbox -\newcommand*\etocframedstyle[2][\etocdefaultnbcol]{% -\etocsettocstyle{% - \addvspace{\etocabovetocskip}% - \sbox\z@{#2}% - \dimen\z@\dp\z@ - \ifdim\wd\z@<\linewidth \dp\z@\z@ \else \dimen\z@\z@ \fi - \setbox\etoc@framed@titlebox=\hb@xt@\linewidth{\color@begingroup - \hss - \ifx\etocbkgcolorcmd\Etoc@relax - \else - \sbox\tw@{\color{white}% - \vrule\@width\wd\z@\@height\ht\z@\@depth\dimen\z@}% - \ifdim\wd\z@<\linewidth \dp\tw@\z@\fi - \box\tw@ - \hskip-\wd\z@ - \fi - \copy\z@ - \hss - \hskip-\linewidth - \etoctoprulecolorcmd\leaders\etoctoprule\hss - \hskip\wd\z@ - \etoctoprulecolorcmd\leaders\etoctoprule\hss\color@endgroup}% - \setbox\z@\hbox{\etocleftrule\etocrightrule}% - \dimen\tw@\linewidth\advance\dimen\tw@-\wd\z@ - \advance\dimen\tw@-\etocinnerleftsep - \advance\dimen\tw@-\etocinnerrightsep - \setbox\etoc@framed@contentsbox=\vbox\bgroup - \hsize\dimen\tw@ - \kern\dimen\z@ - \vskip\etocinnertopsep - \hbox\bgroup - \begin{minipage}{\hsize}% - \etocframedmphook - \ifnum #1>\@ne - \expandafter\@firstoftwo - \else \expandafter\@secondoftwo - \fi - {\multicolpretolerance\etocmulticolpretolerance - \multicoltolerance\etocmulticoltolerance - \setlength{\columnsep}{\etoccolumnsep}% - \setlength{\multicolsep}{\etocmulticolsep}% - \begin{multicols}{#1}} - {\pretolerance\etocmulticolpretolerance - \tolerance\etocmulticoltolerance}} - {\ifnum #1>\@ne\expandafter\@firstofone - \else \expandafter\@gobble - \fi - {\end{multicols}\unskip }% - \end{minipage}% - \egroup - \vskip\etocinnerbottomsep - \egroup - \vbox{\hsize\linewidth - \ifx\etocbkgcolorcmd\Etoc@relax - \else - \kern\ht\etoc@framed@titlebox - \kern\dp\etoc@framed@titlebox - \hb@xt@\linewidth{\color@begingroup - \etocleftrulecolorcmd\etocleftrule - \etocbkgcolorcmd - \leaders\vrule - \@height\ht\etoc@framed@contentsbox - \@depth\dp\etoc@framed@contentsbox - \hss - \etocrightrulecolorcmd\etocrightrule - \color@endgroup}\nointerlineskip - \vskip-\dp\etoc@framed@contentsbox - \vskip-\ht\etoc@framed@contentsbox - \vskip-\dp\etoc@framed@titlebox - \vskip-\ht\etoc@framed@titlebox - \fi - \box\etoc@framed@titlebox\nointerlineskip - \hb@xt@\linewidth{\color@begingroup - {\etocleftrulecolorcmd\etocleftrule}% - \hss\box\etoc@framed@contentsbox\hss - \etocrightrulecolorcmd\etocrightrule\color@endgroup} - \nointerlineskip - \vskip\ht\etoc@framed@contentsbox - \vskip\dp\etoc@framed@contentsbox - \hb@xt@\linewidth{\color@begingroup\etocbottomrulecolorcmd - \leaders\etocbottomrule\hss\color@endgroup}} - \addvspace{\etocbelowtocskip}}} -\newcommand\etoc@multicoltoc[2][\etocdefaultnbcol]{% - \etocmulticolstyle[#1]{#2}% - \tableofcontents} -\newcommand\etoc@multicoltoci[2][\etocdefaultnbcol]{% - \etocmulticolstyle[#1]{#2}% - \tableofcontents*} -\newcommand\etoc@local@multicoltoc[2][\etocdefaultnbcol]{% - \etocmulticolstyle[#1]{#2}% - \localtableofcontents} -\newcommand\etoc@local@multicoltoci[2][\etocdefaultnbcol]{% - \etocmulticolstyle[#1]{#2}% - \localtableofcontents*} -\newcommand*\etoc@ruledtoc[2][\etocdefaultnbcol]{% - \etocruledstyle[#1]{#2}% - \tableofcontents} -\newcommand*\etoc@ruledtoci[2][\etocdefaultnbcol]{% - \etocruledstyle[#1]{#2}% - \tableofcontents*} -\newcommand*\etoc@local@ruledtoc[2][\etocdefaultnbcol]{% - \etocruledstyle[#1]{#2}% - \localtableofcontents} -\newcommand*\etoc@local@ruledtoci[2][\etocdefaultnbcol]{% - \etocruledstyle[#1]{#2}% - \localtableofcontents*} -\newcommand*\etoc@framedtoc[2][\etocdefaultnbcol]{% - \etocframedstyle[#1]{#2}% - \tableofcontents} -\newcommand*\etoc@framedtoci[2][\etocdefaultnbcol]{% - \etocframedstyle[#1]{#2}% - \tableofcontents*} -\newcommand*\etoc@local@framedtoc[2][\etocdefaultnbcol]{% - \etocframedstyle[#1]{#2}% - \localtableofcontents} -\newcommand*\etoc@local@framedtoci[2][\etocdefaultnbcol]{% - \etocframedstyle[#1]{#2}% - \localtableofcontents*} -\def\etocmulticol{\begingroup - \Etoc@mustclosegrouptrue - \@ifstar - {\etoc@multicoltoci} - {\etoc@multicoltoc}} -\def\etocruled{\begingroup - \Etoc@mustclosegrouptrue - \@ifstar - {\etoc@ruledtoci} - {\etoc@ruledtoc}} -\def\etocframed{\begingroup - \Etoc@mustclosegrouptrue - \@ifstar - {\etoc@framedtoci} - {\etoc@framedtoc}} -\def\etoclocalmulticol{\begingroup - \Etoc@mustclosegrouptrue - \@ifstar - {\etoc@local@multicoltoci} - {\etoc@local@multicoltoc}} -\def\etoclocalruled{\begingroup - \Etoc@mustclosegrouptrue - \@ifstar - {\etoc@local@ruledtoci} - {\etoc@local@ruledtoc}} -\def\etoclocalframed{\begingroup - \Etoc@mustclosegrouptrue - \@ifstar - {\etoc@local@framedtoci} - {\etoc@local@framedtoc}} -\def\etocmemoirtoctotocfmt #1#2{% - \PackageWarning{etoc} - {\string\etocmemoirtoctotocfmt\space is deprecated.\MessageBreak - Use in its place \string\etocsettoclineforclasstoc,\MessageBreak - and \string\etocsettoclineforclasslistof{toc} (or {lof}, {lot}). - I will do this now.\MessageBreak - Reported}% - \etocsettoclineforclasstoc{#1}{#2}% - \etocsettoclineforclasslistof{toc}{#1}{#2}% -} -\def\etocsettoclineforclasstoc #1#2{% - \def\etocclassmaintocaddtotoc{\etocglobalheadtotoc{#1}{#2}}% -} -\def\etocsettoclineforclasslistof #1#2#3{% - \@namedef{etocclasslocal#1addtotoc}{\etoclocalheadtotoc{#2}{#3}}% -} -\let\etocclasslocaltocaddtotoc\@empty -\let\etocclasslocallofaddtotoc\@empty -\let\etocclasslocallotaddtotoc\@empty -\ifdefined\c@chapter - \def\etocclasslocaltocmaketitle{\section*{\localcontentsname}} - \def\etocclasslocallofmaketitle{\section*{\locallistfigurename}} - \def\etocclasslocallotmaketitle{\section*{\locallisttablename}} - \etocsettoclineforclasstoc {chapter}{\contentsname} - \etocsettoclineforclasslistof{toc}{section}{\localcontentsname} - \etocsettoclineforclasslistof{lof}{section}{\locallistfigurename} - \etocsettoclineforclasslistof{lot}{section}{\locallisttablename} -\else - \def\etocclasslocaltocmaketitle{\subsection*{\localcontentsname}}% - \def\etocclasslocallofmaketitle{\subsection*{\locallistfigurename}}% - \def\etocclasslocallotmaketitle{\subsection*{\locallisttablename}}% - \etocsettoclineforclasstoc {section}{\contentsname} - \etocsettoclineforclasslistof{toc}{subsection}{\localcontentsname} - \etocsettoclineforclasslistof{lof}{subsection}{\locallistfigurename} - \etocsettoclineforclasslistof{lot}{subsection}{\locallisttablename} -\fi -\def\etocclasslocalperhapsaddtotoc #1{% - \etocifisstarred - {} - {\csname ifEtoc@local#1totoc\endcsname - \csname etocclasslocal#1addtotoc\endcsname - \fi - }% -} -\def\etocarticlestyle{% - \etocsettocstyle - {\ifEtoc@localtoc - \@nameuse{etocclasslocal\Etoc@currext maketitle}% - \etocclasslocalperhapsaddtotoc\Etoc@currext - \else - \section *{\contentsname - \@mkboth {\MakeUppercase \contentsname} - {\MakeUppercase \contentsname}}% - \etocifisstarred{}{\etocifmaintoctotoc{\etocclassmaintocaddtotoc}{}}% - \fi - } - {}% -} -\def\etocarticlestylenomarks{% - \etocsettocstyle - {\ifEtoc@localtoc - \@nameuse{etocclasslocal\Etoc@currext maketitle}% - \etocclasslocalperhapsaddtotoc\Etoc@currext - \else - \section *{\contentsname}% - \etocifisstarred{}{\etocifmaintoctotoc{\etocclassmaintocaddtotoc}{}}% - \fi - } - {}% -} -\def\etocbookstyle{% - \etocsettocstyle - {\if@twocolumn \@restonecoltrue \onecolumn \else \@restonecolfalse \fi - \ifEtoc@localtoc - \@nameuse{etocclasslocal\Etoc@currext maketitle}% - \etocclasslocalperhapsaddtotoc\Etoc@currext - \else - \chapter *{\contentsname - \@mkboth {\MakeUppercase \contentsname} - {\MakeUppercase \contentsname}}% - \etocifisstarred{}{\etocifmaintoctotoc{\etocclassmaintocaddtotoc}{}}% - \fi - }% - {\if@restonecol \twocolumn \fi}% -} -\def\etocbookstylenomarks{% - \etocsettocstyle - {\if@twocolumn \@restonecoltrue \onecolumn \else \@restonecolfalse \fi - \ifEtoc@localtoc - \@nameuse{etocclasslocal\Etoc@currext maketitle}% - \etocclasslocalperhapsaddtotoc\Etoc@currext - \else - \chapter *{\contentsname}% - \etocifisstarred{}{\etocifmaintoctotoc{\etocclassmaintocaddtotoc}{}}% - \fi - }% - {\if@restonecol \twocolumn \fi}% -} -\let\etocreportstyle\etocbookstyle -\let\etocreportstylenomarks\etocbookstylenomarks -\def\etocmemoirstyle{% - \etocsettocstyle - {\ensureonecol \par \begingroup \phantomsection - \ifx\Etoc@aftertitlehook\@empty - \else - \ifmem@em@starred@listof - \else - \ifEtoc@localtoc - \etocclasslocalperhapsaddtotoc\Etoc@currext - \else - \ifEtoc@maintoctotoc - \etocclassmaintocaddtotoc - \fi - \fi - \fi - \fi - \ifEtoc@localtoc - \@namedef{@\Etoc@currext maketitle}{% - \@nameuse{etocclasslocal\Etoc@currext maketitle}% - }% - \fi - \@nameuse {@\Etoc@currext maketitle} %<< space token here from memoir code - \ifx\Etoc@aftertitlehook\@empty - \else - \Etoc@aftertitlehook \let \Etoc@aftertitlehook \relax - \fi - \parskip \cftparskip \@nameuse {cft\Etoc@currext beforelisthook}% - }% - {\@nameuse {cft\Etoc@currext afterlisthook}% - \endgroup\restorefromonecol - }% -} -\let\Etoc@beforetitlehook\@empty -\if1\@ifclassloaded{scrartcl}0{\@ifclassloaded{scrbook}0{\@ifclassloaded{scrreprt}01}}% -\expandafter\@gobble -\else - \ifdefined\setuptoc - \def\Etoc@beforetitlehook{% - \ifEtoc@localtoc - \etocclasslocalperhapsaddtotoc\Etoc@currext - \setuptoc{\Etoc@currext}{leveldown}% - \else - \etocifisstarred{}{\etocifmaintoctotoc{\setuptoc{toc}{totoc}}}% - \fi - }% - \fi -\expandafter\@firstofone -\fi -{\def\etocclasslocalperhapsaddtotoc #1{% - \etocifisstarred - {}% - {\csname ifEtoc@local#1totoc\endcsname - \setuptoc{\Etoc@currext}{totoc}% - \fi - }% - }% -} -\ifdefined\Iftocfeature - \def\etoc@Iftocfeature{\Iftocfeature}% -\else - \def\etoc@Iftocfeature{\iftocfeature}% -\fi -\def\etocscrartclstyle{% - \etocsettocstyle - {\ifx\Etoc@currext\Etoc@tocext - \expandafter\@firstofone - \else - \expandafter\@gobble - \fi - {\let\if@dynlist\if@tocleft}% - \edef\@currext{\Etoc@currext}% - \@ifundefined{listof\@currext name}% - {\def\list@fname{\listofname~\@currext}}% - {\expandafter\let\expandafter\list@fname - \csname listof\@currext name\endcsname}% - \etoc@Iftocfeature {\@currext}{onecolumn} - {\etoc@Iftocfeature {\@currext}{leveldown} - {} - {\if@twocolumn \aftergroup \twocolumn \onecolumn \fi }} - {}% - \etoc@Iftocfeature {\@currext}{numberline}% - {\def \nonumberline {\numberline {}}}{}% - \expandafter\tocbasic@listhead\expandafter {\list@fname}% - \begingroup \expandafter \expandafter \expandafter - \endgroup \expandafter - \ifx - \csname microtypesetup\endcsname \relax - \else - \etoc@Iftocfeature {\@currext}{noprotrusion}{} - {\microtypesetup {protrusion=false}% - \PackageInfo {tocbasic}% - {character protrusion at \@currext\space deactivated}}% - \fi - \etoc@Iftocfeature{\@currext}{noparskipfake}{}{% - \ifvmode \@tempskipa\lastskip \vskip-\lastskip - \addtolength{\@tempskipa}{\parskip}\vskip\@tempskipa\fi - }% - \setlength {\parskip }{\z@ }% - \setlength {\parindent }{\z@ }% - \setlength {\parfillskip }{\z@ \@plus 1fil}% - \csname tocbasic@@before@hook\endcsname - \csname tb@\@currext @before@hook\endcsname - }% end of before_toc - {% start of after_toc - \providecommand\tocbasic@end@toc@file{}\tocbasic@end@toc@file - \edef\@currext{\Etoc@currext}% - \csname tb@\@currext @after@hook\endcsname - \csname tocbasic@@after@hook\endcsname - }% end of after_toc -} -\let\etocscrbookstyle\etocscrartclstyle -\let\etocscrreprtstyle\etocscrartclstyle -\def\etocclasstocstyle{\etocarticlestyle} -\newcommand*\etocmarkboth[1]{% - \@mkboth{\MakeUppercase{#1}}{\MakeUppercase{#1}}} -\newcommand*\etocmarkbothnouc[1]{\@mkboth{#1}{#1}} -\newcommand\etoctocstyle[3][section]{\etocmulticolstyle[#2]% - {\csname #1\endcsname *{#3}}} -\newcommand\etoctocstylewithmarks[4][section]{\etocmulticolstyle[#2]% - {\csname #1\endcsname *{#3\etocmarkboth{#4}}}} -\newcommand\etoctocstylewithmarksnouc[4][section]{\etocmulticolstyle[#2]% - {\csname #1\endcsname *{#3\etocmarkbothnouc{#4}}}} -\def\Etoc@redefetocstylesforchapters{% - \renewcommand\etoctocstylewithmarks[4][chapter]{% - \etocmulticolstyle[##2]{\csname ##1\endcsname *{##3\etocmarkboth{##4}}}% - } - \renewcommand\etoctocstylewithmarksnouc[4][chapter]{% - \etocmulticolstyle[##2]{\csname ##1\endcsname *{##3\etocmarkbothnouc{##4}}}% - } - \renewcommand\etoctocstyle[3][chapter]{% - \etocmulticolstyle[##2]{\csname ##1\endcsname *{##3}} - } -} -\@ifclassloaded{scrartcl} - {\renewcommand*\etocclasstocstyle{\etocscrartclstyle}}{} -\@ifclassloaded{book} - {\renewcommand*\etocfontone{\normalfont\normalsize} - \renewcommand*\etocclasstocstyle{\etocbookstyle} - \Etoc@redefetocstylesforchapters}{} -\@ifclassloaded{report} - {\renewcommand*\etocfontone{\normalfont\normalsize} - \renewcommand*\etocclasstocstyle{\etocreportstyle} - \Etoc@redefetocstylesforchapters}{} -\@ifclassloaded{scrbook} - {\renewcommand*\etocfontone{\normalfont\normalsize} - \renewcommand*\etocclasstocstyle{\etocscrbookstyle} - \Etoc@redefetocstylesforchapters}{} -\@ifclassloaded{scrreprt} - {\renewcommand*\etocfontone{\normalfont\normalsize} - \renewcommand*\etocclasstocstyle{\etocscrreprtstyle} - \Etoc@redefetocstylesforchapters}{} -\@ifclassloaded{memoir} - {\renewcommand*\etocfontone{\normalfont\normalsize} - \renewcommand*\etocclasstocstyle{\etocmemoirstyle} - \Etoc@redefetocstylesforchapters}{} -\def\etoctocloftstyle {% - \etocsettocstyle{% - \@cfttocstart - \par - \begingroup - \parindent\z@ \parskip\cftparskip - \@nameuse{@cftmake\Etoc@currext title}% - \ifEtoc@localtoc - \etoctocloftlocalperhapsaddtotoc\Etoc@currext - \else - \etocifisstarred {}{\ifEtoc@maintoctotoc\@cftdobibtoc\fi}% - \fi - }% - {% - \endgroup - \@cfttocfinish - }% -} -\def\etoctocloftlocalperhapsaddtotoc#1{% - \etocifisstarred - {}% - {\csname ifEtoc@local#1totoc\endcsname - \ifdefined\c@chapter\def\@tocextra{@section}\else\def\@tocextra{@subsection}\fi - \csname @cftdobib#1\endcsname - \fi - }% -} -\def\etoctocbibindstyle {% - \etocsettocstyle {% - \toc@start - \ifEtoc@localtoc - \@nameuse{etocclasslocal\Etoc@currext maketitle}% - \etocclasslocalperhapsaddtotoc\Etoc@currext - \else - \etoc@tocbibind@dotoctitle - \fi - }% - {\toc@finish}% -} -\def\etoc@tocbibind@dotoctitle {% - \if@bibchapter - \etocifisstarred - {\chapter*{\contentsname}\prw@mkboth{\contentsname} % id. - }% - {\ifEtoc@maintoctotoc - \toc@chapter{\contentsname} %<-space from original - \else - \chapter*{\contentsname}\prw@mkboth{\contentsname} % id. - \fi - }% - \else - \etocifisstarred - {\@nameuse{\@tocextra}*{\contentsname\prw@mkboth{\contentsname}} %<-space - } - {\ifEtoc@maintoctotoc - \toc@section{\@tocextra}{\contentsname} %<-space from original - \else - \@nameuse{\@tocextra}*{\contentsname\prw@mkboth{\contentsname}} % id. - \fi - }% - \fi -}% -\@ifclassloaded{memoir} -{} -{% memoir not loaded - \@ifpackageloaded{tocloft} - {\if@cftnctoc\else - \ifEtoc@keeporiginaltoc - \else - \AtBeginDocument{\let\tableofcontents\etoctableofcontents}% - \fi - \fi } - {\AtBeginDocument - {\@ifpackageloaded{tocloft} - {\if@cftnctoc\else - \PackageWarningNoLine {etoc} - {Package `tocloft' was loaded after `etoc'.\MessageBreak - To prevent it from overwriting \protect\tableofcontents, it will\MessageBreak - be tricked into believing to have been loaded with its\MessageBreak - option `titles'. \space But this will cause the `tocloft'\MessageBreak - customization of the titles of the main list of figures\MessageBreak - and list of tables to not apply either.\MessageBreak - You should load `tocloft' before `etoc'.}% - \AtEndDocument{\PackageWarning{etoc} - {Please load `tocloft' before `etoc'!\@gobbletwo}}% - \fi - \@cftnctoctrue }% - {}% - }% - }% -} -\@ifclassloaded{memoir} -{} -{% memoir not loaded - \AtBeginDocument{% - \@ifpackageloaded{tocloft} - {% - \def\etocclasstocstyle{% - \etoctocloftstyle - \Etoc@classstyletrue - }% - \ifEtoc@etocstyle - \ifEtoc@classstyle - \etocclasstocstyle - \Etoc@etocstyletrue - \fi - \else - \ifEtoc@classstyle - \etocclasstocstyle - \fi - \fi - }% - {% no tocloft - \@ifpackageloaded {tocbibind} - {\if@dotoctoc - \def\etocclasstocstyle{% - \etoctocbibindstyle - \Etoc@classstyletrue - }% - \ifEtoc@etocstyle - \ifEtoc@classstyle - \etocclasstocstyle - \Etoc@etocstyletrue - \fi - \else - \ifEtoc@classstyle - \etocclasstocstyle - \fi - \fi - \ifEtoc@keeporiginaltoc - \else - \let\tableofcontents\etoctableofcontents - \fi - }% - {}% - }% - \@ifpackageloaded{tocbibind} - {% tocbibind, perhaps with tocloft - \if@dotoctoc - \ifEtoc@keeporiginaltoc - \else - \let\tableofcontents\etoctableofcontents - \fi - \etocsetup{maintoctotoc,localtoctotoc}% - \PackageInfo{etoc}{% - Setting (or re-setting) the options `maintoctotoc' and\MessageBreak - `localtoctotoc' to true as tocbibind was detected and\MessageBreak - found to be configured for `TOC to toc'.\MessageBreak - Reported at begin document}% - \fi - \if@dotoclof - \ifEtoc@lof - \etocsetup{localloftotoc}% - \PackageInfo{etoc}{% - Setting (or re-setting) `localloftotoc=true' as the\MessageBreak - package tocbibind was detected and is configured for\MessageBreak - `LOF to toc'. Reported at begin document}% - \fi - \fi - \if@dotoclot - \ifEtoc@lot - \etocsetup{locallottotoc}% - \PackageInfo{etoc}{% - Setting (or re-setting) `locallottotoc=true' as the\MessageBreak - package tocbibind was detected and is configured for\MessageBreak - `LOT to toc'. Reported at begin document}% - \fi - \fi - }% end of tocbibind branch - {}% - }% end of at begin document -}% end of not with memoir branch -\def\Etoc@addtocontents #1#2{% - \addtocontents {toc}{% - \protect\contentsline{#1}{#2}{\thepage}{\ifEtoc@hyperref\@currentHref\fi}% - \ifdefined\protected@file@percent\protected@file@percent\fi - }% -} -\def\Etoc@addcontentsline@ #1#2#3{% - \@namedef{toclevel@#1}{#3}\addcontentsline {toc}{#1}{#2}% -} -\DeclareRobustCommand*{\etoctoccontentsline} - {\@ifstar{\Etoc@addcontentsline@}{\Etoc@addtocontents}} -\def\Etoc@addtocontents@immediately#1#2{% - \begingroup - \let\Etoc@originalwrite\write - \def\write{\immediate\Etoc@originalwrite}% - \Etoc@addtocontents{#1}{#2}% - \endgroup -} -\def\Etoc@addcontentsline@@immediately#1#2#3{% - \begingroup - \let\Etoc@originalwrite\write - \def\write{\immediate\Etoc@originalwrite}% - \Etoc@addcontentsline@{#1}{#2}{#3}% - \endgoroup -} -\DeclareRobustCommand*{\etocimmediatetoccontentsline} - {\@ifstar{\Etoc@addcontentsline@@immediately}{\Etoc@addtocontents@immediately}} -\def\Etoc@storetocdepth {\xdef\Etoc@savedtocdepth{\number\c@tocdepth}} -\def\Etoc@restoretocdepth {\global\c@tocdepth\Etoc@savedtocdepth\relax} -\def\etocobeytoctocdepth {\def\etoc@settocdepth - {\afterassignment\Etoc@@nottoodeep \global\c@tocdepth}} -\def\Etoc@@nottoodeep {\ifnum\Etoc@savedtocdepth<\c@tocdepth - \global\c@tocdepth\Etoc@savedtocdepth\relax\fi } -\def\etocignoretoctocdepth {\let\etoc@settocdepth\@gobble } -\def\etocsettocdepth {\futurelet\Etoc@nexttoken\Etoc@set@tocdepth } -\def\Etoc@set@tocdepth {\ifx\Etoc@nexttoken\bgroup - \expandafter\Etoc@set@tocdepth@ - \else\expandafter\Etoc@set@toctocdepth - \fi } -\def\Etoc@set@tocdepth@ #1{\@ifundefined {Etoc@#1@@} - {\PackageWarning{etoc} - {Unknown sectioning unit #1, \protect\etocsettocdepth\space ignored}} - {\global\c@tocdepth\csname Etoc@#1@@\endcsname}% -} -\def\Etoc@set@toctocdepth #1#{\Etoc@set@toctocdepth@ } -\def\Etoc@set@toctocdepth@ #1{% - \@ifundefined{Etoc@#1@@}% - {\PackageWarning{etoc} - {Unknown sectioning depth #1, \protect\etocsettocdepth.toc ignored}}% - {\addtocontents {toc} - {\protect\etoc@settocdepth\expandafter\protect\csname Etoc@#1@@\endcsname}}% -} -\def\etocimmediatesettocdepth #1#{\Etoc@set@toctocdepth@immediately} -\def\Etoc@set@toctocdepth@immediately #1{% - \@ifundefined{Etoc@#1@@}% - {\PackageWarning{etoc} - {Unknown sectioning depth #1, \protect\etocimmediatesettocdepth.toc ignored}}% - {\begingroup - \let\Etoc@originalwrite\write - \def\write{\immediate\Etoc@originalwrite}% - \addtocontents {toc} - {\protect\etoc@settocdepth\expandafter\protect - \csname Etoc@#1@@\endcsname}% - \endgroup - }% -} -\def\etocdepthtag #1#{\Etoc@depthtag } -\def\Etoc@depthtag #1{\addtocontents {toc}{\protect\etoc@depthtag {#1}}} -\def\etocimmediatedepthtag #1#{\Etoc@depthtag@immediately } -\def\Etoc@depthtag@immediately #1{% - \begingroup - \let\Etoc@originalwrite\write - \def\write{\immediate\Etoc@originalwrite}% - \addtocontents {toc}{\protect\etoc@depthtag {#1}}% - \endgroup -} -\def\etocignoredepthtags {\let\etoc@depthtag \@gobble } -\def\etocobeydepthtags {\let\etoc@depthtag \Etoc@depthtag@ } -\def\Etoc@depthtag@ #1{\@ifundefined{Etoc@depthof@#1}% - {}% ignore in silence if tag has no associated depth - {\afterassignment\Etoc@@nottoodeep - \global\c@tocdepth\csname Etoc@depthof@#1\endcsname}% -} -\def\etocsettagdepth #1#2{\@ifundefined{Etoc@#2@@}% - {\PackageWarning{etoc} - {Unknown sectioning depth #2, \protect\etocsettagdepth\space ignored}}% - {\@namedef{Etoc@depthof@#1}{\@nameuse{Etoc@#2@@}}}% -} -\def\Etoc@tocvsec@err #1{\PackageError {etoc} - {The command \protect#1\space is incompatible with `etoc'} - {Use \protect\etocsettocdepth.toc as replacement}% -}% -\AtBeginDocument {% - \@ifclassloaded{memoir} - {\PackageInfo {etoc} - {Regarding `memoir' class command \protect\settocdepth, consider\MessageBreak - \protect\etocsettocdepth.toc as a drop-in replacement with more\MessageBreak - capabilities (see `etoc' manual). \space - Also, \protect\etocsettocdepth\MessageBreak - and \protect\etocsetnexttocdepth\space should be used in place of\MessageBreak - `memoir' command \protect\maxtocdepth\@gobble}% - }% - {\@ifpackageloaded {tocvsec2}{% - \def\maxtocdepth #1{\Etoc@tocvsec@err \maxtocdepth }% - \def\settocdepth #1{\Etoc@tocvsec@err \settocdepth }% - \def\resettocdepth {\@ifstar {\Etoc@tocvsec@err \resettocdepth }% - {\Etoc@tocvsec@err \resettocdepth }% - }% - \def\save@tocdepth #1#2#3{}% - \let\reset@tocdepth\relax - \let\remax@tocdepth\relax - \let\tableofcontents\etoctableofcontents - \PackageWarningNoLine {etoc} - {Package `tocvsec2' detected and its modification of\MessageBreak - \protect\tableofcontents\space reverted. \space Use - \protect\etocsettocdepth.toc\MessageBreak as a replacement - for `tocvsec2' toc-related commands}% - }% tocvsec2 loaded - {}% tocvsec2 not loaded - }% -}% -\def\invisibletableofcontents {\etocsetnexttocdepth {-3}\tableofcontents }% -\def\invisiblelocaltableofcontents - {\etocsetnexttocdepth {-3}\localtableofcontents }% -\def\etocsetnexttocdepth #1{% - \@ifundefined{Etoc@#1@@} - {\PackageWarning{etoc} - {Unknown sectioning unit #1, \protect\etocsetnextocdepth\space ignored}} - {\Etoc@setnexttocdepth{\csname Etoc@#1@@\endcsname}}% -}% -\def\Etoc@setnexttocdepth#1{% - \def\Etoc@tocdepthset{% - \Etoc@tocdepthreset - \edef\Etoc@tocdepthreset {% - \global\c@tocdepth\the\c@tocdepth\space - \global\let\noexpand\Etoc@tocdepthreset\noexpand\@empty - }% - \global\c@tocdepth#1% - \global\let\Etoc@tocdepthset\@empty - }% -}% -\let\Etoc@tocdepthreset\@empty -\let\Etoc@tocdepthset \@empty -\def\etocsetlocaltop #1#{\Etoc@set@localtop}% -\def\Etoc@set@localtop #1{% - \@ifundefined{Etoc@#1@@}% - {\PackageWarning{etoc} - {Unknown sectioning depth #1, \protect\etocsetlocaltop.toc ignored}}% - {\addtocontents {toc} - {\protect\etoc@setlocaltop\expandafter\protect\csname Etoc@#1@@\endcsname}}% -}% -\def\etocimmediatesetlocaltop #1#{\Etoc@set@localtop@immediately}% -\def\Etoc@set@localtop@immediately #1{% - \@ifundefined{Etoc@#1@@}% - {\PackageWarning{etoc} - {Unknown sectioning depth #1, \protect\etocimmediatesetlocaltop.toc ignored}}% - {\begingroup - \let\Etoc@originalwrite\write - \def\write{\immediate\Etoc@originalwrite}% - \addtocontents {toc} - {\protect\etoc@setlocaltop\expandafter\protect - \csname Etoc@#1@@\endcsname}% - \endgroup - }% -}% -\def\etoc@setlocaltop #1{% - \ifnum#1=\Etoc@maxlevel - \Etoc@skipthisonetrue - \else - \Etoc@skipthisonefalse - \global\let\Etoc@level #1% - \global\let\Etoc@virtualtop #1% - \ifEtoc@localtoc - \ifEtoc@stoptoc - \Etoc@skipthisonetrue - \else - \ifEtoc@notactive - \Etoc@skipthisonetrue - \else - \unless\ifnum\Etoc@level>\etoclocaltop - \Etoc@skipthisonetrue - \global\Etoc@stoptoctrue - \fi - \fi - \fi - \fi - \fi - \let\Etoc@next\@empty - \ifEtoc@skipthisone - \else - \ifnum\Etoc@level>\c@tocdepth - \else - \ifEtoc@standardlines - \else - \let\Etoc@next\Etoc@setlocaltop@doendsandbegin - \fi - \fi - \fi - \Etoc@next -}% -\def\Etoc@setlocaltop@doendsandbegin{% - \Etoc@doendsandbegin - \global\Etoc@skipprefixfalse -} -\addtocontents {toc}{\protect\@ifundefined{etoctocstyle}% - {\let\protect\etoc@startlocaltoc\protect\@gobble - \let\protect\etoc@settocdepth\protect\@gobble - \let\protect\etoc@depthtag\protect\@gobble - \let\protect\etoc@setlocaltop\protect\@gobble}{}}% -\def\etocstandardlines {\Etoc@standardlinestrue} -\def\etoctoclines {\Etoc@standardlinesfalse} -\etocdefaultlines -\etocstandardlines -\def\etocstandarddisplaystyle{% - \PackageWarningNoLine{etoc}{% - \string\etocstandarddisplaystyle \on@line\MessageBreak - is deprecated. \space Please use \string\etocclasstocstyle}% -} -\expandafter\def\expandafter\etocclasstocstyle\expandafter{% - \etocclasstocstyle - \Etoc@classstyletrue -} -\def\etocetoclocaltocstyle{\Etoc@etocstyletrue} -\def\etocusertocstyle{\Etoc@etocstylefalse} -\etocclasstocstyle -\etocetoclocaltocstyle -\etocobeytoctocdepth -\etocobeydepthtags -\let\etocbeforetitlehook \@empty -\let\etocaftertitlehook \@empty -\let\etocaftercontentshook \@empty -\let\etocaftertochook \@empty -\def\etockeeporiginaltableofcontents - {\Etoc@keeporiginaltoctrue\let\tableofcontents\etocoriginaltableofcontents}% -\endinput -%% -%% End of file `etoc.sty'. diff --git a/latex/files.tex b/latex/files.tex deleted file mode 100644 index 0e708b0..0000000 --- a/latex/files.tex +++ /dev/null @@ -1,17 +0,0 @@ -\doxysection{File List} -Here is a list of all files with brief descriptions\+:\begin{DoxyCompactList} -\item\contentsline{section}{include/\mbox{\hyperlink{Algo_8hh}{Algo.\+hh}} }{\pageref{Algo_8hh}}{} -\item\contentsline{section}{include/\mbox{\hyperlink{Controller_8hh}{Controller.\+hh}} }{\pageref{Controller_8hh}}{} -\item\contentsline{section}{include/\mbox{\hyperlink{Publisher_8hh}{Publisher.\+hh}} }{\pageref{Publisher_8hh}}{} -\item\contentsline{section}{include/readers/\mbox{\hyperlink{JSONReader_8hh}{JSONReader.\+hh}} }{\pageref{JSONReader_8hh}}{} -\item\contentsline{section}{include/utils/\mbox{\hyperlink{ThreadPool_8hh}{Thread\+Pool.\+hh}} }{\pageref{ThreadPool_8hh}}{} -\item\contentsline{section}{include/utils/\mbox{\hyperlink{ThreadSafeQueue_8hh}{Thread\+Safe\+Queue.\+hh}} }{\pageref{ThreadSafeQueue_8hh}}{} -\item\contentsline{section}{src/\mbox{\hyperlink{Algo_8cc}{Algo.\+cc}} }{\pageref{Algo_8cc}}{} -\item\contentsline{section}{src/\mbox{\hyperlink{Controller_8cc}{Controller.\+cc}} }{\pageref{Controller_8cc}}{} -\item\contentsline{section}{src/\mbox{\hyperlink{grpc__client_8cc}{grpc\+\_\+client.\+cc}} }{\pageref{grpc__client_8cc}}{} -\item\contentsline{section}{src/\mbox{\hyperlink{grpc__server_8cc}{grpc\+\_\+server.\+cc}} }{\pageref{grpc__server_8cc}}{} -\item\contentsline{section}{src/\mbox{\hyperlink{Publisher_8cc}{Publisher.\+cc}} }{\pageref{Publisher_8cc}}{} -\item\contentsline{section}{src/readers/\mbox{\hyperlink{JSONReader_8cc}{JSONReader.\+cc}} }{\pageref{JSONReader_8cc}}{} -\item\contentsline{section}{src/utils/\mbox{\hyperlink{ThreadPool_8cc}{Thread\+Pool.\+cc}} }{\pageref{ThreadPool_8cc}}{} -\item\contentsline{section}{src/utils/\mbox{\hyperlink{ThreadSafeQueue_8cc}{Thread\+Safe\+Queue.\+cc}} }{\pageref{ThreadSafeQueue_8cc}}{} -\end{DoxyCompactList} diff --git a/latex/grpc__client_8cc.tex b/latex/grpc__client_8cc.tex deleted file mode 100644 index 43d38f8..0000000 --- a/latex/grpc__client_8cc.tex +++ /dev/null @@ -1,17 +0,0 @@ -\doxysection{src/grpc\+\_\+client.cc File Reference} -\hypertarget{grpc__client_8cc}{}\label{grpc__client_8cc}\index{src/grpc\_client.cc@{src/grpc\_client.cc}} -{\ttfamily \#include "{}trading.\+grpc.\+pb.\+h"{}}\newline -{\ttfamily \#include $<$grpcpp/grpcpp.\+h$>$}\newline -{\ttfamily \#include $<$iostream$>$}\newline -Include dependency graph for grpc\+\_\+client.\+cc\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{grpc__client_8cc__incl} -\end{center} -\end{figure} -\doxysubsubsection*{Classes} -\begin{DoxyCompactItemize} -\item -class \mbox{\hyperlink{classTraderClient}{Trader\+Client}} -\end{DoxyCompactItemize} diff --git a/latex/grpc__client_8cc__incl.md5 b/latex/grpc__client_8cc__incl.md5 deleted file mode 100644 index d7a4811..0000000 --- a/latex/grpc__client_8cc__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -b85c69005c188465cd778153258c2bad \ No newline at end of file diff --git a/latex/grpc__client_8cc__incl.pdf b/latex/grpc__client_8cc__incl.pdf deleted file mode 100644 index a824f7d..0000000 Binary files a/latex/grpc__client_8cc__incl.pdf and /dev/null differ diff --git a/latex/grpc__server_8cc.tex b/latex/grpc__server_8cc.tex deleted file mode 100644 index f91755e..0000000 --- a/latex/grpc__server_8cc.tex +++ /dev/null @@ -1,32 +0,0 @@ -\doxysection{src/grpc\+\_\+server.cc File Reference} -\hypertarget{grpc__server_8cc}{}\label{grpc__server_8cc}\index{src/grpc\_server.cc@{src/grpc\_server.cc}} -{\ttfamily \#include "{}trading.\+grpc.\+pb.\+h"{}}\newline -{\ttfamily \#include $<$grpcpp/grpcpp.\+h$>$}\newline -{\ttfamily \#include $<$iostream$>$}\newline -{\ttfamily \#include $<$thread$>$}\newline -Include dependency graph for grpc\+\_\+server.\+cc\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{grpc__server_8cc__incl} -\end{center} -\end{figure} -\doxysubsubsection*{Classes} -\begin{DoxyCompactItemize} -\item -class \mbox{\hyperlink{classTradingServiceImpl}{Trading\+Service\+Impl}} -\end{DoxyCompactItemize} -\doxysubsubsection*{Functions} -\begin{DoxyCompactItemize} -\item -void \mbox{\hyperlink{grpc__server_8cc_afec70f4aa13559a9e64d869bb52e2b2f}{Run\+Server}} () -\end{DoxyCompactItemize} - - -\doxysubsection{Function Documentation} -\Hypertarget{grpc__server_8cc_afec70f4aa13559a9e64d869bb52e2b2f}\index{grpc\_server.cc@{grpc\_server.cc}!RunServer@{RunServer}} -\index{RunServer@{RunServer}!grpc\_server.cc@{grpc\_server.cc}} -\doxysubsubsection{\texorpdfstring{RunServer()}{RunServer()}} -{\footnotesize\ttfamily \label{grpc__server_8cc_afec70f4aa13559a9e64d869bb52e2b2f} -void Run\+Server (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})} - diff --git a/latex/grpc__server_8cc__incl.md5 b/latex/grpc__server_8cc__incl.md5 deleted file mode 100644 index bc2bf01..0000000 --- a/latex/grpc__server_8cc__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -12581eb6bbbb0e880f9ee71bf2013e1b \ No newline at end of file diff --git a/latex/grpc__server_8cc__incl.pdf b/latex/grpc__server_8cc__incl.pdf deleted file mode 100644 index d48b724..0000000 Binary files a/latex/grpc__server_8cc__incl.pdf and /dev/null differ diff --git a/latex/hierarchy.tex b/latex/hierarchy.tex deleted file mode 100644 index 83d52f1..0000000 --- a/latex/hierarchy.tex +++ /dev/null @@ -1,13 +0,0 @@ -\doxysection{Class Hierarchy} -This inheritance list is sorted roughly, but not completely, alphabetically\+:\begin{DoxyCompactList} -\item \contentsline{section}{Algo}{\pageref{classAlgo}}{} -\item \contentsline{section}{Controller}{\pageref{classController}}{} -\item \contentsline{section}{Publisher}{\pageref{classPublisher}}{} -\item Trading\+Service\+::Service\begin{DoxyCompactList} -\item \contentsline{section}{Trading\+Service\+Impl}{\pageref{classTradingServiceImpl}}{} -\end{DoxyCompactList} -\item \contentsline{section}{utils\+::Thread\+Pool}{\pageref{classutils_1_1ThreadPool}}{} -\item \contentsline{section}{utils\+::Thread\+Safe\+Queue\texorpdfstring{$<$}{<} T \texorpdfstring{$>$}{>}}{\pageref{classutils_1_1ThreadSafeQueue}}{} -\item \contentsline{section}{utils\+::Thread\+Safe\+Queue\texorpdfstring{$<$}{<} trading\+::Order \texorpdfstring{$>$}{>}}{\pageref{classutils_1_1ThreadSafeQueue}}{} -\item \contentsline{section}{Trader\+Client}{\pageref{classTraderClient}}{} -\end{DoxyCompactList} diff --git a/latex/longtable_doxygen.sty b/latex/longtable_doxygen.sty deleted file mode 100644 index 39a44b8..0000000 --- a/latex/longtable_doxygen.sty +++ /dev/null @@ -1,459 +0,0 @@ -%% -%% This is file `longtable.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% longtable.dtx (with options: `package') -%% -%% This is a generated file. -%% -%% The source is maintained by the LaTeX Project team and bug -%% reports for it can be opened at http://latex-project.org/bugs.html -%% (but please observe conditions on bug reports sent to that address!) -%% -%% Copyright 1993-2016 -%% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% -%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'. -%% -------------------------------------------------------------------------- -%% -%% It may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either version 1.3c -%% of this license or (at your option) any later version. -%% The latest version of this license is in -%% http://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX -%% version 2005/12/01 or later. -%% -%% This file may only be distributed together with a copy of the LaTeX -%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle' -%% without such generated files. -%% -%% The list of all files belonging to the LaTeX `Tools Bundle' is -%% given in the file `manifest.txt'. -%% -%% File: longtable.dtx Copyright (C) 1990-2001 David Carlisle -\NeedsTeXFormat{LaTeX2e}[1995/06/01] -\ProvidesPackage{longtable_doxygen} - [2014/10/28 v4.11 Multi-page Table package (DPC) - frozen version for doxygen] -\def\LT@err{\PackageError{longtable}} -\def\LT@warn{\PackageWarning{longtable}} -\def\LT@final@warn{% - \AtEndDocument{% - \LT@warn{Table \@width s have changed. Rerun LaTeX.\@gobbletwo}}% - \global\let\LT@final@warn\relax} -\DeclareOption{errorshow}{% - \def\LT@warn{\PackageInfo{longtable}}} -\DeclareOption{pausing}{% - \def\LT@warn#1{% - \LT@err{#1}{This is not really an error}}} -\DeclareOption{set}{} -\DeclareOption{final}{} -\ProcessOptions -\newskip\LTleft \LTleft=\fill -\newskip\LTright \LTright=\fill -\newskip\LTpre \LTpre=\bigskipamount -\newskip\LTpost \LTpost=\bigskipamount -\newcount\LTchunksize \LTchunksize=20 -\let\c@LTchunksize\LTchunksize -\newdimen\LTcapwidth \LTcapwidth=4in -\newbox\LT@head -\newbox\LT@firsthead -\newbox\LT@foot -\newbox\LT@lastfoot -\newcount\LT@cols -\newcount\LT@rows -\newcounter{LT@tables} -\newcounter{LT@chunks}[LT@tables] -\ifx\c@table\undefined - \newcounter{table} - \def\fnum@table{\tablename~\thetable} -\fi -\ifx\tablename\undefined - \def\tablename{Table} -\fi -\newtoks\LT@p@ftn -\mathchardef\LT@end@pen=30000 -\def\longtable{% - \par - \ifx\multicols\@undefined - \else - \ifnum\col@number>\@ne - \@twocolumntrue - \fi - \fi - \if@twocolumn - \LT@err{longtable not in 1-column mode}\@ehc - \fi - \begingroup - \@ifnextchar[\LT@array{\LT@array[x]}} -\def\LT@array[#1]#2{% - \refstepcounter{table}\stepcounter{LT@tables}% - \if l#1% - \LTleft\z@ \LTright\fill - \else\if r#1% - \LTleft\fill \LTright\z@ - \else\if c#1% - \LTleft\fill \LTright\fill - \fi\fi\fi - \let\LT@mcol\multicolumn - \let\LT@@tabarray\@tabarray - \let\LT@@hl\hline - \def\@tabarray{% - \let\hline\LT@@hl - \LT@@tabarray}% - \let\\\LT@tabularcr\let\tabularnewline\\% - \def\newpage{\noalign{\break}}% - \def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}% - \def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}% - \let\hline\LT@hline \let\kill\LT@kill\let\caption\LT@caption - \@tempdima\ht\strutbox - \let\@endpbox\LT@endpbox - \ifx\extrarowheight\@undefined - \let\@acol\@tabacol - \let\@classz\@tabclassz \let\@classiv\@tabclassiv - \def\@startpbox{\vtop\LT@startpbox}% - \let\@@startpbox\@startpbox - \let\@@endpbox\@endpbox - \let\LT@LL@FM@cr\@tabularcr - \else - \advance\@tempdima\extrarowheight - \col@sep\tabcolsep - \let\@startpbox\LT@startpbox\let\LT@LL@FM@cr\@arraycr - \fi - \setbox\@arstrutbox\hbox{\vrule - \@height \arraystretch \@tempdima - \@depth \arraystretch \dp \strutbox - \@width \z@}% - \let\@sharp##\let\protect\relax - \begingroup - \@mkpream{#2}% - \xdef\LT@bchunk{% - \global\advance\c@LT@chunks\@ne - \global\LT@rows\z@\setbox\z@\vbox\bgroup - \LT@setprevdepth - \tabskip\LTleft \noexpand\halign to\hsize\bgroup - \tabskip\z@ \@arstrut \@preamble \tabskip\LTright \cr}% - \endgroup - \expandafter\LT@nofcols\LT@bchunk&\LT@nofcols - \LT@make@row - \m@th\let\par\@empty - \everycr{}\lineskip\z@\baselineskip\z@ - \LT@bchunk} -\def\LT@no@pgbk#1[#2]{\penalty #1\@getpen{#2}\ifnum`{=0\fi}} -\def\LT@start{% - \let\LT@start\endgraf - \endgraf\penalty\z@\vskip\LTpre - \dimen@\pagetotal - \advance\dimen@ \ht\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi - \advance\dimen@ \dp\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi - \advance\dimen@ \ht\LT@foot - \dimen@ii\vfuzz - \vfuzz\maxdimen - \setbox\tw@\copy\z@ - \setbox\tw@\vsplit\tw@ to \ht\@arstrutbox - \setbox\tw@\vbox{\unvbox\tw@}% - \vfuzz\dimen@ii - \advance\dimen@ \ht - \ifdim\ht\@arstrutbox>\ht\tw@\@arstrutbox\else\tw@\fi - \advance\dimen@\dp - \ifdim\dp\@arstrutbox>\dp\tw@\@arstrutbox\else\tw@\fi - \advance\dimen@ -\pagegoal - \ifdim \dimen@>\z@\vfil\break\fi - \global\@colroom\@colht - \ifvoid\LT@foot\else - \global\advance\vsize-\ht\LT@foot - \global\advance\@colroom-\ht\LT@foot - \dimen@\pagegoal\advance\dimen@-\ht\LT@foot\pagegoal\dimen@ - \maxdepth\z@ - \fi - \ifvoid\LT@firsthead\copy\LT@head\else\box\LT@firsthead\fi\nobreak - \output{\LT@output}} -\def\endlongtable{% - \crcr - \noalign{% - \let\LT@entry\LT@entry@chop - \xdef\LT@save@row{\LT@save@row}}% - \LT@echunk - \LT@start - \unvbox\z@ - \LT@get@widths - \if@filesw - {\let\LT@entry\LT@entry@write\immediate\write\@auxout{% - \gdef\expandafter\noexpand - \csname LT@\romannumeral\c@LT@tables\endcsname - {\LT@save@row}}}% - \fi - \ifx\LT@save@row\LT@@save@row - \else - \LT@warn{Column \@width s have changed\MessageBreak - in table \thetable}% - \LT@final@warn - \fi - \endgraf\penalty -\LT@end@pen - \ifvoid\LT@foot\else - \global\advance\vsize\ht\LT@foot - \global\advance\@colroom\ht\LT@foot - \dimen@\pagegoal\advance\dimen@\ht\LT@foot\pagegoal\dimen@ - \fi - \endgroup - \global\@mparbottom\z@ - \endgraf\penalty\z@\addvspace\LTpost - \ifvoid\footins\else\insert\footins{}\fi} -\def\LT@nofcols#1&{% - \futurelet\@let@token\LT@n@fcols} -\def\LT@n@fcols{% - \advance\LT@cols\@ne - \ifx\@let@token\LT@nofcols - \expandafter\@gobble - \else - \expandafter\LT@nofcols - \fi} -\def\LT@tabularcr{% - \relax\iffalse{\fi\ifnum0=`}\fi - \@ifstar - {\def\crcr{\LT@crcr\noalign{\nobreak}}\let\cr\crcr - \LT@t@bularcr}% - {\LT@t@bularcr}} -\let\LT@crcr\crcr -\let\LT@setprevdepth\relax -\def\LT@t@bularcr{% - \global\advance\LT@rows\@ne - \ifnum\LT@rows=\LTchunksize - \gdef\LT@setprevdepth{% - \prevdepth\z@\global - \global\let\LT@setprevdepth\relax}% - \expandafter\LT@xtabularcr - \else - \ifnum0=`{}\fi - \expandafter\LT@LL@FM@cr - \fi} -\def\LT@xtabularcr{% - \@ifnextchar[\LT@argtabularcr\LT@ntabularcr} -\def\LT@ntabularcr{% - \ifnum0=`{}\fi - \LT@echunk - \LT@start - \unvbox\z@ - \LT@get@widths - \LT@bchunk} -\def\LT@argtabularcr[#1]{% - \ifnum0=`{}\fi - \ifdim #1>\z@ - \unskip\@xargarraycr{#1}% - \else - \@yargarraycr{#1}% - \fi - \LT@echunk - \LT@start - \unvbox\z@ - \LT@get@widths - \LT@bchunk} -\def\LT@echunk{% - \crcr\LT@save@row\cr\egroup - \global\setbox\@ne\lastbox - \unskip - \egroup} -\def\LT@entry#1#2{% - \ifhmode\@firstofone{&}\fi\omit - \ifnum#1=\c@LT@chunks - \else - \kern#2\relax - \fi} -\def\LT@entry@chop#1#2{% - \noexpand\LT@entry - {\ifnum#1>\c@LT@chunks - 1}{0pt% - \else - #1}{#2% - \fi}} -\def\LT@entry@write{% - \noexpand\LT@entry^^J% - \@spaces} -\def\LT@kill{% - \LT@echunk - \LT@get@widths - \expandafter\LT@rebox\LT@bchunk} -\def\LT@rebox#1\bgroup{% - #1\bgroup - \unvbox\z@ - \unskip - \setbox\z@\lastbox} -\def\LT@blank@row{% - \xdef\LT@save@row{\expandafter\LT@build@blank - \romannumeral\number\LT@cols 001 }} -\def\LT@build@blank#1{% - \if#1m% - \noexpand\LT@entry{1}{0pt}% - \expandafter\LT@build@blank - \fi} -\def\LT@make@row{% - \global\expandafter\let\expandafter\LT@save@row - \csname LT@\romannumeral\c@LT@tables\endcsname - \ifx\LT@save@row\relax - \LT@blank@row - \else - {\let\LT@entry\or - \if!% - \ifcase\expandafter\expandafter\expandafter\LT@cols - \expandafter\@gobble\LT@save@row - \or - \else - \relax - \fi - !% - \else - \aftergroup\LT@blank@row - \fi}% - \fi} -\let\setlongtables\relax -\def\LT@get@widths{% - \setbox\tw@\hbox{% - \unhbox\@ne - \let\LT@old@row\LT@save@row - \global\let\LT@save@row\@empty - \count@\LT@cols - \loop - \unskip - \setbox\tw@\lastbox - \ifhbox\tw@ - \LT@def@row - \advance\count@\m@ne - \repeat}% - \ifx\LT@@save@row\@undefined - \let\LT@@save@row\LT@save@row - \fi} -\def\LT@def@row{% - \let\LT@entry\or - \edef\@tempa{% - \ifcase\expandafter\count@\LT@old@row - \else - {1}{0pt}% - \fi}% - \let\LT@entry\relax - \xdef\LT@save@row{% - \LT@entry - \expandafter\LT@max@sel\@tempa - \LT@save@row}} -\def\LT@max@sel#1#2{% - {\ifdim#2=\wd\tw@ - #1% - \else - \number\c@LT@chunks - \fi}% - {\the\wd\tw@}} -\def\LT@hline{% - \noalign{\ifnum0=`}\fi - \penalty\@M - \futurelet\@let@token\LT@@hline} -\def\LT@@hline{% - \ifx\@let@token\hline - \global\let\@gtempa\@gobble - \gdef\LT@sep{\penalty-\@medpenalty\vskip\doublerulesep}% - \else - \global\let\@gtempa\@empty - \gdef\LT@sep{\penalty-\@lowpenalty\vskip-\arrayrulewidth}% - \fi - \ifnum0=`{\fi}% - \multispan\LT@cols - \unskip\leaders\hrule\@height\arrayrulewidth\hfill\cr - \noalign{\LT@sep}% - \multispan\LT@cols - \unskip\leaders\hrule\@height\arrayrulewidth\hfill\cr - \noalign{\penalty\@M}% - \@gtempa} -\def\LT@caption{% - \noalign\bgroup - \@ifnextchar[{\egroup\LT@c@ption\@firstofone}\LT@capti@n} -\def\LT@c@ption#1[#2]#3{% - \LT@makecaption#1\fnum@table{#3}% - \def\@tempa{#2}% - \ifx\@tempa\@empty\else - {\let\\\space - \addcontentsline{lot}{table}{\protect\numberline{\thetable}{#2}}}% - \fi} -\def\LT@capti@n{% - \@ifstar - {\egroup\LT@c@ption\@gobble[]}% - {\egroup\@xdblarg{\LT@c@ption\@firstofone}}} -\def\LT@makecaption#1#2#3{% - \LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\LTcapwidth{% - \sbox\@tempboxa{#1{#2: }#3}% - \ifdim\wd\@tempboxa>\hsize - #1{#2: }#3% - \else - \hbox to\hsize{\hfil\box\@tempboxa\hfil}% - \fi - \endgraf\vskip\baselineskip}% - \hss}}} -\def\LT@output{% - \ifnum\outputpenalty <-\@Mi - \ifnum\outputpenalty > -\LT@end@pen - \LT@err{floats and marginpars not allowed in a longtable}\@ehc - \else - \setbox\z@\vbox{\unvbox\@cclv}% - \ifdim \ht\LT@lastfoot>\ht\LT@foot - \dimen@\pagegoal - \advance\dimen@\ht\LT@foot - \advance\dimen@-\ht\LT@lastfoot - \ifdim\dimen@<\ht\z@ - \setbox\@cclv\vbox{\unvbox\z@\copy\LT@foot\vss}% - \@makecol - \@outputpage - \global\vsize\@colroom - \setbox\z@\vbox{\box\LT@head}% - \fi - \fi - \unvbox\z@\ifvoid\LT@lastfoot\copy\LT@foot\else\box\LT@lastfoot\fi - \fi - \else - \setbox\@cclv\vbox{\unvbox\@cclv\copy\LT@foot\vss}% - \@makecol - \@outputpage - \global\vsize\@colroom - \copy\LT@head\nobreak - \fi} -\def\LT@end@hd@ft#1{% - \LT@echunk - \ifx\LT@start\endgraf - \LT@err - {Longtable head or foot not at start of table}% - {Increase LTchunksize}% - \fi - \setbox#1\box\z@ - \LT@get@widths - \LT@bchunk} -\def\endfirsthead{\LT@end@hd@ft\LT@firsthead} -\def\endhead{\LT@end@hd@ft\LT@head} -\def\endfoot{\LT@end@hd@ft\LT@foot} -\def\endlastfoot{\LT@end@hd@ft\LT@lastfoot} -\def\LT@startpbox#1{% - \bgroup - \let\@footnotetext\LT@p@ftntext - \setlength\hsize{#1}% - \@arrayparboxrestore - \vrule \@height \ht\@arstrutbox \@width \z@} -\def\LT@endpbox{% - \@finalstrut\@arstrutbox - \egroup - \the\LT@p@ftn - \global\LT@p@ftn{}% - \hfil} -%% added \long to prevent: -% LaTeX Warning: Command \LT@p@ftntext has changed. -% -% from the original repository (https://github.com/latex3/latex2e/blob/develop/required/tools/longtable.dtx): -% \changes{v4.15}{2021/03/28} -% {make long for gh/364} -% Inside the `p' column, just save up the footnote text in a token -% register. -\long\def\LT@p@ftntext#1{% - \edef\@tempa{\the\LT@p@ftn\noexpand\footnotetext[\the\c@footnote]}% - \global\LT@p@ftn\expandafter{\@tempa{#1}}}% - -\@namedef{ver@longtable.sty}{2014/10/28 v4.11 Multi-page Table package (DPC) - frozen version for doxygen} -\endinput -%% -%% End of file `longtable.sty'. diff --git a/latex/namespacereaders.tex b/latex/namespacereaders.tex deleted file mode 100644 index bd0376c..0000000 --- a/latex/namespacereaders.tex +++ /dev/null @@ -1,7 +0,0 @@ -\doxysection{readers Namespace Reference} -\hypertarget{namespacereaders}{}\label{namespacereaders}\index{readers@{readers}} -\doxysubsubsection*{Namespaces} -\begin{DoxyCompactItemize} -\item -namespace \mbox{\hyperlink{namespacereaders_1_1json}{json}} -\end{DoxyCompactItemize} diff --git a/latex/namespacereaders_1_1json.tex b/latex/namespacereaders_1_1json.tex deleted file mode 100644 index 43e096f..0000000 --- a/latex/namespacereaders_1_1json.tex +++ /dev/null @@ -1,50 +0,0 @@ -\doxysection{readers\+::json Namespace Reference} -\hypertarget{namespacereaders_1_1json}{}\label{namespacereaders_1_1json}\index{readers::json@{readers::json}} -\doxysubsubsection*{Typedefs} -\begin{DoxyCompactItemize} -\item -using \mbox{\hyperlink{namespacereaders_1_1json_a5f54a39f5770ab1576f53a06a159cb42}{JSON}} = nlohmann\+::json -\item -using \mbox{\hyperlink{namespacereaders_1_1json_aa2743dc5b5ec05c84803e442f21f43d1}{Order\+Queue}} = std\+::queue$<$trading\+::\+Order$>$ -\end{DoxyCompactItemize} -\doxysubsubsection*{Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{namespacereaders_1_1json_aa2743dc5b5ec05c84803e442f21f43d1}{Order\+Queue}} \mbox{\hyperlink{namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209}{read\+\_\+orders\+\_\+from\+\_\+json}} (const std\+::string \&filename) -\end{DoxyCompactItemize} - - -\doxysubsection{Typedef Documentation} -\Hypertarget{namespacereaders_1_1json_a5f54a39f5770ab1576f53a06a159cb42}\index{readers::json@{readers::json}!JSON@{JSON}} -\index{JSON@{JSON}!readers::json@{readers::json}} -\doxysubsubsection{\texorpdfstring{JSON}{JSON}} -{\footnotesize\ttfamily \label{namespacereaders_1_1json_a5f54a39f5770ab1576f53a06a159cb42} -using \mbox{\hyperlink{namespacereaders_1_1json_a5f54a39f5770ab1576f53a06a159cb42}{readers\+::json\+::\+JSON}} = nlohmann\+::json} - -\Hypertarget{namespacereaders_1_1json_aa2743dc5b5ec05c84803e442f21f43d1}\index{readers::json@{readers::json}!OrderQueue@{OrderQueue}} -\index{OrderQueue@{OrderQueue}!readers::json@{readers::json}} -\doxysubsubsection{\texorpdfstring{OrderQueue}{OrderQueue}} -{\footnotesize\ttfamily \label{namespacereaders_1_1json_aa2743dc5b5ec05c84803e442f21f43d1} -using \mbox{\hyperlink{namespacereaders_1_1json_aa2743dc5b5ec05c84803e442f21f43d1}{readers\+::json\+::\+Order\+Queue}} = std\+::queue$<$trading\+::\+Order$>$} - - - -\doxysubsection{Function Documentation} -\Hypertarget{namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209}\index{readers::json@{readers::json}!read\_orders\_from\_json@{read\_orders\_from\_json}} -\index{read\_orders\_from\_json@{read\_orders\_from\_json}!readers::json@{readers::json}} -\doxysubsubsection{\texorpdfstring{read\_orders\_from\_json()}{read\_orders\_from\_json()}} -{\footnotesize\ttfamily \label{namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209} -\mbox{\hyperlink{namespacereaders_1_1json_aa2743dc5b5ec05c84803e442f21f43d1}{Order\+Queue}} readers\+::json\+::read\+\_\+orders\+\_\+from\+\_\+json (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{filename}{}\end{DoxyParamCaption})} - - - -Referenced by \mbox{\hyperlink{classAlgo_ac223b246cd2f8851c4e0893ff41547fa}{Algo\+::generate\+\_\+orders()}}, and \mbox{\hyperlink{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}{Algo\+::process()}}. - -Here is the caller graph for this function\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=346pt]{namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209_icgraph} -\end{center} -\end{figure} diff --git a/latex/namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209_icgraph.md5 b/latex/namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209_icgraph.md5 deleted file mode 100644 index 33470c2..0000000 --- a/latex/namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209_icgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -15946508db4aab6a52e29fbc1fe43a8a \ No newline at end of file diff --git a/latex/namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209_icgraph.pdf b/latex/namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209_icgraph.pdf deleted file mode 100644 index 82d1952..0000000 Binary files a/latex/namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209_icgraph.pdf and /dev/null differ diff --git a/latex/namespaces.tex b/latex/namespaces.tex deleted file mode 100644 index 3612d59..0000000 --- a/latex/namespaces.tex +++ /dev/null @@ -1,6 +0,0 @@ -\doxysection{Namespace List} -Here is a list of all namespaces with brief descriptions\+:\begin{DoxyCompactList} -\item\contentsline{section}{\mbox{\hyperlink{namespacereaders}{readers}} }{\pageref{namespacereaders}}{} -\item\contentsline{section}{\mbox{\hyperlink{namespacereaders_1_1json}{readers\+::json}} }{\pageref{namespacereaders_1_1json}}{} -\item\contentsline{section}{\mbox{\hyperlink{namespaceutils}{utils}} }{\pageref{namespaceutils}}{} -\end{DoxyCompactList} diff --git a/latex/namespaceutils.tex b/latex/namespaceutils.tex deleted file mode 100644 index c507f2f..0000000 --- a/latex/namespaceutils.tex +++ /dev/null @@ -1,9 +0,0 @@ -\doxysection{utils Namespace Reference} -\hypertarget{namespaceutils}{}\label{namespaceutils}\index{utils@{utils}} -\doxysubsubsection*{Classes} -\begin{DoxyCompactItemize} -\item -class \mbox{\hyperlink{classutils_1_1ThreadPool}{Thread\+Pool}} -\item -class \mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{Thread\+Safe\+Queue}} -\end{DoxyCompactItemize} diff --git a/latex/refman.tex b/latex/refman.tex deleted file mode 100644 index b0ec62b..0000000 --- a/latex/refman.tex +++ /dev/null @@ -1,285 +0,0 @@ - % Handle batch mode - % to overcome problems with too many open files - \let\mypdfximage\pdfximage\def\pdfximage{\immediate\mypdfximage} - \RequirePackage{iftex} - \ifLuaTeX - \directlua{pdf.setminorversion(7)} - \fi - \ifXeTeX - \special{pdf:minorversion 7} - \fi - \ifPDFTeX - \pdfminorversion=7 - \fi - % Set document class depending on configuration - \documentclass[twoside]{book} - %% moved from doxygen.sty due to workaround for LaTex 2019 version and unmaintained tabu package - \usepackage{ifthen} - \ifx\requestedLaTeXdate\undefined - \usepackage{array} - \else - \usepackage{array}[=2016-10-06] - \fi - %% - % Packages required by doxygen - \makeatletter - \providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion} - % suppress package identification of infwarerr as it contains the word "warning" - \let\@@protected@wlog\protected@wlog - \def\protected@wlog#1{\wlog{package info suppressed}} - \RequirePackage{infwarerr} - \let\protected@wlog\@@protected@wlog - \makeatother - \IfFormatAtLeastTF{2016/01/01}{}{\usepackage{fixltx2e}} % for \textsubscript - \ifPDFTeX - \IfFormatAtLeastTF{2015/01/01}{\pdfsuppresswarningpagegroup=1}{} - \fi - \usepackage{doxygen} - \usepackage{graphicx} - \iftutex - \usepackage{fontspec} - \defaultfontfeatures{Ligatures={TeX}} - \usepackage{unicode-math} - \else - \usepackage[utf8]{inputenc} - \fi - \usepackage{makeidx} - \PassOptionsToPackage{warn}{textcomp} - \usepackage{textcomp} - \usepackage[nointegrals]{wasysym} - \usepackage{ifxetex} - % NLS support packages - % Define default fonts - % Font selection - \iftutex - \else - \usepackage[T1]{fontenc} - \fi - % set main and monospaced font - \usepackage[scaled=.90]{helvet} -\usepackage{courier} -\renewcommand{\familydefault}{\sfdefault} - \doxyallsectionsfont{% - \fontseries{bc}\selectfont% - \color{darkgray}% - } - \renewcommand{\DoxyLabelFont}{% - \fontseries{bc}\selectfont% - \color{darkgray}% - } - \newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}} - % Arguments of doxygenemoji: - % 1) '::' form of the emoji, already LaTeX-escaped - % 2) file with the name of the emoji without the .png extension - % in case image exist use this otherwise use the '::' form - \newcommand{\doxygenemoji}[2]{% - \IfFileExists{./#2.png}{\raisebox{-0.1em}{\includegraphics[height=0.9em]{./#2.png}}}{#1}% - } - % Page & text layout - \usepackage{geometry} - \geometry{% - a4paper,% - top=2.5cm,% - bottom=2.5cm,% - left=2.5cm,% - right=2.5cm% - } - \usepackage{changepage} - % Allow a bit of overflow to go unnoticed by other means - \tolerance=750 - \hfuzz=15pt - \hbadness=750 - \setlength{\emergencystretch}{15pt} - \setlength{\parindent}{0cm} - \newcommand{\doxynormalparskip}{\setlength{\parskip}{3ex plus 2ex minus 2ex}} - \newcommand{\doxytocparskip}{\setlength{\parskip}{1ex plus 0ex minus 0ex}} - \doxynormalparskip - % Redefine paragraph/subparagraph environments, using sectsty fonts - \makeatletter - \renewcommand{\paragraph}{% - \@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{% - \normalfont\normalsize\bfseries\SS@parafont% - }% - } - \renewcommand{\subparagraph}{% - \@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{% - \normalfont\normalsize\bfseries\SS@subparafont% - }% - } - \makeatother - \makeatletter - \newcommand\hrulefilll{\leavevmode\leaders\hrule\hskip 0pt plus 1filll\kern\z@} - \makeatother - % Headers & footers - \usepackage{fancyhdr} - \pagestyle{fancyplain} - \renewcommand{\footrulewidth}{0.4pt} - \fancypagestyle{fancyplain}{ - \fancyhf{} - \fancyhead[LE, RO]{\bfseries\thepage} - \fancyhead[LO]{\bfseries\rightmark} - \fancyhead[RE]{\bfseries\leftmark} - \fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen } - } - \fancypagestyle{plain}{ - \fancyhf{} - \fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen } - \renewcommand{\headrulewidth}{0pt} - } - \pagestyle{fancyplain} - \renewcommand{\chaptermark}[1]{% - \markboth{#1}{}% - } - \renewcommand{\sectionmark}[1]{% - \markright{\thesection\ #1}% - } - % ToC, LoF, LoT, bibliography, and index - % Indices & bibliography - \usepackage[numbers]{natbib} - \usepackage[titles]{tocloft} - \setcounter{tocdepth}{3} - \setcounter{secnumdepth}{5} - % creating indexes - \makeindex - \ifPDFTeX -\usepackage{newunicodechar} - \makeatletter - \def\doxynewunicodechar#1#2{% - \@tempswafalse - \edef\nuc@tempa{\detokenize{#1}}% - \if\relax\nuc@tempa\relax - \nuc@emptyargerr - \else - \edef\@tempb{\expandafter\@car\nuc@tempa\@nil}% - \nuc@check - \if@tempswa - \@namedef{u8:\nuc@tempa}{#2}% - \fi - \fi - } - \makeatother - \doxynewunicodechar{⁻}{${}^{-}$}% Superscript minus - \doxynewunicodechar{²}{${}^{2}$}% Superscript two - \doxynewunicodechar{³}{${}^{3}$}% Superscript three -\fi - % Hyperlinks - % Hyperlinks (required, but should be loaded last) - \ifPDFTeX - \usepackage[pdftex,pagebackref=true]{hyperref} - \else - \ifXeTeX - \usepackage[xetex,pagebackref=true]{hyperref} - \else - \ifLuaTeX - \usepackage[luatex,pagebackref=true]{hyperref} - \else - \usepackage[ps2pdf,pagebackref=true]{hyperref} - \fi - \fi - \fi - \hypersetup{% - colorlinks=true,% - linkcolor=blue,% - citecolor=blue,% - unicode,% - pdftitle={My Project},% - pdfsubject={}% - } - % Custom commands used by the header - % Custom commands - \newcommand{\clearemptydoublepage}{% - \newpage{\pagestyle{empty}\cleardoublepage}% - } - % caption style definition - \usepackage{caption} - \captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top} - % in page table of contents - \IfFormatAtLeastTF{2023/05/01}{\usepackage[deeplevels]{etoc}}{\usepackage[deeplevels]{etoc_doxygen}} - \etocsettocstyle{\doxytocparskip}{\doxynormalparskip} - \etocsetlevel{subsubsubsection}{4} - \etocsetlevel{subsubsubsubsection}{5} - \etocsetlevel{subsubsubsubsubsection}{6} - \etocsetlevel{subsubsubsubsubsubsection}{7} - \etocsetlevel{paragraph}{8} - \etocsetlevel{subparagraph}{9} - % prevent numbers overlap the titles in toc - \renewcommand{\numberline}[1]{#1~} -% End of preamble, now comes the document contents -%===== C O N T E N T S ===== -\begin{document} - \raggedbottom - % Titlepage & ToC - % To avoid duplicate page anchors due to reuse of same numbers for - % the index (be it as roman numbers) - \hypersetup{pageanchor=false, - bookmarksnumbered=true, - pdfencoding=unicode - } - \pagenumbering{alph} - \begin{titlepage} - \vspace*{7cm} - \begin{center}% - {\Large My Project}\\ - \vspace*{1cm} - {\large Generated by Doxygen 1.13.0}\\ - \end{center} - \end{titlepage} - \clearemptydoublepage - \pagenumbering{roman} - \tableofcontents - \clearemptydoublepage - \pagenumbering{arabic} - % re-enable anchors again - \hypersetup{pageanchor=true} -%--- Begin generated contents --- -\chapter{Namespace Index} -\input{namespaces} -\chapter{Hierarchical Index} -\input{hierarchy} -\chapter{Class Index} -\input{annotated} -\chapter{File Index} -\input{files} -\chapter{Namespace Documentation} -\input{namespacereaders} -\input{namespacereaders_1_1json} -\input{namespaceutils} -\chapter{Class Documentation} -\input{classAlgo} -\input{classController} -\input{classPublisher} -\input{classutils_1_1ThreadPool} -\input{classutils_1_1ThreadSafeQueue} -\input{classTraderClient} -\input{classTradingServiceImpl} -\chapter{File Documentation} -\input{Algo_8hh} -\input{Algo_8hh_source} -\input{Controller_8hh} -\input{Controller_8hh_source} -\input{Publisher_8hh} -\input{Publisher_8hh_source} -\input{JSONReader_8hh} -\input{JSONReader_8hh_source} -\input{ThreadPool_8hh} -\input{ThreadPool_8hh_source} -\input{ThreadSafeQueue_8hh} -\input{ThreadSafeQueue_8hh_source} -\input{Algo_8cc} -\input{Controller_8cc} -\input{grpc__client_8cc} -\input{grpc__server_8cc} -\input{Publisher_8cc} -\input{JSONReader_8cc} -\input{ThreadPool_8cc} -\input{ThreadSafeQueue_8cc} -%--- End generated contents --- -% Index - \backmatter - \newpage - \phantomsection - \clearemptydoublepage - \addcontentsline{toc}{chapter}{\indexname} - \printindex -% Required for some languages (in combination with latexdocumentpre from the header) -\end{document} diff --git a/latex/tabu_doxygen.sty b/latex/tabu_doxygen.sty deleted file mode 100644 index 3f17d1d..0000000 --- a/latex/tabu_doxygen.sty +++ /dev/null @@ -1,2557 +0,0 @@ -%% -%% This is file `tabu.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% tabu.dtx (with options: `package') -%% -%% This is a generated file. -%% Copyright (FC) 2010-2011 - lppl -%% -%% tabu : 2011/02/26 v2.8 - tabu : Flexible LaTeX tabulars -%% -%% ********************************************************************************************** -%% \begin{tabu} { preamble } => default target: \linewidth or \linegoal -%% \begin{tabu} to { preamble } => target specified -%% \begin{tabu} spread { preamble } => target relative to the ``natural width'' -%% -%% tabu works in text and in math modes. -%% -%% X columns: automatic width adjustment + horizontal and vertical alignment -%% \begin{tabu} { X[4c] X[1c] X[-2ml] } -%% -%% Horizontal lines and / or leaders: -%% \hline\hline => double horizontal line -%% \firsthline\hline => for nested tabulars -%% \lasthline\hline => for nested tabulars -%% \tabucline[line spec]{column-column} => ``funny'' lines (dash/leader) -%% Automatic lines / leaders : -%% \everyrow{\hline\hline} -%% -%% Vertical lines and / or leaders: -%% \begin{tabu} { |[3pt red] X[4c] X[1c] X[-2ml] |[3pt blue] } -%% \begin{tabu} { |[3pt red] X[4c] X[1c] X[-2ml] |[3pt on 2pt off 4pt blue] } -%% -%% Fixed vertical spacing adjustment: -%% \extrarowheight= \extrarowdepth= -%% or: \extrarowsep= => may be prefixed by \global -%% -%% Dynamic vertical spacing adjustment: -%% \abovetabulinesep= \belowtabulinesep= -%% or: \tabulinesep= => may be prefixed by \global -%% -%% delarray.sty shortcuts: in math and text modes -%% \begin{tabu} .... \({ preamble }\) -%% -%% Algorithms reports: -%% \tracingtabu=1 \tracingtabu=2 -%% -%% ********************************************************************************************** -%% -%% This work may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either -%% version 1.3 of this license or (at your option) any later -%% version. The latest version of this license is in -%% http://www.latex-project.org/lppl.txt -%% -%% This work consists of the main source file tabu.dtx -%% and the derived files -%% tabu.sty, tabu.pdf, tabu.ins -%% -%% tabu : Flexible LaTeX tabulars -%% lppl copyright 2010-2011 by FC -%% - -\NeedsTeXFormat{LaTeX2e}[2005/12/01] -\ProvidesPackage{tabu_doxygen}[2011/02/26 v2.8 - flexible LaTeX tabulars (FC), frozen version for doxygen] -\RequirePackage{array}[2008/09/09] -\RequirePackage{varwidth}[2009/03/30] -\AtEndOfPackage{\tabu@AtEnd \let\tabu@AtEnd \@undefined} -\let\tabu@AtEnd\@empty -\def\TMP@EnsureCode#1={% - \edef\tabu@AtEnd{\tabu@AtEnd - \catcode#1 \the\catcode#1}% - \catcode#1=% -}% \TMP@EnsureCode -\TMP@EnsureCode 33 = 12 % ! -\TMP@EnsureCode 58 = 12 % : (for siunitx) -\TMP@EnsureCode124 = 12 % | -\TMP@EnsureCode 36 = 3 % $ = math shift -\TMP@EnsureCode 38 = 4 % & = tab alignment character -\TMP@EnsureCode 32 = 10 % space -\TMP@EnsureCode 94 = 7 % ^ -\TMP@EnsureCode 95 = 8 % _ -%% Constants -------------------------------------------------------- -\newcount \c@taburow \def\thetaburow {\number\c@taburow} -\newcount \tabu@nbcols -\newcount \tabu@cnt -\newcount \tabu@Xcol -\let\tabu@start \@tempcnta -\let\tabu@stop \@tempcntb -\newcount \tabu@alloc \tabu@alloc=\m@ne -\newcount \tabu@nested -\def\tabu@alloc@{\global\advance\tabu@alloc \@ne \tabu@nested\tabu@alloc} -\newdimen \tabu@target -\newdimen \tabu@spreadtarget -\newdimen \tabu@naturalX -\newdimen \tabucolX -\let\tabu@DELTA \@tempdimc -\let\tabu@thick \@tempdima -\let\tabu@on \@tempdimb -\let\tabu@off \@tempdimc -\newdimen \tabu@Xsum -\newdimen \extrarowdepth -\newdimen \abovetabulinesep -\newdimen \belowtabulinesep -\newdimen \tabustrutrule \tabustrutrule \z@ -\newtoks \tabu@thebody -\newtoks \tabu@footnotes -\newsavebox \tabu@box -\newsavebox \tabu@arstrutbox -\newsavebox \tabu@hleads -\newsavebox \tabu@vleads -\newif \iftabu@colortbl -\newif \iftabu@siunitx -\newif \iftabu@measuring -\newif \iftabu@spread -\newif \iftabu@negcoef -\newif \iftabu@everyrow -\def\tabu@everyrowtrue {\global\let\iftabu@everyrow \iftrue} -\def\tabu@everyrowfalse{\global\let\iftabu@everyrow \iffalse} -\newif \iftabu@long -\newif \iftabuscantokens -\def\tabu@rescan {\tabu@verbatim \scantokens } -%% Utilities (for internal usage) ----------------------------------- -\def\tabu@gobblespace #1 {#1} -\def\tabu@gobbletoken #1#2{#1} -\def\tabu@gobbleX{\futurelet\@let@token \tabu@gobblex} -\def\tabu@gobblex{\if ^^J\noexpand\@let@token \expandafter\@gobble - \else\ifx \@sptoken\@let@token - \expandafter\tabu@gobblespace\expandafter\tabu@gobbleX - \fi\fi -}% \tabu@gobblex -\def\tabu@X{^^J} -{\obeyspaces -\global\let\tabu@spxiii= % saves an active space (for \ifx) -\gdef\tabu@@spxiii{ }} -\def\tabu@ifenvir {% only for \multicolumn - \expandafter\tabu@if@nvir\csname\@currenvir\endcsname -}% \tabu@ifenvir -\def\tabu@if@nvir #1{\csname @\ifx\tabu#1first\else - \ifx\longtabu#1first\else - second\fi\fi oftwo\endcsname -}% \tabu@ifenvir -\def\tabu@modulo #1#2{\numexpr\ifnum\numexpr#1=\z@ 0\else #1-(#1-(#2-1)/2)/(#2)*(#2)\fi} -{\catcode`\&=3 -\gdef\tabu@strtrim #1{% #1 = control sequence to trim - \ifodd 1\ifx #1\@empty \else \ifx #1\space \else 0\fi \fi - \let\tabu@c@l@r \@empty \let#1\@empty - \else \expandafter \tabu@trimspaces #1\@nnil - \fi -}% \tabu@strtrim -\gdef\tabu@trimspaces #1\@nnil{\let\tabu@c@l@r=#2\tabu@firstspace .#1& }% -\gdef\tabu@firstspace #1#2#3 &{\tabu@lastspace #2#3&} -\gdef\tabu@lastspace #1{\def #3{#1}% - \ifx #3\tabu@c@l@r \def\tabu@c@l@r{\protect\color{#1}}\expandafter\remove@to@nnil \fi - \tabu@trimspaces #1\@nnil} -}% \catcode -\def\tabu@sanitizearg #1#2{{% - \csname \ifcsname if@safe@actives\endcsname % - @safe@activestrue\else - relax\fi \endcsname - \edef#2{#1}\tabu@strtrim#2\@onelevel@sanitize#2% - \expandafter}\expandafter\def\expandafter#2\expandafter{#2}% -}% \tabu@sanitizearg -\def\tabu@textbar #1{\begingroup \endlinechar\m@ne \scantokens{\def\:{|}}% - \expandafter\endgroup \expandafter#1\:% !!! semi simple group !!! -}% \tabu@textbar -\def\tabu@everyrow@bgroup{\iftabu@everyrow \begingroup \else \noalign{\ifnum0=`}\fi \fi} -\def\tabu@everyrow@egroup{% - \iftabu@everyrow \expandafter \endgroup \the\toks@ - \else \ifnum0=`{\fi}% - \fi -}% \tabu@everyrow@egroup -\def\tabu@arstrut {\global\setbox\@arstrutbox \hbox{\vrule - height \arraystretch \dimexpr\ht\strutbox+\extrarowheight - depth \arraystretch \dimexpr\dp\strutbox+\extrarowdepth - width \z@}% -}% \tabu@arstrut -\def\tabu@rearstrut {% - \@tempdima \arraystretch\dimexpr\ht\strutbox+\extrarowheight \relax - \@tempdimb \arraystretch\dimexpr\dp\strutbox+\extrarowdepth \relax - \ifodd 1\ifdim \ht\@arstrutbox=\@tempdima - \ifdim \dp\@arstrutbox=\@tempdimb 0 \fi\fi - \tabu@mkarstrut - \fi -}% \tabu@rearstrut -\def\tabu@@DBG #1{\ifdim\tabustrutrule>\z@ \color{#1}\fi} -\def\tabu@DBG@arstrut {\global\setbox\@arstrutbox - \hbox to\z@{\hbox to\z@{\hss - {\tabu@DBG{cyan}\vrule - height \arraystretch \dimexpr\ht\strutbox+\extrarowheight - depth \z@ - width \tabustrutrule}\kern-\tabustrutrule - {\tabu@DBG{pink}\vrule - height \z@ - depth \arraystretch \dimexpr\dp\strutbox+\extrarowdepth - width \tabustrutrule}}}% -}% \tabu@DBG@arstrut -\def\tabu@save@decl{\toks\count@ \expandafter{\the\toks\expandafter\count@ - \@nextchar}}% -\def\tabu@savedecl{\ifcat$\d@llarend\else - \let\save@decl \tabu@save@decl \fi % no inversion of tokens in text mode -}% \tabu@savedecl -\def\tabu@finalstrut #1{\unskip\ifhmode\nobreak\fi\vrule height\z@ depth\z@ width\z@} -\newcommand*\tabuDisableCommands {\g@addto@macro\tabu@trialh@@k } -\let\tabu@trialh@@k \@empty -\def\tabu@nowrite #1#{{\afterassignment}\toks@} -\let\tabu@write\write -\let\tabu@immediate\immediate -\def\tabu@WRITE{\begingroup - \def\immediate\write{\aftergroup\endgroup - \tabu@immediate\tabu@write}% -}% \tabu@WRITE -\expandafter\def\expandafter\tabu@GenericError\expandafter{% - \expandafter\tabu@WRITE\GenericError} -\def\tabu@warn{\tabu@WRITE\PackageWarning{tabu}} -\def\tabu@noxfootnote [#1]{\@gobble} -\def\tabu@nocolor #1#{\@gobble} -\newcommand*\tabu@norowcolor[2][]{} -\def\tabu@maybesiunitx #1{\def\tabu@temp{#1}% - \futurelet\@let@token \tabu@m@ybesiunitx} -\def\tabu@m@ybesiunitx #1{\def\tabu@m@ybesiunitx {% - \ifx #1\@let@token \let\tabu@cellleft \@empty \let\tabu@cellright \@empty \fi - \tabu@temp}% \tabu@m@ybesiunitx -}\expandafter\tabu@m@ybesiunitx \csname siunitx_table_collect_begin:Nn\endcsname -\def\tabu@celllalign@def #1{\def\tabu@celllalign{\tabu@maybesiunitx{#1}}}% -%% Fixed vertical spacing adjustment: \extrarowsep ------------------ -\newcommand*\extrarowsep{\edef\tabu@C@extra{\the\numexpr\tabu@C@extra+1}% - \iftabu@everyrow \aftergroup\tabu@Gextra - \else \aftergroup\tabu@n@Gextra - \fi - \@ifnextchar={\tabu@gobbletoken\tabu@extra} \tabu@extra -}% \extrarowsep -\def\tabu@extra {\@ifnextchar_% - {\tabu@gobbletoken{\tabu@setextra\extrarowheight \extrarowdepth}} - {\ifx ^\@let@token \def\tabu@temp{% - \tabu@gobbletoken{\tabu@setextra\extrarowdepth \extrarowheight}}% - \else \let\tabu@temp \@empty - \afterassignment \tabu@setextrasep \extrarowdepth - \fi \tabu@temp}% -}% \tabu@extra -\def\tabu@setextra #1#2{\def\tabu@temp{\tabu@extr@#1#2}\afterassignment\tabu@temp#2} -\def\tabu@extr@ #1#2{\@ifnextchar^% - {\tabu@gobbletoken{\tabu@setextra\extrarowdepth \extrarowheight}} - {\ifx _\@let@token \def\tabu@temp{% - \tabu@gobbletoken{\tabu@setextra\extrarowheight \extrarowdepth}}% - \else \let\tabu@temp \@empty - \tabu@Gsave \tabu@G@extra \tabu@C@extra \extrarowheight \extrarowdepth - \fi \tabu@temp}% -}% \tabu@extr@ -\def\tabu@setextrasep {\extrarowheight=\extrarowdepth - \tabu@Gsave \tabu@G@extra \tabu@C@extra \extrarowheight \extrarowdepth -}% \tabu@setextrasep -\def\tabu@Gextra{\ifx \tabu@G@extra\@empty \else {\tabu@Rextra}\fi} -\def\tabu@n@Gextra{\ifx \tabu@G@extra\@empty \else \noalign{\tabu@Rextra}\fi} -\def\tabu@Rextra{\tabu@Grestore \tabu@G@extra \tabu@C@extra} -\let\tabu@C@extra \z@ -\let\tabu@G@extra \@empty -%% Dynamic vertical spacing adjustment: \tabulinesep ---------------- -\newcommand*\tabulinesep{\edef\tabu@C@linesep{\the\numexpr\tabu@C@linesep+1}% - \iftabu@everyrow \aftergroup\tabu@Glinesep - \else \aftergroup\tabu@n@Glinesep - \fi - \@ifnextchar={\tabu@gobbletoken\tabu@linesep} \tabu@linesep -}% \tabulinesep -\def\tabu@linesep {\@ifnextchar_% - {\tabu@gobbletoken{\tabu@setsep\abovetabulinesep \belowtabulinesep}} - {\ifx ^\@let@token \def\tabu@temp{% - \tabu@gobbletoken{\tabu@setsep\belowtabulinesep \abovetabulinesep}}% - \else \let\tabu@temp \@empty - \afterassignment \tabu@setlinesep \abovetabulinesep - \fi \tabu@temp}% -}% \tabu@linesep -\def\tabu@setsep #1#2{\def\tabu@temp{\tabu@sets@p#1#2}\afterassignment\tabu@temp#2} -\def\tabu@sets@p #1#2{\@ifnextchar^% - {\tabu@gobbletoken{\tabu@setsep\belowtabulinesep \abovetabulinesep}} - {\ifx _\@let@token \def\tabu@temp{% - \tabu@gobbletoken{\tabu@setsep\abovetabulinesep \belowtabulinesep}}% - \else \let\tabu@temp \@empty - \tabu@Gsave \tabu@G@linesep \tabu@C@linesep \abovetabulinesep \belowtabulinesep - \fi \tabu@temp}% -}% \tabu@sets@p -\def\tabu@setlinesep {\belowtabulinesep=\abovetabulinesep - \tabu@Gsave \tabu@G@linesep \tabu@C@linesep \abovetabulinesep \belowtabulinesep -}% \tabu@setlinesep -\def\tabu@Glinesep{\ifx \tabu@G@linesep\@empty \else {\tabu@Rlinesep}\fi} -\def\tabu@n@Glinesep{\ifx \tabu@G@linesep\@empty \else \noalign{\tabu@Rlinesep}\fi} -\def\tabu@Rlinesep{\tabu@Grestore \tabu@G@linesep \tabu@C@linesep} -\let\tabu@C@linesep \z@ -\let\tabu@G@linesep \@empty -%% \global\extrarowsep and \global\tabulinesep ------------------- -\def\tabu@Gsave #1#2#3#4{\xdef#1{#1% - \toks#2{\toks\the\currentgrouplevel{\global#3\the#3\global#4\the#4}}}% -}% \tabu@Gsave -\def\tabu@Grestore#1#2{% - \toks#2{}#1\toks\currentgrouplevel\expandafter{\expandafter}\the\toks#2\relax - \ifcat$\the\toks\currentgrouplevel$\else - \global\let#1\@empty \global\let#2\z@ - \the\toks\currentgrouplevel - \fi -}% \tabu@Grestore -%% Setting code for every row --------------------------------------- -\newcommand*\everyrow{\tabu@everyrow@bgroup - \tabu@start \z@ \tabu@stop \z@ \tabu@evrstartstop -}% \everyrow -\def\tabu@evrstartstop {\@ifnextchar^% - {\afterassignment \tabu@evrstartstop \tabu@stop=}% - {\ifx ^\@let@token - \afterassignment\tabu@evrstartstop \tabu@start=% - \else \afterassignment\tabu@everyr@w \toks@ - \fi}% -}% \tabu@evrstartstop -\def\tabu@everyr@w {% - \xdef\tabu@everyrow{% - \noexpand\tabu@everyrowfalse - \let\noalign \relax - \noexpand\tabu@rowfontreset - \iftabu@colortbl \noexpand\tabu@rc@ \fi % \taburowcolors - \let\noexpand\tabu@docline \noexpand\tabu@docline@evr - \the\toks@ - \noexpand\tabu@evrh@@k - \noexpand\tabu@rearstrut - \global\advance\c@taburow \@ne}% - \iftabu@everyrow \toks@\expandafter - {\expandafter\def\expandafter\tabu@evr@L\expandafter{\the\toks@}\ignorespaces}% - \else \xdef\tabu@evr@G{\the\toks@}% - \fi - \tabu@everyrow@egroup -}% \tabu@everyr@w -\def\tabu@evr {\def\tabu@evrh@@k} % for internal use only -\tabu@evr{} -%% line style and leaders ------------------------------------------- -\newcommand*\newtabulinestyle [1]{% - {\@for \@tempa :=#1\do{\expandafter\tabu@newlinestyle \@tempa==\@nil}}% -}% \newtabulinestyle -\def\tabu@newlinestyle #1=#2=#3\@nil{\tabu@getline {#2}% - \tabu@sanitizearg {#1}\@tempa - \ifodd 1\ifx \@tempa\@empty \ifdefined\tabu@linestyle@ 0 \fi\fi - \global\expandafter\let - \csname tabu@linestyle@\@tempa \endcsname =\tabu@thestyle \fi -}% \tabu@newlinestyle -\newcommand*\tabulinestyle [1]{\tabu@everyrow@bgroup \tabu@getline{#1}% - \iftabu@everyrow - \toks@\expandafter{\expandafter \def \expandafter - \tabu@ls@L\expandafter{\tabu@thestyle}\ignorespaces}% - \gdef\tabu@ls@{\tabu@ls@L}% - \else - \global\let\tabu@ls@G \tabu@thestyle - \gdef\tabu@ls@{\tabu@ls@G}% - \fi - \tabu@everyrow@egroup -}% \tabulinestyle -\newcommand*\taburulecolor{\tabu@everyrow@bgroup \tabu@textbar \tabu@rulecolor} -\def\tabu@rulecolor #1{\toks@{}% - \def\tabu@temp #1##1#1{\tabu@ruledrsc{##1}}\@ifnextchar #1% - \tabu@temp - \tabu@rulearc -}% \tabu@rulecolor -\def\tabu@ruledrsc #1{\edef\tabu@temp{#1}\tabu@strtrim\tabu@temp - \ifx \tabu@temp\@empty \def\tabu@temp{\tabu@rule@drsc@ {}{}}% - \else \edef\tabu@temp{\noexpand\tabu@rule@drsc@ {}{\tabu@temp}}% - \fi - \tabu@temp -}% \tabu@ruledrsc@ -\def\tabu@ruledrsc@ #1#{\tabu@rule@drsc@ {#1}} -\def\tabu@rule@drsc@ #1#2{% - \iftabu@everyrow - \ifx \\#1#2\\\toks@{\let\CT@drsc@ \relax}% - \else \toks@{\def\CT@drsc@{\color #1{#2}}}% - \fi - \else - \ifx \\#1#2\\\global\let\CT@drsc@ \relax - \else \gdef\CT@drsc@{\color #1{#2}}% - \fi - \fi - \tabu@rulearc -}% \tabu@rule@drsc@ -\def\tabu@rulearc #1#{\tabu@rule@arc@ {#1}} -\def\tabu@rule@arc@ #1#2{% - \iftabu@everyrow - \ifx \\#1#2\\\toks@\expandafter{\the\toks@ \def\CT@arc@{}}% - \else \toks@\expandafter{\the\toks@ \def\CT@arc@{\color #1{#2}}}% - \fi - \toks@\expandafter{\the\toks@ - \let\tabu@arc@L \CT@arc@ - \let\tabu@drsc@L \CT@drsc@ - \ignorespaces}% - \else - \ifx \\#1#2\\\gdef\CT@arc@{}% - \else \gdef\CT@arc@{\color #1{#2}}% - \fi - \global\let\tabu@arc@G \CT@arc@ - \global\let\tabu@drsc@G \CT@drsc@ - \fi - \tabu@everyrow@egroup -}% \tabu@rule@arc@ -\def\taburowcolors {\tabu@everyrow@bgroup \@testopt \tabu@rowcolors 1} -\def\tabu@rowcolors [#1]#2#{\tabu@rowc@lors{#1}{#2}} -\def\tabu@rowc@lors #1#2#3{% - \toks@{}\@defaultunits \count@ =\number0#2\relax \@nnil - \@defaultunits \tabu@start =\number0#1\relax \@nnil - \ifnum \count@<\tw@ \count@=\tw@ \fi - \advance\tabu@start \m@ne - \ifnum \tabu@start<\z@ \tabu@start \z@ \fi - \tabu@rowcolorseries #3\in@..\in@ \@nnil -}% \tabu@rowcolors -\def\tabu@rowcolorseries #1..#2\in@ #3\@nnil {% - \ifx \in@#1\relax - \iftabu@everyrow \toks@{\def\tabu@rc@{}\let\tabu@rc@L \tabu@rc@}% - \else \gdef\tabu@rc@{}\global\let\tabu@rc@G \tabu@rc@ - \fi - \else - \ifx \\#2\\\tabu@rowcolorserieserror \fi - \tabu@sanitizearg{#1}\tabu@temp - \tabu@sanitizearg{#2}\@tempa - \advance\count@ \m@ne - \iftabu@everyrow - \def\tabu@rc@ ##1##2##3##4{\def\tabu@rc@{% - \ifnum ##2=\c@taburow - \definecolorseries{tabu@rcseries@\the\tabu@nested}{rgb}{last}{##3}{##4}\fi - \ifnum \c@taburow<##2 \else - \ifnum \tabu@modulo {\c@taburow-##2}{##1+1}=\z@ - \resetcolorseries[{##1}]{tabu@rcseries@\the\tabu@nested}\fi - \xglobal\colorlet{tabu@rc@\the\tabu@nested}{tabu@rcseries@\the\tabu@nested!!+}% - \rowcolor{tabu@rc@\the\tabu@nested}\fi}% - }\edef\x{\noexpand\tabu@rc@ {\the\count@} - {\the\tabu@start} - {\tabu@temp} - {\@tempa}% - }\x - \toks@\expandafter{\expandafter\def\expandafter\tabu@rc@\expandafter{\tabu@rc@}}% - \toks@\expandafter{\the\toks@ \let\tabu@rc@L \tabu@rc@ \ignorespaces}% - \else % inside \noalign - \definecolorseries{tabu@rcseries@\the\tabu@nested}{rgb}{last}{\tabu@temp}{\@tempa}% - \expandafter\resetcolorseries\expandafter[\the\count@]{tabu@rcseries@\the\tabu@nested}% - \xglobal\colorlet{tabu@rc@\the\tabu@nested}{tabu@rcseries@\the\tabu@nested!!+}% - \let\noalign \relax \rowcolor{tabu@rc@\the\tabu@nested}% - \def\tabu@rc@ ##1##2{\gdef\tabu@rc@{% - \ifnum \tabu@modulo {\c@taburow-##2}{##1+1}=\@ne - \resetcolorseries[{##1}]{tabu@rcseries@\the\tabu@nested}\fi - \xglobal\colorlet{tabu@rc@\the\tabu@nested}{tabu@rcseries@\the\tabu@nested!!+}% - \rowcolor{tabu@rc@\the\tabu@nested}}% - }\edef\x{\noexpand\tabu@rc@{\the\count@}{\the\c@taburow}}\x - \global\let\tabu@rc@G \tabu@rc@ - \fi - \fi - \tabu@everyrow@egroup -}% \tabu@rowcolorseries -\tabuDisableCommands {\let\tabu@rc@ \@empty } -\def\tabu@rowcolorserieserror {\PackageError{tabu} - {Invalid syntax for \string\taburowcolors - \MessageBreak Please look at the documentation!}\@ehd -}% \tabu@rowcolorserieserror -\newcommand*\tabureset {% - \tabulinesep=\z@ \extrarowsep=\z@ \extratabsurround=\z@ - \tabulinestyle{}\everyrow{}\taburulecolor||{}\taburowcolors{}% -}% \tabureset -%% Parsing the line styles ------------------------------------------ -\def\tabu@getline #1{\begingroup - \csname \ifcsname if@safe@actives\endcsname % - @safe@activestrue\else - relax\fi \endcsname - \edef\tabu@temp{#1}\tabu@sanitizearg{#1}\@tempa - \let\tabu@thestyle \relax - \ifcsname tabu@linestyle@\@tempa \endcsname - \edef\tabu@thestyle{\endgroup - \def\tabu@thestyle{\expandafter\noexpand - \csname tabu@linestyle@\@tempa\endcsname}% - }\tabu@thestyle - \else \expandafter\tabu@definestyle \tabu@temp \@nil - \fi -}% \tabu@getline -\def\tabu@definestyle #1#2\@nil {\endlinechar \m@ne \makeatletter - \tabu@thick \maxdimen \tabu@on \maxdimen \tabu@off \maxdimen - \let\tabu@c@lon \@undefined \let\tabu@c@loff \@undefined - \ifodd 1\ifcat .#1\else\ifcat\relax #1\else 0\fi\fi % catcode 12 or non expandable cs - \def\tabu@temp{\tabu@getparam{thick}}% - \else \def\tabu@temp{\tabu@getparam{thick}\maxdimen}% - \fi - {% - \let\tabu@ \relax - \def\:{\obeyspaces \tabu@oXIII \tabu@commaXIII \edef\:}% (space active \: happy ;-)) - \scantokens{\:{\tabu@temp #1#2 \tabu@\tabu@}}% - \expandafter}\expandafter - \def\expandafter\:\expandafter{\:}% line spec rewritten now ;-) - \def\;{\def\:}% - \scantokens\expandafter{\expandafter\;\expandafter{\:}}% space is now inactive (catcode 10) - \let\tabu@ \tabu@getcolor \:% all arguments are ready now ;-) - \ifdefined\tabu@c@lon \else \let\tabu@c@lon\@empty \fi - \ifx \tabu@c@lon\@empty \def\tabu@c@lon{\CT@arc@}\fi - \ifdefined\tabu@c@loff \else \let\tabu@c@loff \@empty \fi - \ifdim \tabu@on=\maxdimen \ifdim \tabu@off<\maxdimen - \tabu@on \tabulineon \fi\fi - \ifdim \tabu@off=\maxdimen \ifdim \tabu@on<\maxdimen - \tabu@off \tabulineoff \fi\fi - \ifodd 1\ifdim \tabu@off=\maxdimen \ifdim \tabu@on=\maxdimen 0 \fi\fi - \in@true % - \else \in@false % - \fi - \ifdim\tabu@thick=\maxdimen \def\tabu@thick{\arrayrulewidth}% - \else \edef\tabu@thick{\the\tabu@thick}% - \fi - \edef \tabu@thestyle ##1##2{\endgroup - \def\tabu@thestyle{% - \ifin@ \noexpand\tabu@leadersstyle {\tabu@thick} - {\the\tabu@on}{##1} - {\the\tabu@off}{##2}% - \else \noexpand\tabu@rulesstyle - {##1\vrule width \tabu@thick}% - {##1\leaders \hrule height \tabu@thick \hfil}% - \fi}% - }\expandafter \expandafter - \expandafter \tabu@thestyle \expandafter - \expandafter \expandafter - {\expandafter\tabu@c@lon\expandafter}\expandafter{\tabu@c@loff}% -}% \tabu@definestyle -{\catcode`\O=\active \lccode`\O=`\o \catcode`\,=\active - \lowercase{\gdef\tabu@oXIII {\catcode`\o=\active \let O=\tabu@oxiii}} - \gdef\tabu@commaXIII {\catcode`\,=\active \let ,=\space} -}% \catcode -\def\tabu@oxiii #1{% - \ifcase \ifx n#1\z@ \else - \ifx f#1\@ne\else - \tw@ \fi\fi - \expandafter\tabu@onxiii - \or \expandafter\tabu@ofxiii - \else o% - \fi#1}% -\def\tabu@onxiii #1#2{% - \ifcase \ifx !#2\tw@ \else - \ifcat.\noexpand#2\z@ \else - \ifx \tabu@spxiii#2\@ne\else - \tw@ \fi\fi\fi - \tabu@getparam{on}#2\expandafter\@gobble - \or \expandafter\tabu@onxiii % (space is active) - \else o\expandafter\@firstofone - \fi{#1#2}}% -\def\tabu@ofxiii #1#2{% - \ifx #2f\expandafter\tabu@offxiii - \else o\expandafter\@firstofone - \fi{#1#2}} -\def\tabu@offxiii #1#2{% - \ifcase \ifx !#2\tw@ \else - \ifcat.\noexpand#2\z@ \else - \ifx\tabu@spxiii#2\@ne \else - \tw@ \fi\fi\fi - \tabu@getparam{off}#2\expandafter\@gobble - \or \expandafter\tabu@offxiii % (space is active) - \else o\expandafter\@firstofone - \fi{#1#2}} -\def\tabu@getparam #1{\tabu@ \csname tabu@#1\endcsname=} -\def\tabu@getcolor #1{% \tabu@ <- \tabu@getcolor after \edef - \ifx \tabu@#1\else % no more spec - \let\tabu@theparam=#1\afterassignment \tabu@getc@l@r #1\fi -}% \tabu@getcolor -\def\tabu@getc@l@r #1\tabu@ {% - \def\tabu@temp{#1}\tabu@strtrim \tabu@temp - \ifx \tabu@temp\@empty - \else%\ifcsname \string\color@\tabu@temp \endcsname % if the color exists - \ifx \tabu@theparam \tabu@off \let\tabu@c@loff \tabu@c@l@r - \else \let\tabu@c@lon \tabu@c@l@r - \fi - %\else \tabu@warncolour{\tabu@temp}% - \fi%\fi - \tabu@ % next spec -}% \tabu@getc@l@r -\def\tabu@warncolour #1{\PackageWarning{tabu} - {Color #1 is not defined. Default color used}% -}% \tabu@warncolour -\def\tabu@leadersstyle #1#2#3#4#5{\def\tabu@leaders{{#1}{#2}{#3}{#4}{#5}}% - \ifx \tabu@leaders\tabu@leaders@G \else - \tabu@LEADERS{#1}{#2}{#3}{#4}{#5}\fi -}% \tabu@leadersstyle -\def\tabu@rulesstyle #1#2{\let\tabu@leaders \@undefined - \gdef\tabu@thevrule{#1}\gdef\tabu@thehrule{#2}% -}% \tabu@rulesstyle -%% The leaders boxes ------------------------------------------------ -\def\tabu@LEADERS #1#2#3#4#5{%% width, dash, dash color, gap, gap color - {\let\color \tabu@color % => during trials -> \color = \tabu@nocolor - {% % but the leaders boxes should have colors ! - \def\@therule{\vrule}\def\@thick{height}\def\@length{width}% - \def\@box{\hbox}\def\@unbox{\unhbox}\def\@elt{\wd}% - \def\@skip{\hskip}\def\@ss{\hss}\def\tabu@leads{\tabu@hleads}% - \tabu@l@@d@rs {#1}{#2}{#3}{#4}{#5}% - \global\let\tabu@thehleaders \tabu@theleaders - }% - {% - \def\@therule{\hrule}\def\@thick{width}\def\@length{height}% - \def\@box{\vbox}\def\@unbox{\unvbox}\def\@elt{\ht}% - \def\@skip{\vskip}\def\@ss{\vss}\def\tabu@leads{\tabu@vleads}% - \tabu@l@@d@rs {#1}{#2}{#3}{#4}{#5}% - \global\let\tabu@thevleaders \tabu@theleaders - }% - \gdef\tabu@leaders@G{{#1}{#2}{#3}{#4}{#5}}% - }% -}% \tabu@LEADERS -\def\tabu@therule #1#2{\@therule \@thick#1\@length\dimexpr#2/2 \@depth\z@} -\def\tabu@l@@d@rs #1#2#3#4#5{%% width, dash, dash color, gap, gap color - \global\setbox \tabu@leads=\@box{% - {#3\tabu@therule{#1}{#2}}% - \ifx\\#5\\\@skip#4\else{#5\tabu@therule{#1}{#4*2}}\fi - {#3\tabu@therule{#1}{#2}}}% - \global\setbox\tabu@leads=\@box to\@elt\tabu@leads{\@ss - {#3\tabu@therule{#1}{#2}}\@unbox\tabu@leads}% - \edef\tabu@theleaders ##1{\def\noexpand\tabu@theleaders {% - {##1\tabu@therule{#1}{#2}}% - \xleaders \copy\tabu@leads \@ss - \tabu@therule{0pt}{-#2}{##1\tabu@therule{#1}{#2}}}% - }\tabu@theleaders{#3}% -}% \tabu@l@@d@rs -%% \tabu \endtabu \tabu* \longtabu \endlongtabu \longtabu* ---------- -\newcommand*\tabu {\tabu@longfalse - \ifmmode \def\tabu@ {\array}\def\endtabu {\endarray}% - \else \def\tabu@ {\tabu@tabular}\def\endtabu {\endtabular}\fi - \expandafter\let\csname tabu*\endcsname \tabu - \expandafter\def\csname endtabu*\endcsname{\endtabu}% - \tabu@spreadfalse \tabu@negcoeffalse \tabu@settarget -}% {tabu} -\let\tabu@tabular \tabular % -\expandafter\def\csname tabu*\endcsname{\tabuscantokenstrue \tabu} -\newcommand*\longtabu {\tabu@longtrue - \ifmmode\PackageError{tabu}{longtabu not allowed in math mode}\fi - \def\tabu@{\longtable}\def\endlongtabu{\endlongtable}% - \LTchunksize=\@M - \expandafter\let\csname tabu*\endcsname \tabu - \expandafter\def\csname endlongtabu*\endcsname{\endlongtabu}% - \let\LT@startpbox \tabu@LT@startpbox % \everypar{ array struts } - \tabu@spreadfalse \tabu@negcoeffalse \tabu@settarget -}% {longtabu} -\expandafter\def\csname longtabu*\endcsname{\tabuscantokenstrue \longtabu} -\def\tabu@nolongtabu{\PackageError{tabu} - {longtabu requires the longtable package}\@ehd} -%% Read the target and then : \tabular or \@array ------------------ -\def\tabu@settarget {\futurelet\@let@token \tabu@sett@rget } -\def\tabu@sett@rget {\tabu@target \z@ - \ifcase \ifx \bgroup\@let@token \z@ \else - \ifx \@sptoken\@let@token \@ne \else - \if t\@let@token \tw@ \else - \if s\@let@token \thr@@\else - \z@\fi\fi\fi\fi - \expandafter\tabu@begin - \or \expandafter\tabu@gobblespace\expandafter\tabu@settarget - \or \expandafter\tabu@to - \or \expandafter\tabu@spread - \fi -}% \tabu@sett@rget -\def\tabu@to to{\def\tabu@halignto{to}\tabu@gettarget} -\def\tabu@spread spread{\tabu@spreadtrue\def\tabu@halignto{spread}\tabu@gettarget} -\def\tabu@gettarget {\afterassignment\tabu@linegoaltarget \tabu@target } -\def\tabu@linegoaltarget {\futurelet\tabu@temp \tabu@linegoalt@rget } -\def\tabu@linegoalt@rget {% - \ifx \tabu@temp\LNGL@setlinegoal - \LNGL@setlinegoal \expandafter \@firstoftwo \fi % @gobbles \LNGL@setlinegoal - \tabu@begin -}% \tabu@linegoalt@rget -\def\tabu@begin #1#{% - \iftabu@measuring \expandafter\tabu@nestedmeasure \fi - \ifdim \tabu@target=\z@ \let\tabu@halignto \@empty - \else \edef\tabu@halignto{\tabu@halignto\the\tabu@target}% - \fi - \@testopt \tabu@tabu@ \tabu@aligndefault #1\@nil -}% \tabu@begin -\long\def\tabu@tabu@ [#1]#2\@nil #3{\tabu@setup - \def\tabu@align {#1}\def\tabu@savedpream{\NC@find #3}% - \tabu@ [\tabu@align ]#2{#3\tabu@rewritefirst }% -}% \tabu@tabu@ -\def\tabu@nestedmeasure {% - \ifodd 1\iftabu@spread \else \ifdim\tabu@target=\z@ \else 0 \fi\fi\relax - \tabu@spreadtrue - \else \begingroup \iffalse{\fi \ifnum0=`}\fi - \toks@{}\def\tabu@stack{b}% - \expandafter\tabu@collectbody\expandafter\tabu@quickrule - \expandafter\endgroup - \fi -}% \tabu@nestedmeasure -\def\tabu@quickrule {\indent\vrule height\z@ depth\z@ width\tabu@target} -%% \tabu@setup \tabu@init \tabu@indent -\def\tabu@setup{\tabu@alloc@ - \ifcase \tabu@nested - \ifmmode \else \iftabu@spread\else \ifdim\tabu@target=\z@ - \let\tabu@afterendpar \par - \fi\fi\fi - \def\tabu@aligndefault{c}\tabu@init \tabu@indent - \else % - \def\tabu@aligndefault{t}\let\tabudefaulttarget \linewidth - \fi - \let\tabu@thetarget \tabudefaulttarget \let\tabu@restored \@undefined - \edef\tabu@NC@list{\the\NC@list}\NC@list{\NC@do \tabu@rewritefirst}% - \everycr{}\let\@startpbox \tabu@startpbox % for nested tabu inside longtabu... - \let\@endpbox \tabu@endpbox % idem " " " " " " - \let\@tabarray \tabu@tabarray % idem " " " " " " - \tabu@setcleanup \tabu@setreset -}% \tabu@setup -\def\tabu@init{\tabu@starttimer \tabu@measuringfalse - \edef\tabu@hfuzz {\the\dimexpr\hfuzz+1sp}\global\tabu@footnotes{}% - \let\firsthline \tabu@firsthline \let\lasthline \tabu@lasthline - \let\firstline \tabu@firstline \let\lastline \tabu@lastline - \let\hline \tabu@hline \let\@xhline \tabu@xhline - \let\color \tabu@color \let\@arstrutbox \tabu@arstrutbox - \iftabu@colortbl\else\let\LT@@hline \tabu@LT@@hline \fi - \tabu@trivlist % - \let\@footnotetext \tabu@footnotetext \let\@xfootnotetext \tabu@xfootnotetext - \let\@xfootnote \tabu@xfootnote \let\centering \tabu@centering - \let\raggedright \tabu@raggedright \let\raggedleft \tabu@raggedleft - \let\tabudecimal \tabu@tabudecimal \let\Centering \tabu@Centering - \let\RaggedRight \tabu@RaggedRight \let\RaggedLeft \tabu@RaggedLeft - \let\justifying \tabu@justifying \let\rowfont \tabu@rowfont - \let\fbox \tabu@fbox \let\color@b@x \tabu@color@b@x - \let\tabu@@everycr \everycr \let\tabu@@everypar \everypar - \let\tabu@prepnext@tokORI \prepnext@tok\let\prepnext@tok \tabu@prepnext@tok - \let\tabu@multicolumnORI\multicolumn \let\multicolumn \tabu@multicolumn - \let\tabu@startpbox \@startpbox % for nested tabu inside longtabu pfff !!! - \let\tabu@endpbox \@endpbox % idem " " " " " " " - \let\tabu@tabarray \@tabarray % idem " " " " " " " - \tabu@adl@fix \let\endarray \tabu@endarray % colortbl & arydshln (delarray) - \iftabu@colortbl\CT@everycr\expandafter{\expandafter\iftabu@everyrow \the\CT@everycr \fi}\fi -}% \tabu@init -\def\tabu@indent{% correction for indentation - \ifdim \parindent>\z@\ifx \linewidth\tabudefaulttarget - \everypar\expandafter{% - \the\everypar\everypar\expandafter{\the\everypar}% - \setbox\z@=\lastbox - \ifdim\wd\z@>\z@ \edef\tabu@thetarget - {\the\dimexpr -\wd\z@+\tabudefaulttarget}\fi - \box\z@}% - \fi\fi -}% \tabu@indent -\def\tabu@setcleanup {% saves last global assignments - \ifodd 1\ifmmode \else \iftabu@long \else 0\fi\fi\relax - \def\tabu@aftergroupcleanup{% - \def\tabu@aftergroupcleanup{\aftergroup\tabu@cleanup}}% - \else - \def\tabu@aftergroupcleanup{% - \aftergroup\aftergroup\aftergroup\tabu@cleanup - \let\tabu@aftergroupcleanup \relax}% - \fi - \let\tabu@arc@Gsave \tabu@arc@G - \let\tabu@arc@G \tabu@arc@L % - \let\tabu@drsc@Gsave \tabu@drsc@G - \let\tabu@drsc@G \tabu@drsc@L % - \let\tabu@ls@Gsave \tabu@ls@G - \let\tabu@ls@G \tabu@ls@L % - \let\tabu@rc@Gsave \tabu@rc@G - \let\tabu@rc@G \tabu@rc@L % - \let\tabu@evr@Gsave \tabu@evr@G - \let\tabu@evr@G \tabu@evr@L % - \let\tabu@celllalign@save \tabu@celllalign - \let\tabu@cellralign@save \tabu@cellralign - \let\tabu@cellleft@save \tabu@cellleft - \let\tabu@cellright@save \tabu@cellright - \let\tabu@@celllalign@save \tabu@@celllalign - \let\tabu@@cellralign@save \tabu@@cellralign - \let\tabu@@cellleft@save \tabu@@cellleft - \let\tabu@@cellright@save \tabu@@cellright - \let\tabu@rowfontreset@save \tabu@rowfontreset - \let\tabu@@rowfontreset@save\tabu@@rowfontreset - \let\tabu@rowfontreset \@empty - \edef\tabu@alloc@save {\the\tabu@alloc}% restore at \tabu@reset - \edef\c@taburow@save {\the\c@taburow}% - \edef\tabu@naturalX@save {\the\tabu@naturalX}% - \let\tabu@naturalXmin@save \tabu@naturalXmin - \let\tabu@naturalXmax@save \tabu@naturalXmax - \let\tabu@mkarstrut@save \tabu@mkarstrut - \edef\tabu@clarstrut{% - \extrarowheight \the\dimexpr \ht\@arstrutbox-\ht\strutbox \relax - \extrarowdepth \the\dimexpr \dp\@arstrutbox-\dp\strutbox \relax - \let\noexpand\@arraystretch \@ne \noexpand\tabu@rearstrut}% -}% \tabu@setcleanup -\def\tabu@cleanup {\begingroup - \globaldefs\@ne \tabu@everyrowtrue - \let\tabu@arc@G \tabu@arc@Gsave - \let\CT@arc@ \tabu@arc@G - \let\tabu@drsc@G \tabu@drsc@Gsave - \let\CT@drsc@ \tabu@drsc@G - \let\tabu@ls@G \tabu@ls@Gsave - \let\tabu@ls@ \tabu@ls@G - \let\tabu@rc@G \tabu@rc@Gsave - \let\tabu@rc@ \tabu@rc@G - \let\CT@do@color \relax - \let\tabu@evr@G \tabu@evr@Gsave - \let\tabu@celllalign \tabu@celllalign@save - \let\tabu@cellralign \tabu@cellralign@save - \let\tabu@cellleft \tabu@cellleft@save - \let\tabu@cellright \tabu@cellright@save - \let\tabu@@celllalign \tabu@@celllalign@save - \let\tabu@@cellralign \tabu@@cellralign@save - \let\tabu@@cellleft \tabu@@cellleft@save - \let\tabu@@cellright \tabu@@cellright@save - \let\tabu@rowfontreset \tabu@rowfontreset@save - \let\tabu@@rowfontreset \tabu@@rowfontreset@save - \tabu@naturalX =\tabu@naturalX@save - \let\tabu@naturalXmax \tabu@naturalXmax@save - \let\tabu@naturalXmin \tabu@naturalXmin@save - \let\tabu@mkarstrut \tabu@mkarstrut@save - \c@taburow =\c@taburow@save - \ifcase \tabu@nested \tabu@alloc \m@ne\fi - \endgroup % - \ifcase \tabu@nested - \the\tabu@footnotes \global\tabu@footnotes{}% - \tabu@afterendpar \tabu@elapsedtime - \fi - \tabu@clarstrut - \everyrow\expandafter {\tabu@evr@G}% -}% \tabu@cleanup -\let\tabu@afterendpar \relax -\def\tabu@setreset {% - \edef\tabu@savedparams {% \relax for \tabu@message@save - \ifmmode \col@sep \the\arraycolsep - \else \col@sep \the\tabcolsep \fi \relax - \arrayrulewidth \the\arrayrulewidth \relax - \doublerulesep \the\doublerulesep \relax - \extratabsurround \the\extratabsurround \relax - \extrarowheight \the\extrarowheight \relax - \extrarowdepth \the\extrarowdepth \relax - \abovetabulinesep \the\abovetabulinesep \relax - \belowtabulinesep \the\belowtabulinesep \relax - \def\noexpand\arraystretch{\arraystretch}% - \ifdefined\minrowclearance \minrowclearance\the\minrowclearance\relax\fi}% - \begingroup - \@temptokena\expandafter{\tabu@savedparams}% => only for \savetabu / \usetabu - \ifx \tabu@arc@L\relax \else \tabu@setsave \tabu@arc@L \fi - \ifx \tabu@drsc@L\relax \else \tabu@setsave \tabu@drsc@L \fi - \tabu@setsave \tabu@ls@L \tabu@setsave \tabu@evr@L - \expandafter \endgroup \expandafter - \def\expandafter\tabu@saved@ \expandafter{\the\@temptokena - \let\tabu@arc@G \tabu@arc@L - \let\tabu@drsc@G \tabu@drsc@L - \let\tabu@ls@G \tabu@ls@L - \let\tabu@rc@G \tabu@rc@L - \let\tabu@evr@G \tabu@evr@L}% - \def\tabu@reset{\tabu@savedparams - \tabu@everyrowtrue \c@taburow \z@ - \let\CT@arc@ \tabu@arc@L - \let\CT@drsc@ \tabu@drsc@L - \let\tabu@ls@ \tabu@ls@L - \let\tabu@rc@ \tabu@rc@L - \global\tabu@alloc \tabu@alloc@save - \everyrow\expandafter{\tabu@evr@L}}% -}% \tabu@reset -\def\tabu@setsave #1{\expandafter\tabu@sets@ve #1\@nil{#1}} -\long\def\tabu@sets@ve #1\@nil #2{\@temptokena\expandafter{\the\@temptokena \def#2{#1}}} -%% The Rewriting Process ------------------------------------------- -\def\tabu@newcolumntype #1{% - \expandafter\tabu@new@columntype - \csname NC@find@\string#1\expandafter\endcsname - \csname NC@rewrite@\string#1\endcsname - {#1}% -}% \tabu@newcolumntype -\def\tabu@new@columntype #1#2#3{% - \def#1##1#3{\NC@{##1}}% - \let#2\relax \newcommand*#2% -}% \tabu@new@columntype -\def\tabu@privatecolumntype #1{% - \expandafter\tabu@private@columntype - \csname NC@find@\string#1\expandafter\endcsname - \csname NC@rewrite@\string#1\expandafter\endcsname - \csname tabu@NC@find@\string#1\expandafter\endcsname - \csname tabu@NC@rewrite@\string#1\endcsname - {#1}% -}% \tabu@privatecolumntype -\def\tabu@private@columntype#1#2#3#4{% - \g@addto@macro\tabu@privatecolumns{\let#1#3\let#2#4}% - \tabu@new@columntype#3#4% -}% \tabu@private@columntype -\let\tabu@privatecolumns \@empty -\newcommand*\tabucolumn [1]{\expandafter \def \expandafter - \tabu@highprioritycolumns\expandafter{\tabu@highprioritycolumns - \NC@do #1}}% -\let\tabu@highprioritycolumns \@empty -%% The | ``column'' : rewriting process -------------------------- -\tabu@privatecolumntype |{\tabu@rewritevline} -\newcommand*\tabu@rewritevline[1][]{\tabu@vlinearg{#1}% - \expandafter \NC@find \tabu@rewritten} -\def\tabu@lines #1{% - \ifx|#1\else \tabu@privatecolumntype #1{\tabu@rewritevline}\fi - \NC@list\expandafter{\the\NC@list \NC@do #1}% -}% \tabu@lines@ -\def\tabu@vlinearg #1{% - \ifx\\#1\\\def\tabu@thestyle {\tabu@ls@}% - \else\tabu@getline {#1}% - \fi - \def\tabu@rewritten ##1{\def\tabu@rewritten{!{##1\tabu@thevline}}% - }\expandafter\tabu@rewritten\expandafter{\tabu@thestyle}% - \expandafter \tabu@keepls \tabu@thestyle \@nil -}% \tabu@vlinearg -\def\tabu@keepls #1\@nil{% - \ifcat $\@cdr #1\@nil $% - \ifx \relax#1\else - \ifx \tabu@ls@#1\else - \let#1\relax - \xdef\tabu@mkpreambuffer{\tabu@mkpreambuffer - \tabu@savels\noexpand#1}\fi\fi\fi -}% \tabu@keepls -\def\tabu@thevline {\begingroup - \ifdefined\tabu@leaders - \setbox\@tempboxa=\vtop to\dimexpr - \ht\@arstrutbox+\dp\@arstrutbox{{\tabu@thevleaders}}% - \ht\@tempboxa=\ht\@arstrutbox \dp\@tempboxa=\dp\@arstrutbox - \box\@tempboxa - \else - \tabu@thevrule - \fi \endgroup -}% \tabu@thevline -\def\tabu@savels #1{% - \expandafter\let\csname\string#1\endcsname #1% - \expandafter\def\expandafter\tabu@reset\expandafter{\tabu@reset - \tabu@resetls#1}}% -\def\tabu@resetls #1{\expandafter\let\expandafter#1\csname\string#1\endcsname}% -%% \multicolumn inside tabu environment ----------------------------- -\tabu@newcolumntype \tabu@rewritemulticolumn{% - \aftergroup \tabu@endrewritemulticolumn % after \@mkpream group - \NC@list{\NC@do *}\tabu@textbar \tabu@lines - \tabu@savedecl - \tabu@privatecolumns - \NC@list\expandafter{\the\expandafter\NC@list \tabu@NC@list}% - \let\tabu@savels \relax - \NC@find -}% \tabu@rewritemulticolumn -\def\tabu@endrewritemulticolumn{\gdef\tabu@mkpreambuffer{}\endgroup} -\def\tabu@multicolumn{\tabu@ifenvir \tabu@multic@lumn \tabu@multicolumnORI} -\long\def\tabu@multic@lumn #1#2#3{\multispan{#1}\begingroup - \tabu@everyrowtrue - \NC@list{\NC@do \tabu@rewritemulticolumn}% - \expandafter\@gobbletwo % gobbles \multispan{#1} - \tabu@multicolumnORI{#1}{\tabu@rewritemulticolumn #2}% - {\iftabuscantokens \tabu@rescan \else \expandafter\@firstofone \fi - {#3}}% -}% \tabu@multic@lumn -%% The X column(s): rewriting process ----------------------------- -\tabu@privatecolumntype X[1][]{\begingroup \tabu@siunitx{\endgroup \tabu@rewriteX {#1}}} -\def\tabu@nosiunitx #1{#1{}{}\expandafter \NC@find \tabu@rewritten } -\def\tabu@siunitx #1{\@ifnextchar \bgroup - {\tabu@rewriteX@Ss{#1}} - {\tabu@nosiunitx{#1}}} -\def\tabu@rewriteX@Ss #1#2{\@temptokena{}% - \@defaultunits \let\tabu@temp =#2\relax\@nnil - \ifodd 1\ifx S\tabu@temp \else \ifx s\tabu@temp \else 0 \fi\fi - \def\NC@find{\def\NC@find >####1####2<####3\relax{#1 {####1}{####3}% - }\expandafter\NC@find \the\@temptokena \relax - }\expandafter\NC@rewrite@S \@gobble #2\relax - \else \tabu@siunitxerror - \fi - \expandafter \NC@find \tabu@rewritten -}% \tabu@rewriteX@Ss -\def\tabu@siunitxerror {\PackageError{tabu}{Not a S nor s column ! - \MessageBreak X column can only embed siunitx S or s columns}\@ehd -}% \tabu@siunitxerror -\def\tabu@rewriteX #1#2#3{\tabu@Xarg {#1}{#2}{#3}% - \iftabu@measuring - \else \tabu@measuringtrue % first X column found in the preamble - \let\@halignto \relax \let\tabu@halignto \relax - \iftabu@spread \tabu@spreadtarget \tabu@target \tabu@target \z@ - \else \tabu@spreadtarget \z@ \fi - \ifdim \tabu@target=\z@ - \setlength\tabu@target \tabu@thetarget - \tabu@message{\tabu@message@defaulttarget}% - \else \tabu@message{\tabu@message@target}\fi - \fi -}% \tabu@rewriteX -\def\tabu@rewriteXrestore #1#2#3{\let\@halignto \relax - \def\tabu@rewritten{l}} -\def\tabu@Xarg #1#2#3{% - \advance\tabu@Xcol \@ne \let\tabu@Xlcr \@empty - \let\tabu@Xdisp \@empty \let\tabu@Xmath \@empty - \ifx\\#1\\% - \def\tabu@rewritten{p}\tabucolX \p@ % - \else - \let\tabu@rewritten \@empty \let\tabu@temp \@empty \tabucolX \z@ - \tabu@Xparse {}#1\relax - \fi - \tabu@Xrewritten{#2}{#3}% -}% \tabu@Xarg -\def\tabu@Xparse #1{\futurelet\@let@token \tabu@Xtest} -\expandafter\def\expandafter\tabu@Xparsespace\space{\tabu@Xparse{}} -\def\tabu@Xtest{% - \ifcase \ifx \relax\@let@token \z@ \else - \if ,\@let@token \m@ne\else - \if p\@let@token 1\else - \if m\@let@token 2\else - \if b\@let@token 3\else - \if l\@let@token 4\else - \if c\@let@token 5\else - \if r\@let@token 6\else - \if j\@let@token 7\else - \if L\@let@token 8\else - \if C\@let@token 9\else - \if R\@let@token 10\else - \if J\@let@token 11\else - \ifx \@sptoken\@let@token 12\else - \if .\@let@token 13\else - \if -\@let@token 13\else - \ifcat $\@let@token 14\else - 15\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\relax - \or \tabu@Xtype {p}% - \or \tabu@Xtype {m}% - \or \tabu@Xtype {b}% - \or \tabu@Xalign \raggedright\relax - \or \tabu@Xalign \centering\relax - \or \tabu@Xalign \raggedleft\relax - \or \tabu@Xalign \tabu@justify\relax - \or \tabu@Xalign \RaggedRight\raggedright - \or \tabu@Xalign \Centering\centering - \or \tabu@Xalign \RaggedLeft\raggedleft - \or \tabu@Xalign \justifying\tabu@justify - \or \expandafter \tabu@Xparsespace - \or \expandafter \tabu@Xcoef - \or \expandafter \tabu@Xm@th - \or \tabu@Xcoef{}% - \else\expandafter \tabu@Xparse - \fi -}% \tabu@Xtest -\def\tabu@Xalign #1#2{% - \ifx \tabu@Xlcr\@empty \else \PackageWarning{tabu} - {Duplicate horizontal alignment specification}\fi - \ifdefined#1\def\tabu@Xlcr{#1}\let#1\relax - \else \def\tabu@Xlcr{#2}\let#2\relax\fi - \expandafter\tabu@Xparse -}% \tabu@Xalign -\def\tabu@Xtype #1{% - \ifx \tabu@rewritten\@empty \else \PackageWarning{tabu} - {Duplicate vertical alignment specification}\fi - \def\tabu@rewritten{#1}\expandafter\tabu@Xparse -}% \tabu@Xtype -\def\tabu@Xcoef#1{\edef\tabu@temp{\tabu@temp#1}% - \afterassignment\tabu@Xc@ef \tabu@cnt\number\if-#10\fi -}% \tabu@Xcoef -\def\tabu@Xc@ef{\advance\tabucolX \tabu@temp\the\tabu@cnt\p@ - \tabu@Xparse{}% -}% \tabu@Xc@ef -\def\tabu@Xm@th #1{\futurelet \@let@token \tabu@Xd@sp} -\def\tabu@Xd@sp{\let\tabu@Xmath=$% - \ifx $\@let@token \def\tabu@Xdisp{\displaystyle}% - \expandafter\tabu@Xparse - \else \expandafter\tabu@Xparse\expandafter{\expandafter}% - \fi -}% \tabu@Xd@sp -\def\tabu@Xrewritten {% - \ifx \tabu@rewritten\@empty \def\tabu@rewritten{p}\fi - \ifdim \tabucolX<\z@ \tabu@negcoeftrue - \else\ifdim \tabucolX=\z@ \tabucolX \p@ - \fi\fi - \edef\tabu@temp{{\the\tabu@Xcol}{\tabu@strippt\tabucolX}}% - \edef\tabu@Xcoefs{\tabu@Xcoefs \tabu@ \tabu@temp}% - \edef\tabu@rewritten ##1##2{\def\noexpand\tabu@rewritten{% - >{\tabu@Xlcr \ifx$\tabu@Xmath$\tabu@Xdisp\fi ##1}% - \tabu@rewritten {\tabu@hsize \tabu@temp}% - <{##2\ifx$\tabu@Xmath$\fi}}% - }\tabu@rewritten -}% \tabu@Xrewritten -\def\tabu@hsize #1#2{% - \ifdim #2\p@<\z@ - \ifdim \tabucolX=\maxdimen \tabu@wd{#1}\else - \ifdim \tabu@wd{#1}<-#2\tabucolX \tabu@wd{#1}\else -#2\tabucolX\fi - \fi - \else #2\tabucolX - \fi -}% \tabu@hsize -%% \usetabu and \preamble: rewriting process --------------------- -\tabu@privatecolumntype \usetabu [1]{% - \ifx\\#1\\\tabu@saveerr{}\else - \@ifundefined{tabu@saved@\string#1} - {\tabu@saveerr{#1}} - {\let\tabu@rewriteX \tabu@rewriteXrestore - \csname tabu@saved@\string#1\expandafter\endcsname\expandafter\@ne}% - \fi -}% \NC@rewrite@\usetabu -\tabu@privatecolumntype \preamble [1]{% - \ifx\\#1\\\tabu@saveerr{}\else - \@ifundefined{tabu@saved@\string#1} - {\tabu@saveerr{#1}} - {\csname tabu@saved@\string#1\expandafter\endcsname\expandafter\z@}% - \fi -}% \NC@rewrite@\preamble -%% Controlling the rewriting process ------------------------------- -\tabu@newcolumntype \tabu@rewritefirst{% - \iftabu@long \aftergroup \tabu@longpream % - \else \aftergroup \tabu@pream - \fi - \let\tabu@ \relax \let\tabu@hsize \relax - \let\tabu@Xcoefs \@empty \let\tabu@savels \relax - \tabu@Xcol \z@ \tabu@cnt \tw@ - \gdef\tabu@mkpreambuffer{\tabu@{}}\tabu@measuringfalse - \global\setbox\@arstrutbox \box\@arstrutbox - \NC@list{\NC@do *}\tabu@textbar \tabu@lines - \NC@list\expandafter{\the\NC@list \NC@do X}% - \iftabu@siunitx % - \NC@list\expandafter{\the\NC@list \NC@do S\NC@do s}\fi - \NC@list\expandafter{\the\expandafter\NC@list \tabu@highprioritycolumns}% - \expandafter\def\expandafter\tabu@NC@list\expandafter{% - \the\expandafter\NC@list \tabu@NC@list}% % * | X S - \NC@list\expandafter{\expandafter \NC@do \expandafter\usetabu - \expandafter \NC@do \expandafter\preamble - \the\NC@list \NC@do \tabu@rewritemiddle - \NC@do \tabu@rewritelast}% - \tabu@savedecl - \tabu@privatecolumns - \edef\tabu@prev{\the\@temptokena}\NC@find \tabu@rewritemiddle -}% NC@rewrite@\tabu@rewritefirst -\tabu@newcolumntype \tabu@rewritemiddle{% - \edef\tabu@temp{\the\@temptokena}\NC@find \tabu@rewritelast -}% \NC@rewrite@\tabu@rewritemiddle -\tabu@newcolumntype \tabu@rewritelast{% - \ifx \tabu@temp\tabu@prev \advance\tabu@cnt \m@ne - \NC@list\expandafter{\tabu@NC@list \NC@do \tabu@rewritemiddle - \NC@do \tabu@rewritelast}% - \else \let\tabu@prev\tabu@temp - \fi - \ifcase \tabu@cnt \expandafter\tabu@endrewrite - \else \expandafter\NC@find \expandafter\tabu@rewritemiddle - \fi -}% \NC@rewrite@\tabu@rewritelast -%% Choosing the strategy -------------------------------------------- -\def\tabu@endrewrite {% - \let\tabu@temp \NC@find - \ifx \@arrayright\relax \let\@arrayright \@empty \fi - \count@=% - \ifx \@finalstrut\tabu@finalstrut \z@ % outer in mode 0 print - \iftabu@measuring - \xdef\tabu@mkpreambuffer{\tabu@mkpreambuffer - \tabu@target \csname tabu@\the\tabu@nested.T\endcsname - \tabucolX \csname tabu@\the\tabu@nested.X\endcsname - \edef\@halignto {\ifx\@arrayright\@empty to\tabu@target\fi}}% - \fi - \else\iftabu@measuring 4 % X columns - \xdef\tabu@mkpreambuffer{\tabu@{\tabu@mkpreambuffer - \tabu@target \the\tabu@target - \tabu@spreadtarget \the\tabu@spreadtarget}% - \def\noexpand\tabu@Xcoefs{\tabu@Xcoefs}% - \edef\tabu@halignto{\ifx \@arrayright\@empty to\tabu@target\fi}}% - \let\tabu@Xcoefs \relax - \else\ifcase\tabu@nested \thr@@ % outer, no X - \global\let\tabu@afterendpar \relax - \else \@ne % inner, no X, outer in mode 1 or 2 - \fi - \ifdefined\tabu@usetabu - \else \ifdim\tabu@target=\z@ - \else \let\tabu@temp \tabu@extracolsep - \fi\fi - \fi - \fi - \xdef\tabu@mkpreambuffer{\count@ \the\count@ \tabu@mkpreambuffer}% - \tabu@temp -}% \tabu@endrewrite -\def\tabu@extracolsep{\@defaultunits \expandafter\let - \expandafter\tabu@temp \expandafter=\the\@temptokena \relax\@nnil - \ifx \tabu@temp\@sptoken - \expandafter\tabu@gobblespace \expandafter\tabu@extracolsep - \else - \edef\tabu@temp{\noexpand\NC@find - \if |\noexpand\tabu@temp @% - \else\if !\noexpand\tabu@temp @% - \else !% - \fi\fi - {\noexpand\extracolsep\noexpand\@flushglue}}% - \fi - \tabu@temp -}% \tabu@extrac@lsep -%% Implementing the strategy ---------------------------------------- -\long\def\tabu@pream #1\@preamble {% - \let\tabu@ \tabu@@ \tabu@mkpreambuffer \tabu@aftergroupcleanup - \NC@list\expandafter {\tabu@NC@list}% in case of nesting... - \ifdefined\tabu@usetabu \tabu@usetabu \tabu@target \z@ \fi - \let\tabu@savedpreamble \@preamble - \global\let\tabu@elapsedtime \relax - \tabu@thebody ={#1\tabu@aftergroupcleanup}% - \tabu@thebody =\expandafter{\the\expandafter\tabu@thebody - \@preamble}% - \edef\tabuthepreamble {\the\tabu@thebody}% ( no @ allowed for \scantokens ) - \tabu@select -}% \tabu@pream -\long\def\tabu@longpream #1\LT@bchunk #2\LT@bchunk{% - \let\tabu@ \tabu@@ \tabu@mkpreambuffer \tabu@aftergroupcleanup - \NC@list\expandafter {\tabu@NC@list}% in case of nesting... - \let\tabu@savedpreamble \@preamble - \global\let\tabu@elapsedtime \relax - \tabu@thebody ={#1\LT@bchunk #2\tabu@aftergroupcleanup \LT@bchunk}% - \edef\tabuthepreamble {\the\tabu@thebody}% ( no @ allowed for \scantokens ) - \tabu@select -}% \tabu@longpream -\def\tabu@select {% - \ifnum\tabu@nested>\z@ \tabuscantokensfalse \fi - \ifnum \count@=\@ne \iftabu@measuring \count@=\tw@ \fi\fi - \ifcase \count@ - \global\let\tabu@elapsedtime \relax - \tabu@seteverycr - \expandafter \tabuthepreamble % vertical adjustment (inherited from outer) - \or % exit in vertical measure + struts per cell because no X and outer in mode 3 - \tabu@evr{\tabu@verticalinit}\tabu@celllalign@def{\tabu@verticalmeasure}% - \def\tabu@cellralign{\tabu@verticalspacing}% - \tabu@seteverycr - \expandafter \tabuthepreamble - \or % exit without measure because no X and outer in mode 4 - \tabu@evr{}\tabu@celllalign@def{}\let\tabu@cellralign \@empty - \tabu@seteverycr - \expandafter \tabuthepreamble - \else % needs trials - \tabu@evr{}\tabu@celllalign@def{}\let\tabu@cellralign \@empty - \tabu@savecounters - \expandafter \tabu@setstrategy - \fi -}% \tabu@select -\def\tabu@@ {\gdef\tabu@mkpreambuffer} -%% Protections to set up before trials ------------------------------ -\def\tabu@setstrategy {\begingroup % - \tabu@trialh@@k \tabu@cnt \z@ % number of trials - \hbadness \@M \let\hbadness \@tempcnta - \hfuzz \maxdimen \let\hfuzz \@tempdima - \let\write \tabu@nowrite\let\GenericError \tabu@GenericError - \let\savetabu \@gobble \let\tabudefaulttarget \linewidth - \let\@footnotetext \@gobble \let\@xfootnote \tabu@xfootnote - \let\color \tabu@nocolor\let\rowcolor \tabu@norowcolor - \let\tabu@aftergroupcleanup \relax % only after the last trial - \tabu@mkpreambuffer - \ifnum \count@>\thr@@ \let\@halignto \@empty \tabucolX@init - \def\tabu@lasttry{\m@ne\p@}\fi - \begingroup \iffalse{\fi \ifnum0=`}\fi - \toks@{}\def\tabu@stack{b}\iftabuscantokens \endlinechar=10 \obeyspaces \fi % - \tabu@collectbody \tabu@strategy % -}% \tabu@setstrategy -\def\tabu@savecounters{% - \def\@elt ##1{\csname c@##1\endcsname\the\csname c@##1\endcsname}% - \edef\tabu@clckpt {\begingroup \globaldefs=\@ne \cl@@ckpt \endgroup}\let\@elt \relax -}% \tabu@savecounters -\def\tabucolX@init {% \tabucolX <= \tabu@target / (sum coefs > 0) - \dimen@ \z@ \tabu@Xsum \z@ \tabucolX \z@ \let\tabu@ \tabu@Xinit \tabu@Xcoefs - \ifdim \dimen@>\z@ - \@tempdima \dimexpr \tabu@target *\p@/\dimen@ + \tabu@hfuzz\relax - \ifdim \tabucolX<\@tempdima \tabucolX \@tempdima \fi - \fi -}% \tabucolX@init -\def\tabu@Xinit #1#2{\tabu@Xcol #1 \advance \tabu@Xsum - \ifdim #2\p@>\z@ #2\p@ \advance\dimen@ #2\p@ - \else -#2\p@ \tabu@negcoeftrue - \@tempdima \dimexpr \tabu@target*\p@/\dimexpr-#2\p@\relax \relax - \ifdim \tabucolX<\@tempdima \tabucolX \@tempdima \fi - \tabu@wddef{#1}{0pt}% - \fi -}% \tabu@Xinit -%% Collecting the environment body ---------------------------------- -\long\def\tabu@collectbody #1#2\end #3{% - \edef\tabu@stack{\tabu@pushbegins #2\begin\end\expandafter\@gobble\tabu@stack}% - \ifx \tabu@stack\@empty - \toks@\expandafter{\expandafter\tabu@thebody\expandafter{\the\toks@ #2}% - \def\tabu@end@envir{\end{#3}}% - \iftabuscantokens - \iftabu@long \def\tabu@endenvir {\end{#3}\tabu@gobbleX}% - \else \def\tabu@endenvir {\let\endarray \@empty - \end{#3}\tabu@gobbleX}% - \fi - \else \def\tabu@endenvir {\end{#3}}\fi}% - \let\tabu@collectbody \tabu@endofcollect - \else\def\tabu@temp{#3}% - \ifx \tabu@temp\@empty \toks@\expandafter{\the\toks@ #2\end }% - \else \ifx\tabu@temp\tabu@@spxiii \toks@\expandafter{\the\toks@ #2\end #3}% - \else \ifx\tabu@temp\tabu@X \toks@\expandafter{\the\toks@ #2\end #3}% - \else \toks@\expandafter{\the\toks@ #2\end{#3}}% - \fi\fi\fi - \fi - \tabu@collectbody{#1}% -}% \tabu@collectbody -\long\def\tabu@pushbegins#1\begin#2{\ifx\end#2\else b\expandafter\tabu@pushbegins\fi}% -\def\tabu@endofcollect #1{\ifnum0=`{}\fi - \expandafter\endgroup \the\toks@ #1% -}% \tabu@endofcollect -%% The trials: switching between strategies ------------------------- -\def\tabu@strategy {\relax % stops \count@ assignment ! - \ifcase\count@ % case 0 = print with vertical adjustment (outer is finished) - \expandafter \tabu@endoftrials - \or % case 1 = exit in vertical measure (outer in mode 3) - \expandafter\xdef\csname tabu@\the\tabu@nested.T\endcsname{\the\tabu@target}% - \expandafter\xdef\csname tabu@\the\tabu@nested.X\endcsname{\the\tabucolX}% - \expandafter \tabu@endoftrials - \or % case 2 = exit with a rule replacing the table (outer in mode 4) - \expandafter \tabu@quickend - \or % case 3 = outer is in mode 3 because of no X - \begingroup - \tabu@evr{\tabu@verticalinit}\tabu@celllalign@def{\tabu@verticalmeasure}% - \def\tabu@cellralign{\tabu@verticalspacing}% - \expandafter \tabu@measuring - \else % case 4 = horizontal measure - \begingroup - \global\let\tabu@elapsedtime \tabu@message@etime - \long\def\multicolumn##1##2##3{\multispan{##1}}% - \let\tabu@startpboxORI \@startpbox - \iftabu@spread - \def\tabu@naturalXmax {\z@}% - \let\tabu@naturalXmin \tabu@naturalXmax - \tabu@evr{\global\tabu@naturalX \z@}% - \let\@startpbox \tabu@startpboxmeasure - \else\iftabu@negcoef - \let\@startpbox \tabu@startpboxmeasure - \else \let\@startpbox \tabu@startpboxquick - \fi\fi - \expandafter \tabu@measuring - \fi -}% \tabu@strategy -\def\tabu@measuring{\expandafter \tabu@trial \expandafter - \count@ \the\count@ \tabu@endtrial -}% \tabu@measuring -\def\tabu@trial{\iftabu@long \tabu@longtrial \else \tabu@shorttrial \fi} -\def\tabu@shorttrial {\setbox\tabu@box \hbox\bgroup \tabu@seteverycr - \ifx \tabu@savecounters\relax \else - \let\tabu@savecounters \relax \tabu@clckpt \fi - $\iftabuscantokens \tabu@rescan \else \expandafter\@secondoftwo \fi - \expandafter{\expandafter \tabuthepreamble - \the\tabu@thebody - \csname tabu@adl@endtrial\endcsname - \endarray}$\egroup % got \tabu@box -}% \tabu@shorttrial -\def\tabu@longtrial {\setbox\tabu@box \hbox\bgroup \tabu@seteverycr - \ifx \tabu@savecounters\relax \else - \let\tabu@savecounters \relax \tabu@clckpt \fi - \iftabuscantokens \tabu@rescan \else \expandafter\@secondoftwo \fi - \expandafter{\expandafter \tabuthepreamble - \the\tabu@thebody - \tabuendlongtrial}\egroup % got \tabu@box -}% \tabu@longtrial -\def\tabuendlongtrial{% no @ allowed for \scantokens - \LT@echunk \global\setbox\@ne \hbox{\unhbox\@ne}\kern\wd\@ne - \LT@get@widths -}% \tabuendlongtrial -\def\tabu@adl@endtrial{% - \crcr \noalign{\global\adl@ncol \tabu@nbcols}}% anything global is crap, junky and fails ! -\def\tabu@seteverycr {\tabu@reset - \everycr \expandafter{\the\everycr \tabu@everycr}% - \let\everycr \tabu@noeverycr % -}% \tabu@seteverycr -\def\tabu@noeverycr{{\aftergroup\tabu@restoreeverycr \afterassignment}\toks@} -\def\tabu@restoreeverycr {\let\everycr \tabu@@everycr} -\def\tabu@everycr {\iftabu@everyrow \noalign{\tabu@everyrow}\fi} -\def\tabu@endoftrials {% - \iftabuscantokens \expandafter\@firstoftwo - \else \expandafter\@secondoftwo - \fi - {\expandafter \tabu@closetrialsgroup \expandafter - \tabu@rescan \expandafter{% - \expandafter\tabuthepreamble - \the\expandafter\tabu@thebody - \iftabu@long \else \endarray \fi}} - {\expandafter\tabu@closetrialsgroup \expandafter - \tabuthepreamble - \the\tabu@thebody}% - \tabu@endenvir % Finish ! -}% \tabu@endoftrials -\def\tabu@closetrialsgroup {% - \toks@\expandafter{\tabu@endenvir}% - \edef\tabu@bufferX{\endgroup - \tabucolX \the\tabucolX - \tabu@target \the\tabu@target - \tabu@cnt \the\tabu@cnt - \def\noexpand\tabu@endenvir{\the\toks@}% - %Quid de \@halignto = \tabu@halignto ?? - }% \tabu@bufferX - \tabu@bufferX - \ifcase\tabu@nested % print out (outer in mode 0) - \global\tabu@cnt \tabu@cnt - \tabu@evr{\tabu@verticaldynamicadjustment}% - \tabu@celllalign@def{\everypar{}}\let\tabu@cellralign \@empty - \let\@finalstrut \tabu@finalstrut - \else % vertical measure of nested tabu - \tabu@evr{\tabu@verticalinit}% - \tabu@celllalign@def{\tabu@verticalmeasure}% - \def\tabu@cellralign{\tabu@verticalspacing}% - \fi - \tabu@clckpt \let\@halignto \tabu@halignto - \let\@halignto \@empty - \tabu@seteverycr - \ifdim \tabustrutrule>\z@ \ifnum\tabu@nested=\z@ - \setbox\@arstrutbox \box\voidb@x % force \@arstrutbox to be rebuilt (visible struts) - \fi\fi -}% \tabu@closetrialsgroup -\def\tabu@quickend {\expandafter \endgroup \expandafter - \tabu@target \the\tabu@target \tabu@quickrule - \let\endarray \relax \tabu@endenvir -}% \tabu@quickend -\def\tabu@endtrial {\relax % stops \count@ assignment ! - \ifcase \count@ \tabu@err % case 0 = impossible here - \or \tabu@err % case 1 = impossible here - \or \tabu@err % case 2 = impossible here - \or % case 3 = outer goes into mode 0 - \def\tabu@bufferX{\endgroup}\count@ \z@ - \else % case 4 = outer goes into mode 3 - \iftabu@spread \tabu@spreadarith % inner into mode 1 (outer in mode 3) - \else \tabu@arith % or 2 (outer in mode 4) - \fi - \count@=% - \ifcase\tabu@nested \thr@@ % outer goes into mode 3 - \else\iftabu@measuring \tw@ % outer is in mode 4 - \else \@ne % outer is in mode 3 - \fi\fi - \edef\tabu@bufferX{\endgroup - \tabucolX \the\tabucolX - \tabu@target \the\tabu@target}% - \fi - \expandafter \tabu@bufferX \expandafter - \count@ \the\count@ \tabu@strategy -}% \tabu@endtrial -\def\tabu@err{\errmessage{(tabu) Internal impossible error! (\count@=\the\count@)}} -%% The algorithms: compute the widths / stop or go on --------------- -\def\tabu@arithnegcoef {% - \@tempdima \z@ \dimen@ \z@ \let\tabu@ \tabu@arith@negcoef \tabu@Xcoefs -}% \tabu@arithnegcoef -\def\tabu@arith@negcoef #1#2{% - \ifdim #2\p@>\z@ \advance\dimen@ #2\p@ % saturated by definition - \advance\@tempdima #2\tabucolX - \else - \ifdim -#2\tabucolX <\tabu@wd{#1}% c_i X < natural width <= \tabu@target-> saturated - \advance\dimen@ -#2\p@ - \advance\@tempdima -#2\tabucolX - \else - \advance\@tempdima \tabu@wd{#1}% natural width <= c_i X => neutralised - \ifdim \tabu@wd{#1}<\tabu@target \else % neutralised - \advance\dimen@ -#2\p@ % saturated (natural width = tabu@target) - \fi - \fi - \fi -}% \tabu@arith@negcoef -\def\tabu@givespace #1#2{% here \tabu@DELTA < \z@ - \ifdim \@tempdima=\z@ - \tabu@wddef{#1}{\the\dimexpr -\tabu@DELTA*\p@/\tabu@Xsum}% - \else - \tabu@wddef{#1}{\the\dimexpr \tabu@hsize{#1}{#2} - *(\p@ -\tabu@DELTA*\p@/\@tempdima)/\p@\relax}% - \fi -}% \tabu@givespace -\def\tabu@arith {\advance\tabu@cnt \@ne - \ifnum \tabu@cnt=\@ne \tabu@message{\tabu@titles}\fi - \tabu@arithnegcoef - \@tempdimb \dimexpr \wd\tabu@box -\@tempdima \relax % - \tabu@DELTA = \dimexpr \wd\tabu@box - \tabu@target \relax - \tabu@message{\tabu@message@arith}% - \ifdim \tabu@DELTA <\tabu@hfuzz - \ifdim \tabu@DELTA<\z@ % wd (tabu)<\tabu@target ? - \let\tabu@ \tabu@givespace \tabu@Xcoefs - \advance\@tempdima \@tempdimb \advance\@tempdima -\tabu@DELTA % for message - \else % already converged: nothing to do but nearly impossible... - \fi - \tabucolX \maxdimen - \tabu@measuringfalse - \else % need for narrower X columns - \tabucolX =\dimexpr (\@tempdima -\tabu@DELTA) *\p@/\tabu@Xsum \relax - \tabu@measuringtrue - \@whilesw \iftabu@measuring\fi {% - \advance\tabu@cnt \@ne - \tabu@arithnegcoef - \tabu@DELTA =\dimexpr \@tempdima+\@tempdimb -\tabu@target \relax % always < 0 here - \tabu@message{\tabu@header - \tabu@msgalign \tabucolX { }{ }{ }{ }{ }\@@ - \tabu@msgalign \@tempdima+\@tempdimb { }{ }{ }{ }{ }\@@ - \tabu@msgalign \tabu@target { }{ }{ }{ }{ }\@@ - \tabu@msgalign@PT \dimen@ { }{}{}{}{}{}{}\@@ - \ifdim -\tabu@DELTA<\tabu@hfuzz \tabu@spaces target ok\else - \tabu@msgalign \dimexpr -\tabu@DELTA *\p@/\dimen@ {}{}{}{}{}\@@ - \fi}% - \ifdim -\tabu@DELTA<\tabu@hfuzz - \advance\@tempdima \@tempdimb % for message - \tabu@measuringfalse - \else - \advance\tabucolX \dimexpr -\tabu@DELTA *\p@/\dimen@ \relax - \fi - }% - \fi - \tabu@message{\tabu@message@reached}% - \edef\tabu@bufferX{\endgroup \tabu@cnt \the\tabu@cnt - \tabucolX \the\tabucolX - \tabu@target \the\tabu@target}% -}% \tabu@arith -\def\tabu@spreadarith {% - \dimen@ \z@ \@tempdima \tabu@naturalXmax \let\tabu@ \tabu@spread@arith \tabu@Xcoefs - \edef\tabu@naturalXmin {\the\dimexpr\tabu@naturalXmin*\dimen@/\p@}% - \@tempdimc =\dimexpr \wd\tabu@box -\tabu@naturalXmax+\tabu@naturalXmin \relax - \iftabu@measuring - \tabu@target =\dimexpr \@tempdimc+\tabu@spreadtarget \relax - \edef\tabu@bufferX{\endgroup \tabucolX \the\tabucolX \tabu@target\the\tabu@target}% - \else - \tabu@message{\tabu@message@spreadarith}% - \ifdim \dimexpr \@tempdimc+\tabu@spreadtarget >\tabu@target - \tabu@message{(tabu) spread - \ifdim \@tempdimc>\tabu@target useless here: default target used% - \else too large: reduced to fit default target\fi.}% - \else - \tabu@target =\dimexpr \@tempdimc+\tabu@spreadtarget \relax - \tabu@message{(tabu) spread: New target set to \the\tabu@target^^J}% - \fi - \begingroup \let\tabu@wddef \@gobbletwo - \@tempdimb \@tempdima - \tabucolX@init - \tabu@arithnegcoef - \wd\tabu@box =\dimexpr \wd\tabu@box +\@tempdima-\@tempdimb \relax - \expandafter\endgroup \expandafter\tabucolX \the\tabucolX - \tabu@arith - \fi -}% \tabu@spreadarith -\def\tabu@spread@arith #1#2{% - \ifdim #2\p@>\z@ \advance\dimen@ #2\p@ - \else \advance\@tempdima \tabu@wd{#1}\relax - \fi -}% \tabu@spread@arith -%% Reporting in the .log file --------------------------------------- -\def\tabu@message@defaulttarget{% - \ifnum\tabu@nested=\z@^^J(tabu) Default target: - \ifx\tabudefaulttarget\linewidth \string\linewidth - \ifdim \tabu@thetarget=\linewidth \else - -\the\dimexpr\linewidth-\tabu@thetarget\fi = - \else\ifx\tabudefaulttarget\linegoal\string\linegoal= - \fi\fi - \else (tabu) Default target (nested): \fi - \the\tabu@target \on@line - \ifnum\tabu@nested=\z@ , page \the\c@page\fi} -\def\tabu@message@target {^^J(tabu) Target specified: - \the\tabu@target \on@line, page \the\c@page} -\def\tabu@message@arith {\tabu@header - \tabu@msgalign \tabucolX { }{ }{ }{ }{ }\@@ - \tabu@msgalign \wd\tabu@box { }{ }{ }{ }{ }\@@ - \tabu@msgalign \tabu@target { }{ }{ }{ }{ }\@@ - \tabu@msgalign@PT \dimen@ { }{}{}{}{}{}{}\@@ - \ifdim \tabu@DELTA<\tabu@hfuzz giving space\else - \tabu@msgalign \dimexpr (\@tempdima-\tabu@DELTA) *\p@/\tabu@Xsum -\tabucolX {}{}{}{}{}\@@ - \fi -}% \tabu@message@arith -\def\tabu@message@spreadarith {\tabu@spreadheader - \tabu@msgalign \tabu@spreadtarget { }{ }{ }{ }{}\@@ - \tabu@msgalign \wd\tabu@box { }{ }{ }{ }{}\@@ - \tabu@msgalign -\tabu@naturalXmax { }{}{}{}{}\@@ - \tabu@msgalign \tabu@naturalXmin { }{ }{ }{ }{}\@@ - \tabu@msgalign \ifdim \dimexpr\@tempdimc>\tabu@target \tabu@target - \else \@tempdimc+\tabu@spreadtarget \fi - {}{}{}{}{}\@@} -\def\tabu@message@negcoef #1#2{ - \tabu@spaces\tabu@spaces\space * #1. X[\rem@pt#2]: - \space width = \tabu@wd {#1} - \expandafter\string\csname tabu@\the\tabu@nested.W\number#1\endcsname - \ifdim -\tabu@pt#2\tabucolX<\tabu@target - < \number-\rem@pt#2 X - = \the\dimexpr -\tabu@pt#2\tabucolX \relax - \else - <= \the\tabu@target\space < \number-\rem@pt#2 X\fi} -\def\tabu@message@reached{\tabu@header - ******* Reached Target: - hfuzz = \tabu@hfuzz\on@line\space *******} -\def\tabu@message@etime{\edef\tabu@stoptime{\the\pdfelapsedtime}% - \tabu@message{(tabu)\tabu@spaces Time elapsed during measure: - \the\numexpr(\tabu@stoptime-\tabu@starttime-32767)/65536\relax sec - \the\numexpr\numexpr(\tabu@stoptime-\tabu@starttime) - -\numexpr(\tabu@stoptime-\tabu@starttime-32767)/65536\relax*65536\relax - *1000/65536\relax ms \tabu@spaces(\the\tabu@cnt\space - cycle\ifnum\tabu@cnt>\@ne s\fi)^^J^^J}} -\def\tabu@message@verticalsp {% - \ifdim \@tempdima>\tabu@ht - \ifdim \@tempdimb>\tabu@dp - \expandafter\expandafter\expandafter\string\tabu@ht = - \tabu@msgalign \@tempdima { }{ }{ }{ }{ }\@@ - \expandafter\expandafter\expandafter\string\tabu@dp = - \tabu@msgalign \@tempdimb { }{ }{ }{ }{ }\@@^^J% - \else - \expandafter\expandafter\expandafter\string\tabu@ht = - \tabu@msgalign \@tempdima { }{ }{ }{ }{ }\@@^^J% - \fi - \else\ifdim \@tempdimb>\tabu@dp - \tabu@spaces\tabu@spaces\tabu@spaces - \expandafter\expandafter\expandafter\string\tabu@dp = - \tabu@msgalign \@tempdimb { }{ }{ }{ }{ }\@@^^J\fi - \fi -}% \tabu@message@verticalsp -\edef\tabu@spaces{\@spaces} -\def\tabu@strippt{\expandafter\tabu@pt\the} -{\@makeother\P \@makeother\T\lowercase{\gdef\tabu@pt #1PT{#1}}} -\def\tabu@msgalign{\expandafter\tabu@msg@align\the\dimexpr} -\def\tabu@msgalign@PT{\expandafter\tabu@msg@align\romannumeral-`\0\tabu@strippt} -\def\do #1{% - \def\tabu@msg@align##1.##2##3##4##5##6##7##8##9\@@{% - \ifnum##1<10 #1 #1\else - \ifnum##1<100 #1 \else - \ifnum##1<\@m #1\fi\fi\fi - ##1.##2##3##4##5##6##7##8#1}% - \def\tabu@header{(tabu) \ifnum\tabu@cnt<10 #1\fi\the\tabu@cnt) }% - \def\tabu@titles{\ifnum \tabu@nested=\z@ - (tabu) Try#1 #1 tabu X #1 #1 #1tabu Width #1 #1 Target - #1 #1 #1 Coefs #1 #1 #1 Update^^J\fi}% - \def\tabu@spreadheader{% - (tabu) Try#1 #1 Spread #1 #1 tabu Width #1 #1 #1 Nat. X #1 #1 #1 #1Nat. Min. - #1 New Target^^J% - (tabu) sprd} - \def\tabu@message@save {\begingroup - \def\x ####1{\tabu@msg@align ####1{ }{ }{ }{ }{}\@@} - \def\z ####1{\expandafter\x\expandafter{\romannumeral-`\0\tabu@strippt - \dimexpr####1\p@{ }{ }}}% - \let\color \relax \def\tabu@rulesstyle ####1####2{\detokenize{####1}}% - \let\CT@arc@ \relax \let\@preamble \@gobble - \let\tabu@savedpream \@firstofone - \let\tabu@savedparams \@firstofone - \def\tabu@target ####1\relax {(tabu) target #1 #1 #1 #1 #1 = \x{####1}^^J}% - \def\tabucolX ####1\relax {(tabu) X columns width#1 = \x{####1}^^J}% - \def\tabu@nbcols ####1\relax {(tabu) Number of columns: \z{####1}^^J}% - \def\tabu@aligndefault ####1{(tabu) Default alignment: #1 #1 ####1^^J}% - \def\col@sep ####1\relax {(tabu) column sep #1 #1 #1 = \x{####1}^^J}% - \def\arrayrulewidth ####1\relax{(tabu) arrayrulewidth #1 = \x{####1}}% - \def\doublerulesep ####1\relax { doublerulesep = \x{####1}^^J}% - \def\extratabsurround####1\relax{(tabu) extratabsurround = \x{####1}^^J}% - \def\extrarowheight ####1\relax{(tabu) extrarowheight #1 = \x{####1}}% - \def\extrarowdepth ####1\relax {extrarowdepth = \x{####1}^^J}% - \def\abovetabulinesep####1\relax{(tabu) abovetabulinesep=\x{####1} }% - \def\belowtabulinesep####1\relax{ belowtabulinesep=\x{####1}^^J}% - \def\arraystretch ####1{(tabu) arraystretch #1 #1 = \z{####1}^^J}% - \def\minrowclearance####1\relax{(tabu) minrowclearance #1 = \x{####1}^^J}% - \def\tabu@arc@L ####1{(tabu) taburulecolor #1 #1 = ####1^^J}% - \def\tabu@drsc@L ####1{(tabu) tabudoublerulecolor= ####1^^J}% - \def\tabu@evr@L ####1{(tabu) everyrow #1 #1 #1 #1 = \detokenize{####1}^^J}% - \def\tabu@ls@L ####1{(tabu) line style = \detokenize{####1}^^J}% - \def\NC@find ####1\@nil{(tabu) tabu preamble#1 #1 = \detokenize{####1}^^J}% - \def\tabu@wddef####1####2{(tabu) Natural width ####1 = \x{####2}^^J}% - \let\edef \@gobbletwo \let\def \@empty \let\let \@gobbletwo - \tabu@message{% - (tabu) \string\savetabu{\tabu@temp}: \on@line^^J% - \tabu@usetabu \@nil^^J}% - \endgroup} -}\do{ } -%% Measuring the natural width (varwidth) - store the results ------- -\def\tabu@startpboxmeasure #1{\bgroup % entering \vtop - \edef\tabu@temp{\expandafter\@secondoftwo \ifx\tabu@hsize #1\else\relax\fi}% - \ifodd 1\ifx \tabu@temp\@empty 0 \else % starts with \tabu@hsize ? - \iftabu@spread \else % if spread -> measure - \ifdim \tabu@temp\p@>\z@ 0 \fi\fi\fi% if coef>0 -> do not measure - \let\@startpbox \tabu@startpboxORI % restore immediately (nesting) - \tabu@measuringtrue % for the quick option... - \tabu@Xcol =\expandafter\@firstoftwo\ifx\tabu@hsize #1\fi - \ifdim \tabu@temp\p@>\z@ \ifdim \tabu@temp\tabucolX<\tabu@target - \tabu@target=\tabu@temp\tabucolX \fi\fi - \setbox\tabu@box \hbox \bgroup - \begin{varwidth}\tabu@target - \let\FV@ListProcessLine \tabu@FV@ListProcessLine % \hbox to natural width... - \narrowragged \arraybackslash \parfillskip \@flushglue - \ifdefined\pdfadjustspacing \pdfadjustspacing\z@ \fi - \bgroup \aftergroup\tabu@endpboxmeasure - \ifdefined \cellspacetoplimit \tabu@cellspacepatch \fi - \else \expandafter\@gobble - \tabu@startpboxquick{#1}% \@gobble \bgroup - \fi -}% \tabu@startpboxmeasure -\def\tabu@cellspacepatch{\def\bcolumn##1\@nil{}\let\ecolumn\@empty - \bgroup\color@begingroup} -\def\tabu@endpboxmeasure {% - \@finalstrut \@arstrutbox - \end{varwidth}\egroup % - \ifdim \tabu@temp\p@ <\z@ % neg coef - \ifdim \tabu@wd\tabu@Xcol <\wd\tabu@box - \tabu@wddef\tabu@Xcol {\the\wd\tabu@box}% - \tabu@debug{\tabu@message@endpboxmeasure}% - \fi - \else % spread coef>0 - \global\advance \tabu@naturalX \wd\tabu@box - \@tempdima =\dimexpr \wd\tabu@box *\p@/\dimexpr \tabu@temp\p@\relax \relax - \ifdim \tabu@naturalXmax <\tabu@naturalX - \xdef\tabu@naturalXmax {\the\tabu@naturalX}\fi - \ifdim \tabu@naturalXmin <\@tempdima - \xdef\tabu@naturalXmin {\the\@tempdima}\fi - \fi - \box\tabu@box \egroup % end of \vtop (measure) restore \tabu@target -}% \tabu@endpboxmeasure -\def\tabu@wddef #1{\expandafter\xdef - \csname tabu@\the\tabu@nested.W\number#1\endcsname} -\def\tabu@wd #1{\csname tabu@\the\tabu@nested.W\number#1\endcsname} -\def\tabu@message@endpboxmeasure{\tabu@spaces\tabu@spaces<-> % <-> save natural wd - \the\tabu@Xcol. X[\tabu@temp]: - target = \the\tabucolX \space - \expandafter\expandafter\expandafter\string\tabu@wd\tabu@Xcol - =\tabu@wd\tabu@Xcol -}% \tabu@message@endpboxmeasure -\def\tabu@startpboxquick {\bgroup - \let\@startpbox \tabu@startpboxORI % restore immediately - \let\tabu \tabu@quick % \begin is expanded before... - \expandafter\@gobble \@startpbox % gobbles \bgroup -}% \tabu@startpboxquick -\def\tabu@quick {\begingroup \iffalse{\fi \ifnum0=`}\fi - \toks@{}\def\tabu@stack{b}\tabu@collectbody \tabu@endquick -}% \tabu@quick -\def\tabu@endquick {% - \ifodd 1\ifx\tabu@end@envir\tabu@endtabu \else - \ifx\tabu@end@envir\tabu@endtabus \else 0\fi\fi\relax - \endgroup - \else \let\endtabu \relax - \tabu@end@envir - \fi -}% \tabu@quick -\def\tabu@endtabu {\end{tabu}} -\def\tabu@endtabus {\end{tabu*}} -%% Measuring the heights and depths - store the results ------------- -\def\tabu@verticalmeasure{\everypar{}% - \ifnum \currentgrouptype>12 % 14=semi-simple, 15=math shift group - \setbox\tabu@box =\hbox\bgroup - \let\tabu@verticalspacing \tabu@verticalsp@lcr - \d@llarbegin % after \hbox ... - \else - \edef\tabu@temp{\ifnum\currentgrouptype=5\vtop - \else\ifnum\currentgrouptype=12\vcenter - \else\vbox\fi\fi}% - \setbox\tabu@box \hbox\bgroup$\tabu@temp \bgroup - \let\tabu@verticalspacing \tabu@verticalsp@pmb - \fi -}% \tabu@verticalmeasure -\def\tabu@verticalsp@lcr{% - \d@llarend \egroup % - \@tempdima \dimexpr \ht\tabu@box+\abovetabulinesep - \@tempdimb \dimexpr \dp\tabu@box+\belowtabulinesep \relax - \ifdim\tabustrutrule>\z@ \tabu@debug{\tabu@message@verticalsp}\fi - \ifdim \tabu@ht<\@tempdima \tabu@htdef{\the\@tempdima}\fi - \ifdim \tabu@dp<\@tempdimb \tabu@dpdef{\the\@tempdimb}\fi - \noindent\vrule height\@tempdima depth\@tempdimb -}% \tabu@verticalsp@lcr -\def\tabu@verticalsp@pmb{% inserts struts as needed - \par \expandafter\egroup - \expandafter$\expandafter - \egroup \expandafter - \@tempdimc \the\prevdepth - \@tempdima \dimexpr \ht\tabu@box+\abovetabulinesep - \@tempdimb \dimexpr \dp\tabu@box+\belowtabulinesep \relax - \ifdim\tabustrutrule>\z@ \tabu@debug{\tabu@message@verticalsp}\fi - \ifdim \tabu@ht<\@tempdima \tabu@htdef{\the\@tempdima}\fi - \ifdim \tabu@dp<\@tempdimb \tabu@dpdef{\the\@tempdimb}\fi - \let\@finalstrut \@gobble - \hrule height\@tempdima depth\@tempdimb width\hsize -%% \box\tabu@box -}% \tabu@verticalsp@pmb - -\def\tabu@verticalinit{% - \ifnum \c@taburow=\z@ \tabu@rearstrut \fi % after \tabu@reset ! - \advance\c@taburow \@ne - \tabu@htdef{\the\ht\@arstrutbox}\tabu@dpdef{\the\dp\@arstrutbox}% - \advance\c@taburow \m@ne -}% \tabu@verticalinit -\def\tabu@htdef {\expandafter\xdef \csname tabu@\the\tabu@nested.H\the\c@taburow\endcsname} -\def\tabu@ht {\csname tabu@\the\tabu@nested.H\the\c@taburow\endcsname} -\def\tabu@dpdef {\expandafter\xdef \csname tabu@\the\tabu@nested.D\the\c@taburow\endcsname} -\def\tabu@dp {\csname tabu@\the\tabu@nested.D\the\c@taburow\endcsname} -\def\tabu@verticaldynamicadjustment {% - \advance\c@taburow \@ne - \extrarowheight \dimexpr\tabu@ht - \ht\strutbox - \extrarowdepth \dimexpr\tabu@dp - \dp\strutbox - \let\arraystretch \@empty - \advance\c@taburow \m@ne -}% \tabu@verticaldynamicadjustment -\def\tabuphantomline{\crcr \noalign{% - {\globaldefs \@ne - \setbox\@arstrutbox \box\voidb@x - \let\tabu@@celllalign \tabu@celllalign - \let\tabu@@cellralign \tabu@cellralign - \let\tabu@@cellleft \tabu@cellleft - \let\tabu@@cellright \tabu@cellright - \let\tabu@@thevline \tabu@thevline - \let\tabu@celllalign \@empty - \let\tabu@cellralign \@empty - \let\tabu@cellright \@empty - \let\tabu@cellleft \@empty - \let\tabu@thevline \relax}% - \edef\tabu@temp{\tabu@multispan \tabu@nbcols{\noindent &}}% - \toks@\expandafter{\tabu@temp \noindent\tabu@everyrowfalse \cr - \noalign{\tabu@rearstrut - {\globaldefs\@ne - \let\tabu@celllalign \tabu@@celllalign - \let\tabu@cellralign \tabu@@cellralign - \let\tabu@cellleft \tabu@@cellleft - \let\tabu@cellright \tabu@@cellright - \let\tabu@thevline \tabu@@thevline}}}% - \expandafter}\the\toks@ -}% \tabuphantomline -%% \firsthline and \lasthline corrections --------------------------- -\def\tabu@firstline {\tabu@hlineAZ \tabu@firsthlinecorrection {}} -\def\tabu@firsthline{\tabu@hlineAZ \tabu@firsthlinecorrection \hline} -\def\tabu@lastline {\tabu@hlineAZ \tabu@lasthlinecorrection {}} -\def\tabu@lasthline {\tabu@hlineAZ \tabu@lasthlinecorrection \hline} -\def\tabu@hline {% replaces \hline if no colortbl (see \AtBeginDocument) - \noalign{\ifnum0=`}\fi - {\CT@arc@\hrule height\arrayrulewidth}% - \futurelet \tabu@temp \tabu@xhline -}% \tabu@hline -\def\tabu@xhline{% - \ifx \tabu@temp \hline - {\ifx \CT@drsc@\relax \vskip - \else\ifx \CT@drsc@\@empty \vskip - \else \CT@drsc@\hrule height - \fi\fi - \doublerulesep}% - \fi - \ifnum0=`{\fi}% -}% \tabu@xhline -\def\tabu@hlineAZ #1#2{\noalign{\ifnum0=`}\fi \dimen@ \z@ \count@ \z@ - \toks@{}\def\tabu@hlinecorrection{#1}\def\tabu@temp{#2}% - \tabu@hlineAZsurround -}% \tabu@hlineAZ -\newcommand*\tabu@hlineAZsurround[1][\extratabsurround]{% - \extratabsurround #1\let\tabucline \tabucline@scan - \let\hline \tabu@hlinescan \let\firsthline \hline - \let\cline \tabu@clinescan \let\lasthline \hline - \expandafter \futurelet \expandafter \tabu@temp - \expandafter \tabu@nexthlineAZ \tabu@temp -}% \tabu@hlineAZsurround -\def\tabu@hlinescan {\tabu@thick \arrayrulewidth \tabu@xhlineAZ \hline} -\def\tabu@clinescan #1{\tabu@thick \arrayrulewidth \tabu@xhlineAZ {\cline{#1}}} -\def\tabucline@scan{\@testopt \tabucline@sc@n {}} -\def\tabucline@sc@n #1[#2]{\tabu@xhlineAZ {\tabucline[{#1}]{#2}}} -\def\tabu@nexthlineAZ{% - \ifx \tabu@temp\hline \else - \ifx \tabu@temp\cline \else - \ifx \tabu@temp\tabucline \else - \tabu@hlinecorrection - \fi\fi\fi -}% \tabu@nexthlineAZ -\def\tabu@xhlineAZ #1{% - \toks@\expandafter{\the\toks@ #1}% - \@tempdimc \tabu@thick % The last line width - \ifcase\count@ \@tempdimb \tabu@thick % The first line width - \else \advance\dimen@ \dimexpr \tabu@thick+\doublerulesep \relax - \fi - \advance\count@ \@ne \futurelet \tabu@temp \tabu@nexthlineAZ -}% \tabu@xhlineAZ -\def\tabu@firsthlinecorrection{% \count@ = number of \hline -1 - \@tempdima \dimexpr \ht\@arstrutbox+\dimen@ - \edef\firsthline{% - \omit \hbox to\z@{\hss{\noexpand\tabu@DBG{yellow}\vrule - height \the\dimexpr\@tempdima+\extratabsurround - depth \dp\@arstrutbox - width \tabustrutrule}\hss}\cr - \noalign{\vskip -\the\dimexpr \@tempdima+\@tempdimb - +\dp\@arstrutbox \relax}% - \the\toks@ - }\ifnum0=`{\fi - \expandafter}\firsthline % we are then ! -}% \tabu@firsthlinecorrection -\def\tabu@lasthlinecorrection{% - \@tempdima \dimexpr \dp\@arstrutbox+\dimen@+\@tempdimb+\@tempdimc - \edef\lasthline{% - \the\toks@ - \noalign{\vskip -\the\dimexpr\dimen@+\@tempdimb+\dp\@arstrutbox}% - \omit \hbox to\z@{\hss{\noexpand\tabu@DBG{yellow}\vrule - depth \the\dimexpr \dp\@arstrutbox+\@tempdimb+\dimen@ - +\extratabsurround-\@tempdimc - height \z@ - width \tabustrutrule}\hss}\cr - }\ifnum0=`{\fi - \expandafter}\lasthline % we are then ! -}% \tabu@lasthlinecorrection -\def\tabu@LT@@hline{% - \ifx\LT@next\hline - \global\let\LT@next \@gobble - \ifx \CT@drsc@\relax - \gdef\CT@LT@sep{% - \noalign{\penalty-\@medpenalty\vskip\doublerulesep}}% - \else - \gdef\CT@LT@sep{% - \multispan\LT@cols{% - \CT@drsc@\leaders\hrule\@height\doublerulesep\hfill}\cr}% - \fi - \else - \global\let\LT@next\empty - \gdef\CT@LT@sep{% - \noalign{\penalty-\@lowpenalty\vskip-\arrayrulewidth}}% - \fi - \ifnum0=`{\fi}% - \multispan\LT@cols - {\CT@arc@\leaders\hrule\@height\arrayrulewidth\hfill}\cr - \CT@LT@sep - \multispan\LT@cols - {\CT@arc@\leaders\hrule\@height\arrayrulewidth\hfill}\cr - \noalign{\penalty\@M}% - \LT@next -}% \tabu@LT@@hline -%% Horizontal lines : \tabucline ------------------------------------ -\let\tabu@start \@tempcnta -\let\tabu@stop \@tempcntb -\newcommand*\tabucline{\noalign{\ifnum0=`}\fi \tabu@cline} -\newcommand*\tabu@cline[2][]{\tabu@startstop{#2}% - \ifnum \tabu@stop<\z@ \toks@{}% - \else \tabu@clinearg{#1}\tabu@thestyle - \edef\tabucline{\toks@{% - \ifnum \tabu@start>\z@ \omit - \tabu@multispan\tabu@start {\span\omit}&\fi - \omit \tabu@multispan\tabu@stop {\span\omit}% - \tabu@thehline\cr - }}\tabucline - \tabu@tracinglines{(tabu:tabucline) Style: #1^^J\the\toks@^^J^^J}% - \fi - \futurelet \tabu@temp \tabu@xcline -}% \tabu@cline -\def\tabu@clinearg #1{% - \ifx\\#1\\\let\tabu@thestyle \tabu@ls@ - \else \@defaultunits \expandafter\let\expandafter\@tempa - \romannumeral-`\0#1\relax \@nnil - \ifx \hbox\@tempa \tabu@clinebox{#1}% - \else\ifx \box\@tempa \tabu@clinebox{#1}% - \else\ifx \vbox\@tempa \tabu@clinebox{#1}% - \else\ifx \vtop\@tempa \tabu@clinebox{#1}% - \else\ifx \copy\@tempa \tabu@clinebox{#1}% - \else\ifx \leaders\@tempa \tabu@clineleads{#1}% - \else\ifx \cleaders\@tempa \tabu@clineleads{#1}% - \else\ifx \xleaders\@tempa \tabu@clineleads{#1}% - \else\tabu@getline {#1}% - \fi\fi\fi\fi\fi\fi\fi\fi - \fi -}% \tabu@clinearg -\def\tabu@clinebox #1{\tabu@clineleads{\xleaders#1\hss}} -\def\tabu@clineleads #1{% - \let\tabu@thestyle \relax \let\tabu@leaders \@undefined - \gdef\tabu@thehrule{#1}} -\def\tabu@thehline{\begingroup - \ifdefined\tabu@leaders - \noexpand\tabu@thehleaders - \else \noexpand\tabu@thehrule - \fi \endgroup -}% \tabu@thehline -\def\tabu@xcline{% - \ifx \tabu@temp\tabucline - \toks@\expandafter{\the\toks@ \noalign - {\ifx\CT@drsc@\relax \vskip - \else \CT@drsc@\hrule height - \fi - \doublerulesep}}% - \fi - \tabu@docline -}% \tabu@xcline -\def\tabu@docline {\ifnum0=`{\fi \expandafter}\the\toks@} -\def\tabu@docline@evr {\xdef\tabu@doclineafter{\the\toks@}% - \ifnum0=`{\fi}\aftergroup\tabu@doclineafter} -\def\tabu@multispan #1#2{% - \ifnum\numexpr#1>\@ne #2\expandafter\tabu@multispan - \else \expandafter\@gobbletwo - \fi {#1-1}{#2}% -}% \tabu@multispan -\def\tabu@startstop #1{\tabu@start@stop #1\relax 1-\tabu@nbcols \@nnil} -\def\tabu@start@stop #1-#2\@nnil{% - \@defaultunits \tabu@start\number 0#1\relax \@nnil - \@defaultunits \tabu@stop \number 0#2\relax \@nnil - \tabu@stop \ifnum \tabu@start>\tabu@nbcols \m@ne - \else\ifnum \tabu@stop=\z@ \tabu@nbcols - \else\ifnum \tabu@stop>\tabu@nbcols \tabu@nbcols - \else \tabu@stop - \fi\fi\fi - \advance\tabu@start \m@ne - \ifnum \tabu@start>\z@ \advance\tabu@stop -\tabu@start \fi -}% \tabu@start@stop -%% Numbers: siunitx S columns (and \tabudecimal) ------------------- -\def\tabu@tabudecimal #1{% - \def\tabu@decimal{#1}\@temptokena{}% - \let\tabu@getdecimal@ \tabu@getdecimal@ignorespaces - \tabu@scandecimal -}% \tabu@tabudecimal -\def\tabu@scandecimal{\futurelet \tabu@temp \tabu@getdecimal@} -\def\tabu@skipdecimal#1{#1\tabu@scandecimal} -\def\tabu@getdecimal@ignorespaces{% - \ifcase 0\ifx\tabu@temp\ignorespaces\else - \ifx\tabu@temp\@sptoken1\else - 2\fi\fi\relax - \let\tabu@getdecimal@ \tabu@getdecimal - \expandafter\tabu@skipdecimal - \or \expandafter\tabu@gobblespace\expandafter\tabu@scandecimal - \else \expandafter\tabu@skipdecimal - \fi -}% \tabu@getdecimal@ignorespaces -\def\tabu@get@decimal#1{\@temptokena\expandafter{\the\@temptokena #1}% - \tabu@scandecimal} -\def\do#1{% - \def\tabu@get@decimalspace#1{% - \@temptokena\expandafter{\the\@temptokena #1}\tabu@scandecimal}% -}\do{ } -\let\tabu@@tabudecimal \tabu@tabudecimal -\def\tabu@getdecimal{% - \ifcase 0\ifx 0\tabu@temp\else - \ifx 1\tabu@temp\else - \ifx 2\tabu@temp\else - \ifx 3\tabu@temp\else - \ifx 4\tabu@temp\else - \ifx 5\tabu@temp\else - \ifx 6\tabu@temp\else - \ifx 7\tabu@temp\else - \ifx 8\tabu@temp\else - \ifx 9\tabu@temp\else - \ifx .\tabu@temp\else - \ifx ,\tabu@temp\else - \ifx -\tabu@temp\else - \ifx +\tabu@temp\else - \ifx e\tabu@temp\else - \ifx E\tabu@temp\else - \ifx\tabu@cellleft\tabu@temp1\else - \ifx\ignorespaces\tabu@temp1\else - \ifx\@sptoken\tabu@temp2\else - 3\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\relax - \expandafter\tabu@get@decimal - \or \expandafter\tabu@skipdecimal - \or \expandafter\tabu@get@decimalspace - \else\expandafter\tabu@printdecimal - \fi -}% \tabu@getdecimal -\def\tabu@printdecimal{% - \edef\tabu@temp{\the\@temptokena}% - \ifx\tabu@temp\@empty\else - \ifx\tabu@temp\space\else - \expandafter\tabu@decimal\expandafter{\the\@temptokena}% - \fi\fi -}% \tabu@printdecimal -%% Verbatim inside X columns ---------------------------------------- -\def\tabu@verbatim{% - \let\verb \tabu@verb - \let\FV@DefineCheckEnd \tabu@FV@DefineCheckEnd -}% \tabu@verbatim -\let\tabu@ltx@verb \verb -\def\tabu@verb{\@ifstar {\tabu@ltx@verb*} \tabu@ltx@verb} -\def\tabu@fancyvrb {% - \def\tabu@FV@DefineCheckEnd ##1{% - \def\tabu@FV@DefineCheckEnd{% - ##1% - \let\FV@CheckEnd \tabu@FV@CheckEnd - \let\FV@@CheckEnd \tabu@FV@@CheckEnd - \let\FV@@@CheckEnd \tabu@FV@@@CheckEnd - \edef\FV@EndScanning{% - \def\noexpand\next{\noexpand\end{\FV@EnvironName}}% - \global\let\noexpand\FV@EnvironName\relax - \noexpand\next}% - \xdef\FV@EnvironName{\detokenize\expandafter{\FV@EnvironName}}}% - }\expandafter\tabu@FV@DefineCheckEnd\expandafter{\FV@DefineCheckEnd} -}% \tabu@fancyvrb -\def\tabu@FV@CheckEnd #1{\expandafter\FV@@CheckEnd \detokenize{#1\end{}}\@nil} -\edef\tabu@FV@@@CheckEnd {\detokenize{\end{}}} -\begingroup -\catcode`\[1 \catcode`\]2 -\@makeother\{ \@makeother\} - \edef\x[\endgroup - \def\noexpand\tabu@FV@@CheckEnd ##1\detokenize[\end{]##2\detokenize[}]##3% - ]\x \@nil{\def\@tempa{#2}\def\@tempb{#3}} -\def\tabu@FV@ListProcessLine #1{% - \hbox {%to \hsize{% - \kern\leftmargin - \hbox {%to \linewidth{% - \FV@LeftListNumber - \FV@LeftListFrame - \FancyVerbFormatLine{#1}\hss -%% DG/SR modification begin - Jan. 28, 1998 (for numbers=right add-on) -%% \FV@RightListFrame}% - \FV@RightListFrame - \FV@RightListNumber}% -%% DG/SR modification end - \hss}} -%% \savetabu -------------------------------------------------------- -\newcommand*\savetabu[1]{\noalign{% - \tabu@sanitizearg{#1}\tabu@temp - \ifx \tabu@temp\@empty \tabu@savewarn{}{The tabu will not be saved}\else - \@ifundefined{tabu@saved@\tabu@temp}{}{\tabu@savewarn{#1}{Overwriting}}% - \ifdefined\tabu@restored \expandafter\let - \csname tabu@saved@\tabu@temp \endcsname \tabu@restored - \else {\tabu@save}% - \fi - \fi}% -}% \savetabu -\def\tabu@save {% - \toks0\expandafter{\tabu@saved@}% - \iftabu@negcoef - \let\tabu@wddef \relax \let\tabu@ \tabu@savewd \edef\tabu@savewd{\tabu@Xcoefs}% - \toks0\expandafter{\the\toks\expandafter0\tabu@savewd}\fi - \toks1\expandafter{\tabu@savedpream}% - \toks2\expandafter{\tabu@savedpreamble}% - \let\@preamble \relax - \let\tabu@savedpream \relax \let\tabu@savedparams \relax - \edef\tabu@preamble{% - \def\noexpand\tabu@aligndefault{\tabu@align}% - \def\tabu@savedparams {\noexpand\the\toks0}% - \def\tabu@savedpream {\noexpand\the\toks1}}% - \edef\tabu@usetabu{% - \def\@preamble {\noexpand\the\toks2}% - \tabu@target \the\tabu@target \relax - \tabucolX \the\tabucolX \relax - \tabu@nbcols \the\tabu@nbcols \relax - \def\noexpand\tabu@aligndefault{\tabu@align}% - \def\tabu@savedparams {\noexpand\the\toks0}% - \def\tabu@savedpream {\noexpand\the\toks1}}% - \let\tabu@aligndefault \relax \let\@sharp \relax - \edef\@tempa{\noexpand\tabu@s@ved - {\tabu@usetabu} - {\tabu@preamble} - {\the\toks1}}\@tempa - \tabu@message@save -}% \tabu@save -\long\def\tabu@s@ved #1#2#3{% - \def\tabu@usetabu{#1}% - \expandafter\gdef\csname tabu@saved@\tabu@temp\endcsname ##1{% - \ifodd ##1% \usetabu - \tabu@measuringfalse \tabu@spreadfalse % Just in case... - \gdef\tabu@usetabu {% - \ifdim \tabu@target>\z@ \tabu@warn@usetabu \fi - \global\let\tabu@usetabu \@undefined - \def\@halignto {to\tabu@target}% - #1% - \ifx \tabu@align\tabu@aligndefault@text - \ifnum \tabu@nested=\z@ - \let\tabu@align \tabu@aligndefault \fi\fi}% - \else % \preamble - \gdef\tabu@preamble {% - \global\let\tabu@preamble \@undefined - #2% - \ifx \tabu@align\tabu@aligndefault@text - \ifnum \tabu@nested=\z@ - \let\tabu@align \tabu@aligndefault \fi\fi}% - \fi - #3}% -}% \tabu@s@ved -\def\tabu@aligndefault@text {\tabu@aligndefault}% -\def\tabu@warn@usetabu {\PackageWarning{tabu} - {Specifying a target with \string\usetabu\space is useless - \MessageBreak The target cannot be changed!}} -\def\tabu@savewd #1#2{\ifdim #2\p@<\z@ \tabu@wddef{#1}{\tabu@wd{#1}}\fi} -\def\tabu@savewarn#1#2{\PackageInfo{tabu} - {User-name `#1' already used for \string\savetabu - \MessageBreak #2}}% -\def\tabu@saveerr#1{\PackageError{tabu} - {User-name `#1' is unknown for \string\usetabu - \MessageBreak I cannot restore an unknown preamble!}\@ehd} -%% \rowfont --------------------------------------------------------- -\newskip \tabu@cellskip -\def\tabu@rowfont{\ifdim \baselineskip=\z@\noalign\fi - {\ifnum0=`}\fi \tabu@row@font} -\newcommand*\tabu@row@font[2][]{% - \ifnum7=\currentgrouptype - \global\let\tabu@@cellleft \tabu@cellleft - \global\let\tabu@@cellright \tabu@cellright - \global\let\tabu@@celllalign \tabu@celllalign - \global\let\tabu@@cellralign \tabu@cellralign - \global\let\tabu@@rowfontreset\tabu@rowfontreset - \fi - \global\let\tabu@rowfontreset \tabu@rowfont@reset - \expandafter\gdef\expandafter\tabu@cellleft\expandafter{\tabu@cellleft #2}% - \ifcsname tabu@cell@#1\endcsname % row alignment - \csname tabu@cell@#1\endcsname \fi - \ifnum0=`{\fi}% end of group / noalign group -}% \rowfont -\def\tabu@ifcolorleavevmode #1{\let\color \tabu@leavevmodecolor #1\let\color\tabu@color}% -\def\tabu@rowfont@reset{% - \global\let\tabu@rowfontreset \tabu@@rowfontreset - \global\let\tabu@cellleft \tabu@@cellleft - \global\let\tabu@cellright \tabu@@cellright - \global\let\tabu@cellfont \@empty - \global\let\tabu@celllalign \tabu@@celllalign - \global\let\tabu@cellralign \tabu@@cellralign -}% \tabu@@rowfontreset -\let\tabu@rowfontreset \@empty % overwritten \AtBeginDocument if colortbl -%% \tabu@prepnext@tok ----------------------------------------------- -\newif \iftabu@cellright -\def\tabu@prepnext@tok{% - \ifnum \count@<\z@ % - \@tempcnta \@M % - \tabu@nbcols\z@ - \let\tabu@fornoopORI \@fornoop - \tabu@cellrightfalse - \else - \ifcase \numexpr \count@-\@tempcnta \relax % (case 0): prev. token is left - \advance \tabu@nbcols \@ne - \iftabu@cellright % before-previous token is right and is finished - \tabu@cellrightfalse % - \tabu@righttok - \fi - \tabu@lefttok - \or % (case 1) previous token is right - \tabu@cellrighttrue \let\@fornoop \tabu@lastnoop - \else % special column: do not change the token - \iftabu@cellright % before-previous token is right - \tabu@cellrightfalse - \tabu@righttok - \fi - \fi % \ifcase - \fi - \tabu@prepnext@tokORI -}% \tabu@prepnext@tok -\long\def\tabu@lastnoop#1\@@#2#3{\tabu@lastn@@p #2\@nextchar \in@\in@@} -\def\tabu@lastn@@p #1\@nextchar #2#3\in@@{% - \ifx \in@#2\else - \let\@fornoop \tabu@fornoopORI - \xdef\tabu@mkpreambuffer{\tabu@nbcols\the\tabu@nbcols \tabu@mkpreambuffer}% - \toks0\expandafter{\expandafter\tabu@everyrowtrue \the\toks0}% - \expandafter\prepnext@tok - \fi -}% \tabu@lastnoop -\def\tabu@righttok{% - \advance \count@ \m@ne - \toks\count@\expandafter {\the\toks\count@ \tabu@cellright \tabu@cellralign}% - \advance \count@ \@ne -}% \tabu@righttok -\def\tabu@lefttok{\toks\count@\expandafter{\expandafter\tabu@celllalign - \the\toks\count@ \tabu@cellleft}% after because of $ -}% \tabu@lefttok -%% Neutralisation of glues ------------------------------------------ -\let\tabu@cellleft \@empty -\let\tabu@cellright \@empty -\tabu@celllalign@def{\tabu@cellleft}% -\let\tabu@cellralign \@empty -\def\tabu@cell@align #1#2#3{% - \let\tabu@maybesiunitx \toks@ \tabu@celllalign - \global \expandafter \tabu@celllalign@def \expandafter {\the\toks@ #1}% - \toks@\expandafter{\tabu@cellralign #2}% - \xdef\tabu@cellralign{\the\toks@}% - \toks@\expandafter{\tabu@cellleft #3}% - \xdef\tabu@cellleft{\the\toks@}% -}% \tabu@cell@align -\def\tabu@cell@l{% force alignment to left - \tabu@cell@align - {\tabu@removehfil \raggedright \tabu@cellleft}% left - {\tabu@flush1\tabu@ignorehfil}% right - \raggedright -}% \tabu@cell@l -\def\tabu@cell@c{% force alignment to center - \tabu@cell@align - {\tabu@removehfil \centering \tabu@flush{.5}\tabu@cellleft} - {\tabu@flush{.5}\tabu@ignorehfil} - \centering -}% \tabu@cell@c -\def\tabu@cell@r{% force alignment to right - \tabu@cell@align - {\tabu@removehfil \raggedleft \tabu@flush1\tabu@cellleft} - \tabu@ignorehfil - \raggedleft -}% \tabu@cell@r -\def\tabu@cell@j{% force justification (for p, m, b columns) - \tabu@cell@align - {\tabu@justify\tabu@cellleft} - {} - \tabu@justify -}% \tabu@cell@j -\def\tabu@justify{% - \leftskip\z@skip \@rightskip\leftskip \rightskip\@rightskip - \parfillskip\@flushglue -}% \tabu@justify -%% ragged2e settings -\def\tabu@cell@L{% force alignment to left (ragged2e) - \tabu@cell@align - {\tabu@removehfil \RaggedRight \tabu@cellleft} - {\tabu@flush 1\tabu@ignorehfil} - \RaggedRight -}% \tabu@cell@L -\def\tabu@cell@C{% force alignment to center (ragged2e) - \tabu@cell@align - {\tabu@removehfil \Centering \tabu@flush{.5}\tabu@cellleft} - {\tabu@flush{.5}\tabu@ignorehfil} - \Centering -}% \tabu@cell@C -\def\tabu@cell@R{% force alignment to right (ragged2e) - \tabu@cell@align - {\tabu@removehfil \RaggedLeft \tabu@flush 1\tabu@cellleft} - \tabu@ignorehfil - \RaggedLeft -}% \tabu@cell@R -\def\tabu@cell@J{% force justification (ragged2e) - \tabu@cell@align - {\justifying \tabu@cellleft} - {} - \justifying -}% \tabu@cell@J -\def\tabu@flush#1{% - \iftabu@colortbl % colortbl uses \hfill rather than \hfil - \hskip \ifnum13<\currentgrouptype \stretch{#1}% - \else \ifdim#1pt<\p@ \tabu@cellskip - \else \stretch{#1} - \fi\fi \relax - \else % array.sty - \ifnum 13<\currentgrouptype - \hfil \hskip1sp \relax \fi - \fi -}% \tabu@flush -\let\tabu@hfil \hfil -\let\tabu@hfill \hfill -\let\tabu@hskip \hskip -\def\tabu@removehfil{% - \iftabu@colortbl - \unkern \tabu@cellskip =\lastskip - \ifnum\gluestretchorder\tabu@cellskip =\tw@ \hskip-\tabu@cellskip - \else \tabu@cellskip \z@skip - \fi - \else - \ifdim\lastskip=1sp\unskip\fi - \ifnum\gluestretchorder\lastskip =\@ne - \hfilneg % \hfilneg for array.sty but not for colortbl... - \fi - \fi -}% \tabu@removehfil -\def\tabu@ignorehfil{\aftergroup \tabu@nohfil} -\def\tabu@nohfil{% \hfil -> do nothing + restore original \hfil - \def\hfil{\let\hfil \tabu@hfil}% local to (alignment template) group -}% \tabu@nohfil -\def\tabu@colortblalignments {% if colortbl - \def\tabu@nohfil{% - \def\hfil {\let\hfil \tabu@hfil}% local to (alignment template) group - \def\hfill {\let\hfill \tabu@hfill}% (colortbl uses \hfill) pfff... - \def\hskip ####1\relax{\let\hskip \tabu@hskip}}% local -}% \tabu@colortblalignments -%% Taking care of footnotes and hyperfootnotes ---------------------- -\long\def\tabu@footnotetext #1{% - \edef\@tempa{\the\tabu@footnotes - \noexpand\footnotetext [\the\csname c@\@mpfn\endcsname]}% - \global\tabu@footnotes\expandafter{\@tempa {#1}}}% -\long\def\tabu@xfootnotetext [#1]#2{% - \global\tabu@footnotes\expandafter{\the\tabu@footnotes - \footnotetext [{#1}]{#2}}} -\let\tabu@xfootnote \@xfootnote -\long\def\tabu@Hy@ftntext{\tabu@Hy@ftntxt {\the \c@footnote }} -\long\def\tabu@Hy@xfootnote [#1]{% - \begingroup - \value\@mpfn #1\relax - \protected@xdef \@thefnmark {\thempfn}% - \endgroup - \@footnotemark \tabu@Hy@ftntxt {#1}% -}% \tabu@Hy@xfootnote -\long\def\tabu@Hy@ftntxt #1#2{% - \edef\@tempa{% - \the\tabu@footnotes - \begingroup - \value\@mpfn #1\relax - \noexpand\protected@xdef\noexpand\@thefnmark {\noexpand\thempfn}% - \expandafter \noexpand \expandafter - \tabu@Hy@footnotetext \expandafter{\Hy@footnote@currentHref}% - }% - \global\tabu@footnotes\expandafter{\@tempa {#2}% - \endgroup}% -}% \tabu@Hy@ftntxt -\long\def\tabu@Hy@footnotetext #1#2{% - \H@@footnotetext{% - \ifHy@nesting - \hyper@@anchor {#1}{#2}% - \else - \Hy@raisedlink{% - \hyper@@anchor {#1}{\relax}% - }% - \def\@currentHref {#1}% - \let\@currentlabelname \@empty - #2% - \fi - }% -}% \tabu@Hy@footnotetext -%% No need for \arraybackslash ! ------------------------------------ -\def\tabu@latextwoe {% -\def\tabu@temp##1##2##3{{\toks@\expandafter{##2##3}\xdef##1{\the\toks@}}} -\tabu@temp \tabu@centering \centering \arraybackslash -\tabu@temp \tabu@raggedleft \raggedleft \arraybackslash -\tabu@temp \tabu@raggedright \raggedright \arraybackslash -}% \tabu@latextwoe -\def\tabu@raggedtwoe {% -\def\tabu@temp ##1##2##3{{\toks@\expandafter{##2##3}\xdef##1{\the\toks@}}} -\tabu@temp \tabu@Centering \Centering \arraybackslash -\tabu@temp \tabu@RaggedLeft \RaggedLeft \arraybackslash -\tabu@temp \tabu@RaggedRight \RaggedRight \arraybackslash -\tabu@temp \tabu@justifying \justifying \arraybackslash -}% \tabu@raggedtwoe -\def\tabu@normalcrbackslash{\let\\\@normalcr} -\def\tabu@trivlist{\expandafter\def\expandafter\@trivlist\expandafter{% - \expandafter\tabu@normalcrbackslash \@trivlist}} -%% Utilities: \fbox \fcolorbox and \tabudecimal ------------------- -\def\tabu@fbox {\leavevmode\afterassignment\tabu@beginfbox \setbox\@tempboxa\hbox} -\def\tabu@beginfbox {\bgroup \kern\fboxsep - \bgroup\aftergroup\tabu@endfbox} -\def\tabu@endfbox {\kern\fboxsep\egroup\egroup - \@frameb@x\relax} -\def\tabu@color@b@x #1#2{\leavevmode \bgroup - \def\tabu@docolor@b@x{#1{#2\color@block{\wd\z@}{\ht\z@}{\dp\z@}\box\z@}}% - \afterassignment\tabu@begincolor@b@x \setbox\z@ \hbox -}% \tabu@color@b@x -\def\tabu@begincolor@b@x {\kern\fboxsep \bgroup - \aftergroup\tabu@endcolor@b@x \set@color} -\def\tabu@endcolor@b@x {\kern\fboxsep \egroup - \dimen@\ht\z@ \advance\dimen@ \fboxsep \ht\z@ \dimen@ - \dimen@\dp\z@ \advance\dimen@ \fboxsep \dp\z@ \dimen@ - \tabu@docolor@b@x \egroup -}% \tabu@endcolor@b@x -%% Corrections (arydshln, delarray, colortbl) ----------------------- -\def\tabu@fix@arrayright {%% \@arrayright is missing from \endarray - \iftabu@colortbl - \ifdefined\adl@array % - \def\tabu@endarray{% - \adl@endarray \egroup \adl@arrayrestore \CT@end \egroup % - \@arrayright % - \gdef\@preamble{}}% - \else % - \def\tabu@endarray{% - \crcr \egroup \egroup % - \@arrayright % - \gdef\@preamble{}\CT@end}% - \fi - \else - \ifdefined\adl@array % - \def\tabu@endarray{% - \adl@endarray \egroup \adl@arrayrestore \egroup % - \@arrayright % - \gdef\@preamble{}}% - \else % - \PackageWarning{tabu} - {\string\@arrayright\space is missing from the - \MessageBreak definition of \string\endarray. - \MessageBreak Compatibility with delarray.sty is broken.}% - \fi\fi -}% \tabu@fix@arrayright -\def\tabu@adl@xarraydashrule #1#2#3{% - \ifnum\@lastchclass=\adl@class@start\else - \ifnum\@lastchclass=\@ne\else - \ifnum\@lastchclass=5 \else % @-arg (class 5) and !-arg (class 1) - \adl@leftrulefalse \fi\fi % must be treated the same - \fi - \ifadl@zwvrule\else \ifadl@inactive\else - \@addtopreamble{\vrule\@width\arrayrulewidth - \@height\z@ \@depth\z@}\fi \fi - \ifadl@leftrule - \@addtopreamble{\adl@vlineL{\CT@arc@}{\adl@dashgapcolor}% - {\number#1}#3}% - \else \@addtopreamble{\adl@vlineR{\CT@arc@}{\adl@dashgapcolor}% - {\number#2}#3} - \fi -}% \tabu@adl@xarraydashrule -\def\tabu@adl@act@endpbox {% - \unskip \ifhmode \nobreak \fi \@finalstrut \@arstrutbox - \egroup \egroup - \adl@colhtdp \box\adl@box \hfil -}% \tabu@adl@act@endpbox -\def\tabu@adl@fix {% - \let\adl@xarraydashrule \tabu@adl@xarraydashrule % arydshln - \let\adl@act@endpbox \tabu@adl@act@endpbox % arydshln - \let\adl@act@@endpbox \tabu@adl@act@endpbox % arydshln - \let\@preamerror \@preamerr % arydshln -}% \tabu@adl@fix -%% Correction for longtable' \@startbox definition ------------------ -%% => \everypar is ``missing'' : TeX should be in vertical mode -\def\tabu@LT@startpbox #1{% - \bgroup - \let\@footnotetext\LT@p@ftntext - \setlength\hsize{#1}% - \@arrayparboxrestore - \everypar{% - \vrule \@height \ht\@arstrutbox \@width \z@ - \everypar{}}% -}% \tabu@LT@startpbox -%% \tracingtabu and the package options ------------------ -\DeclareOption{delarray}{\AtEndOfPackage{\RequirePackage{delarray}}} -\DeclareOption{linegoal}{% - \AtEndOfPackage{% - \RequirePackage{linegoal}[2010/12/07]% - \let\tabudefaulttarget \linegoal% \linegoal is \linewidth if not pdfTeX -}} -\DeclareOption{scantokens}{\tabuscantokenstrue} -\DeclareOption{debugshow}{\AtEndOfPackage{\tracingtabu=\tw@}} -\def\tracingtabu {\begingroup\@ifnextchar=% - {\afterassignment\tabu@tracing\count@} - {\afterassignment\tabu@tracing\count@1\relax}} -\def\tabu@tracing{\expandafter\endgroup - \expandafter\tabu@tr@cing \the\count@ \relax -}% \tabu@tracing -\def\tabu@tr@cing #1\relax {% - \ifnum#1>\thr@@ \let\tabu@tracinglines\message - \else \let\tabu@tracinglines\@gobble - \fi - \ifnum#1>\tw@ \let\tabu@DBG \tabu@@DBG - \def\tabu@mkarstrut {\tabu@DBG@arstrut}% - \tabustrutrule 1.5\p@ - \else \let\tabu@DBG \@gobble - \def\tabu@mkarstrut {\tabu@arstrut}% - \tabustrutrule \z@ - \fi - \ifnum#1>\@ne \let\tabu@debug \message - \else \let\tabu@debug \@gobble - \fi - \ifnum#1>\z@ - \let\tabu@message \message - \let\tabu@tracing@save \tabu@message@save - \let\tabu@starttimer \tabu@pdftimer - \else - \let\tabu@message \@gobble - \let\tabu@tracing@save \@gobble - \let\tabu@starttimer \relax - \fi -}% \tabu@tr@cing -%% Setup \AtBeginDocument -\AtBeginDocument{\tabu@AtBeginDocument} -\def\tabu@AtBeginDocument{\let\tabu@AtBeginDocument \@undefined - \ifdefined\arrayrulecolor \tabu@colortbltrue % - \tabu@colortblalignments % different glues are used - \else \tabu@colortblfalse \fi - \ifdefined\CT@arc@ \else \let\CT@arc@ \relax \fi - \ifdefined\CT@drsc@\else \let\CT@drsc@ \relax \fi - \let\tabu@arc@L \CT@arc@ \let\tabu@drsc@L \CT@drsc@ - \ifodd 1\ifcsname siunitx_table_collect_begin:Nn\endcsname % - \expandafter\ifx - \csname siunitx_table_collect_begin:Nn\endcsname\relax 0\fi\fi\relax - \tabu@siunitxtrue - \else \let\tabu@maybesiunitx \@firstofone % - \let\tabu@siunitx \tabu@nosiunitx - \tabu@siunitxfalse - \fi - \ifdefined\adl@array % - \else \let\tabu@adl@fix \relax - \let\tabu@adl@endtrial \@empty \fi - \ifdefined\longtable % - \else \let\longtabu \tabu@nolongtabu \fi - \ifdefined\cellspacetoplimit \tabu@warn@cellspace\fi - \csname\ifcsname ifHy@hyperfootnotes\endcsname % - ifHy@hyperfootnotes\else iffalse\fi\endcsname - \let\tabu@footnotetext \tabu@Hy@ftntext - \let\tabu@xfootnote \tabu@Hy@xfootnote \fi - \ifdefined\FV@DefineCheckEnd% - \tabu@fancyvrb \fi - \ifdefined\color % - \let\tabu@color \color - \def\tabu@leavevmodecolor ##1{% - \def\tabu@leavevmodecolor {\leavevmode ##1}% - }\expandafter\tabu@leavevmodecolor\expandafter{\color}% - \else - \let\tabu@color \tabu@nocolor - \let\tabu@leavevmodecolor \@firstofone \fi - \tabu@latextwoe - \ifdefined\@raggedtwoe@everyselectfont % - \tabu@raggedtwoe - \else - \let\tabu@cell@L \tabu@cell@l - \let\tabu@cell@R \tabu@cell@r - \let\tabu@cell@C \tabu@cell@c - \let\tabu@cell@J \tabu@cell@j \fi - \expandafter\in@ \expandafter\@arrayright \expandafter{\endarray}% - \ifin@ \let\tabu@endarray \endarray - \else \tabu@fix@arrayright \fi% - \everyrow{}% -}% \tabu@AtBeginDocument -\def\tabu@warn@cellspace{% - \PackageWarning{tabu}{% - Package cellspace has some limitations - \MessageBreak And redefines some macros of array.sty. - \MessageBreak Please use \string\tabulinesep\space to control - \MessageBreak vertical spacing of lines inside tabu environment}% -}% \tabu@warn@cellspace -%% tabu Package initialisation -\tabuscantokensfalse -\let\tabu@arc@G \relax -\let\tabu@drsc@G \relax -\let\tabu@evr@G \@empty -\let\tabu@rc@G \@empty -\def\tabu@ls@G {\tabu@linestyle@}% -\let\tabu@@rowfontreset \@empty % -\let\tabu@@celllalign \@empty -\let\tabu@@cellralign \@empty -\let\tabu@@cellleft \@empty -\let\tabu@@cellright \@empty -\def\tabu@naturalXmin {\z@} -\def\tabu@naturalXmax {\z@} -\let\tabu@rowfontreset \@empty -\def\tabulineon {4pt}\let\tabulineoff \tabulineon -\tabu@everyrowtrue -\ifdefined\pdfelapsedtime % - \def\tabu@pdftimer {\xdef\tabu@starttime{\the\pdfelapsedtime}}% -\else \let\tabu@pdftimer \relax \let\tabu@message@etime \relax -\fi -\tracingtabu=\z@ -\newtabulinestyle {=\maxdimen}% creates the 'factory' settings \tabu@linestyle@ -\tabulinestyle{} -\taburowcolors{} -\let\tabudefaulttarget \linewidth -\ProcessOptions* % \ProcessOptions* is quicker ! -\endinput -%% -%% End of file `tabu.sty'. diff --git a/test b/test deleted file mode 100755 index 8750487..0000000 Binary files a/test and /dev/null differ