From 1de99aa3f9c655438200a85d025b06865ef9b8d7 Mon Sep 17 00:00:00 2001 From: Peter Tillemans Date: Sun, 29 Dec 2024 19:56:53 +0100 Subject: [PATCH] added parskip to format paragraphs, better plot formatting. --- .gitignore | 1 + figures/sample.pgf | 212 +++++++++++++++++++-------------------- report/sample.pdf | Bin 17605 -> 0 bytes report/sample.tex | 31 +++++- scripts/sample_report.py | 10 +- 5 files changed, 144 insertions(+), 110 deletions(-) delete mode 100644 report/sample.pdf diff --git a/.gitignore b/.gitignore index 082abf0..c9927f6 100644 --- a/.gitignore +++ b/.gitignore @@ -472,3 +472,4 @@ TSWLatexianTemp* # PDF output files *.pdf +report/*.pdf \ No newline at end of file diff --git a/figures/sample.pgf b/figures/sample.pgf index 6a072a7..c0c6c6d 100644 --- a/figures/sample.pgf +++ b/figures/sample.pgf @@ -33,7 +33,7 @@ \begingroup% \makeatletter% \begin{pgfpicture}% -\pgfpathrectangle{\pgfpointorigin}{\pgfqpoint{6.000000in}{4.000000in}}% +\pgfpathrectangle{\pgfpointorigin}{\pgfqpoint{5.000000in}{4.000000in}}% \pgfusepath{use as bounding box, clip}% \begin{pgfscope}% \pgfsetbuttcap% @@ -45,8 +45,8 @@ \pgfsetstrokecolor{currentstroke}% \pgfsetdash{}{0pt}% \pgfpathmoveto{\pgfqpoint{0.000000in}{0.000000in}}% -\pgfpathlineto{\pgfqpoint{6.000000in}{0.000000in}}% -\pgfpathlineto{\pgfqpoint{6.000000in}{4.000000in}}% +\pgfpathlineto{\pgfqpoint{5.000000in}{0.000000in}}% +\pgfpathlineto{\pgfqpoint{5.000000in}{4.000000in}}% \pgfpathlineto{\pgfqpoint{0.000000in}{4.000000in}}% \pgfpathlineto{\pgfqpoint{0.000000in}{0.000000in}}% \pgfpathclose% @@ -62,16 +62,16 @@ \pgfsetstrokecolor{currentstroke}% \pgfsetstrokeopacity{0.000000}% \pgfsetdash{}{0pt}% -\pgfpathmoveto{\pgfqpoint{0.750000in}{0.440000in}}% -\pgfpathlineto{\pgfqpoint{5.400000in}{0.440000in}}% -\pgfpathlineto{\pgfqpoint{5.400000in}{3.520000in}}% -\pgfpathlineto{\pgfqpoint{0.750000in}{3.520000in}}% -\pgfpathlineto{\pgfqpoint{0.750000in}{0.440000in}}% +\pgfpathmoveto{\pgfqpoint{0.625000in}{0.440000in}}% +\pgfpathlineto{\pgfqpoint{4.500000in}{0.440000in}}% +\pgfpathlineto{\pgfqpoint{4.500000in}{3.520000in}}% +\pgfpathlineto{\pgfqpoint{0.625000in}{3.520000in}}% +\pgfpathlineto{\pgfqpoint{0.625000in}{0.440000in}}% \pgfpathclose% \pgfusepath{fill}% \end{pgfscope}% \begin{pgfscope}% -\pgfpathrectangle{\pgfqpoint{0.750000in}{0.440000in}}{\pgfqpoint{4.650000in}{3.080000in}}% +\pgfpathrectangle{\pgfqpoint{0.625000in}{0.440000in}}{\pgfqpoint{3.875000in}{3.080000in}}% \pgfusepath{clip}% \pgfsetbuttcap% \pgfsetmiterjoin% @@ -82,16 +82,16 @@ \pgfsetstrokecolor{currentstroke}% \pgfsetstrokeopacity{0.000000}% \pgfsetdash{}{0pt}% -\pgfpathmoveto{\pgfqpoint{0.961364in}{0.440000in}}% -\pgfpathlineto{\pgfqpoint{1.384091in}{0.440000in}}% -\pgfpathlineto{\pgfqpoint{1.384091in}{3.373333in}}% -\pgfpathlineto{\pgfqpoint{0.961364in}{3.373333in}}% -\pgfpathlineto{\pgfqpoint{0.961364in}{0.440000in}}% +\pgfpathmoveto{\pgfqpoint{0.801136in}{0.440000in}}% +\pgfpathlineto{\pgfqpoint{1.153409in}{0.440000in}}% +\pgfpathlineto{\pgfqpoint{1.153409in}{3.373333in}}% +\pgfpathlineto{\pgfqpoint{0.801136in}{3.373333in}}% +\pgfpathlineto{\pgfqpoint{0.801136in}{0.440000in}}% \pgfpathclose% \pgfusepath{fill}% \end{pgfscope}% \begin{pgfscope}% -\pgfpathrectangle{\pgfqpoint{0.750000in}{0.440000in}}{\pgfqpoint{4.650000in}{3.080000in}}% +\pgfpathrectangle{\pgfqpoint{0.625000in}{0.440000in}}{\pgfqpoint{3.875000in}{3.080000in}}% \pgfusepath{clip}% \pgfsetbuttcap% \pgfsetmiterjoin% @@ -102,16 +102,16 @@ \pgfsetstrokecolor{currentstroke}% \pgfsetstrokeopacity{0.000000}% \pgfsetdash{}{0pt}% -\pgfpathmoveto{\pgfqpoint{1.384091in}{0.440000in}}% -\pgfpathlineto{\pgfqpoint{1.806818in}{0.440000in}}% -\pgfpathlineto{\pgfqpoint{1.806818in}{1.470631in}}% -\pgfpathlineto{\pgfqpoint{1.384091in}{1.470631in}}% -\pgfpathlineto{\pgfqpoint{1.384091in}{0.440000in}}% +\pgfpathmoveto{\pgfqpoint{1.153409in}{0.440000in}}% +\pgfpathlineto{\pgfqpoint{1.505682in}{0.440000in}}% +\pgfpathlineto{\pgfqpoint{1.505682in}{1.470631in}}% +\pgfpathlineto{\pgfqpoint{1.153409in}{1.470631in}}% +\pgfpathlineto{\pgfqpoint{1.153409in}{0.440000in}}% \pgfpathclose% \pgfusepath{fill}% \end{pgfscope}% \begin{pgfscope}% -\pgfpathrectangle{\pgfqpoint{0.750000in}{0.440000in}}{\pgfqpoint{4.650000in}{3.080000in}}% +\pgfpathrectangle{\pgfqpoint{0.625000in}{0.440000in}}{\pgfqpoint{3.875000in}{3.080000in}}% \pgfusepath{clip}% \pgfsetbuttcap% \pgfsetmiterjoin% @@ -122,16 +122,16 @@ \pgfsetstrokecolor{currentstroke}% \pgfsetstrokeopacity{0.000000}% \pgfsetdash{}{0pt}% -\pgfpathmoveto{\pgfqpoint{1.806818in}{0.440000in}}% -\pgfpathlineto{\pgfqpoint{2.229545in}{0.440000in}}% -\pgfpathlineto{\pgfqpoint{2.229545in}{0.440000in}}% -\pgfpathlineto{\pgfqpoint{1.806818in}{0.440000in}}% -\pgfpathlineto{\pgfqpoint{1.806818in}{0.440000in}}% +\pgfpathmoveto{\pgfqpoint{1.505682in}{0.440000in}}% +\pgfpathlineto{\pgfqpoint{1.857955in}{0.440000in}}% +\pgfpathlineto{\pgfqpoint{1.857955in}{0.440000in}}% +\pgfpathlineto{\pgfqpoint{1.505682in}{0.440000in}}% +\pgfpathlineto{\pgfqpoint{1.505682in}{0.440000in}}% \pgfpathclose% \pgfusepath{fill}% \end{pgfscope}% \begin{pgfscope}% -\pgfpathrectangle{\pgfqpoint{0.750000in}{0.440000in}}{\pgfqpoint{4.650000in}{3.080000in}}% +\pgfpathrectangle{\pgfqpoint{0.625000in}{0.440000in}}{\pgfqpoint{3.875000in}{3.080000in}}% \pgfusepath{clip}% \pgfsetbuttcap% \pgfsetmiterjoin% @@ -142,16 +142,16 @@ \pgfsetstrokecolor{currentstroke}% \pgfsetstrokeopacity{0.000000}% \pgfsetdash{}{0pt}% -\pgfpathmoveto{\pgfqpoint{2.229545in}{0.440000in}}% -\pgfpathlineto{\pgfqpoint{2.652273in}{0.440000in}}% -\pgfpathlineto{\pgfqpoint{2.652273in}{0.677838in}}% -\pgfpathlineto{\pgfqpoint{2.229545in}{0.677838in}}% -\pgfpathlineto{\pgfqpoint{2.229545in}{0.440000in}}% +\pgfpathmoveto{\pgfqpoint{1.857955in}{0.440000in}}% +\pgfpathlineto{\pgfqpoint{2.210227in}{0.440000in}}% +\pgfpathlineto{\pgfqpoint{2.210227in}{0.677838in}}% +\pgfpathlineto{\pgfqpoint{1.857955in}{0.677838in}}% +\pgfpathlineto{\pgfqpoint{1.857955in}{0.440000in}}% \pgfpathclose% \pgfusepath{fill}% \end{pgfscope}% \begin{pgfscope}% -\pgfpathrectangle{\pgfqpoint{0.750000in}{0.440000in}}{\pgfqpoint{4.650000in}{3.080000in}}% +\pgfpathrectangle{\pgfqpoint{0.625000in}{0.440000in}}{\pgfqpoint{3.875000in}{3.080000in}}% \pgfusepath{clip}% \pgfsetbuttcap% \pgfsetmiterjoin% @@ -162,16 +162,16 @@ \pgfsetstrokecolor{currentstroke}% \pgfsetstrokeopacity{0.000000}% \pgfsetdash{}{0pt}% -\pgfpathmoveto{\pgfqpoint{2.652273in}{0.440000in}}% -\pgfpathlineto{\pgfqpoint{3.075000in}{0.440000in}}% -\pgfpathlineto{\pgfqpoint{3.075000in}{1.074234in}}% -\pgfpathlineto{\pgfqpoint{2.652273in}{1.074234in}}% -\pgfpathlineto{\pgfqpoint{2.652273in}{0.440000in}}% +\pgfpathmoveto{\pgfqpoint{2.210227in}{0.440000in}}% +\pgfpathlineto{\pgfqpoint{2.562500in}{0.440000in}}% +\pgfpathlineto{\pgfqpoint{2.562500in}{1.074234in}}% +\pgfpathlineto{\pgfqpoint{2.210227in}{1.074234in}}% +\pgfpathlineto{\pgfqpoint{2.210227in}{0.440000in}}% \pgfpathclose% \pgfusepath{fill}% \end{pgfscope}% \begin{pgfscope}% -\pgfpathrectangle{\pgfqpoint{0.750000in}{0.440000in}}{\pgfqpoint{4.650000in}{3.080000in}}% +\pgfpathrectangle{\pgfqpoint{0.625000in}{0.440000in}}{\pgfqpoint{3.875000in}{3.080000in}}% \pgfusepath{clip}% \pgfsetbuttcap% \pgfsetmiterjoin% @@ -182,16 +182,16 @@ \pgfsetstrokecolor{currentstroke}% \pgfsetstrokeopacity{0.000000}% \pgfsetdash{}{0pt}% -\pgfpathmoveto{\pgfqpoint{3.075000in}{0.440000in}}% -\pgfpathlineto{\pgfqpoint{3.497727in}{0.440000in}}% -\pgfpathlineto{\pgfqpoint{3.497727in}{2.501261in}}% -\pgfpathlineto{\pgfqpoint{3.075000in}{2.501261in}}% -\pgfpathlineto{\pgfqpoint{3.075000in}{0.440000in}}% +\pgfpathmoveto{\pgfqpoint{2.562500in}{0.440000in}}% +\pgfpathlineto{\pgfqpoint{2.914773in}{0.440000in}}% +\pgfpathlineto{\pgfqpoint{2.914773in}{2.501261in}}% +\pgfpathlineto{\pgfqpoint{2.562500in}{2.501261in}}% +\pgfpathlineto{\pgfqpoint{2.562500in}{0.440000in}}% \pgfpathclose% \pgfusepath{fill}% \end{pgfscope}% \begin{pgfscope}% -\pgfpathrectangle{\pgfqpoint{0.750000in}{0.440000in}}{\pgfqpoint{4.650000in}{3.080000in}}% +\pgfpathrectangle{\pgfqpoint{0.625000in}{0.440000in}}{\pgfqpoint{3.875000in}{3.080000in}}% \pgfusepath{clip}% \pgfsetbuttcap% \pgfsetmiterjoin% @@ -202,16 +202,16 @@ \pgfsetstrokecolor{currentstroke}% \pgfsetstrokeopacity{0.000000}% \pgfsetdash{}{0pt}% -\pgfpathmoveto{\pgfqpoint{3.497727in}{0.440000in}}% -\pgfpathlineto{\pgfqpoint{3.920455in}{0.440000in}}% -\pgfpathlineto{\pgfqpoint{3.920455in}{2.739099in}}% -\pgfpathlineto{\pgfqpoint{3.497727in}{2.739099in}}% -\pgfpathlineto{\pgfqpoint{3.497727in}{0.440000in}}% +\pgfpathmoveto{\pgfqpoint{2.914773in}{0.440000in}}% +\pgfpathlineto{\pgfqpoint{3.267045in}{0.440000in}}% +\pgfpathlineto{\pgfqpoint{3.267045in}{2.739099in}}% +\pgfpathlineto{\pgfqpoint{2.914773in}{2.739099in}}% +\pgfpathlineto{\pgfqpoint{2.914773in}{0.440000in}}% \pgfpathclose% \pgfusepath{fill}% \end{pgfscope}% \begin{pgfscope}% -\pgfpathrectangle{\pgfqpoint{0.750000in}{0.440000in}}{\pgfqpoint{4.650000in}{3.080000in}}% +\pgfpathrectangle{\pgfqpoint{0.625000in}{0.440000in}}{\pgfqpoint{3.875000in}{3.080000in}}% \pgfusepath{clip}% \pgfsetbuttcap% \pgfsetmiterjoin% @@ -222,16 +222,16 @@ \pgfsetstrokecolor{currentstroke}% \pgfsetstrokeopacity{0.000000}% \pgfsetdash{}{0pt}% -\pgfpathmoveto{\pgfqpoint{3.920455in}{0.440000in}}% -\pgfpathlineto{\pgfqpoint{4.343182in}{0.440000in}}% -\pgfpathlineto{\pgfqpoint{4.343182in}{1.867027in}}% -\pgfpathlineto{\pgfqpoint{3.920455in}{1.867027in}}% -\pgfpathlineto{\pgfqpoint{3.920455in}{0.440000in}}% +\pgfpathmoveto{\pgfqpoint{3.267045in}{0.440000in}}% +\pgfpathlineto{\pgfqpoint{3.619318in}{0.440000in}}% +\pgfpathlineto{\pgfqpoint{3.619318in}{1.867027in}}% +\pgfpathlineto{\pgfqpoint{3.267045in}{1.867027in}}% +\pgfpathlineto{\pgfqpoint{3.267045in}{0.440000in}}% \pgfpathclose% \pgfusepath{fill}% \end{pgfscope}% \begin{pgfscope}% -\pgfpathrectangle{\pgfqpoint{0.750000in}{0.440000in}}{\pgfqpoint{4.650000in}{3.080000in}}% +\pgfpathrectangle{\pgfqpoint{0.625000in}{0.440000in}}{\pgfqpoint{3.875000in}{3.080000in}}% \pgfusepath{clip}% \pgfsetbuttcap% \pgfsetmiterjoin% @@ -242,16 +242,16 @@ \pgfsetstrokecolor{currentstroke}% \pgfsetstrokeopacity{0.000000}% \pgfsetdash{}{0pt}% -\pgfpathmoveto{\pgfqpoint{4.343182in}{0.440000in}}% -\pgfpathlineto{\pgfqpoint{4.765909in}{0.440000in}}% -\pgfpathlineto{\pgfqpoint{4.765909in}{1.312072in}}% -\pgfpathlineto{\pgfqpoint{4.343182in}{1.312072in}}% -\pgfpathlineto{\pgfqpoint{4.343182in}{0.440000in}}% +\pgfpathmoveto{\pgfqpoint{3.619318in}{0.440000in}}% +\pgfpathlineto{\pgfqpoint{3.971591in}{0.440000in}}% +\pgfpathlineto{\pgfqpoint{3.971591in}{1.312072in}}% +\pgfpathlineto{\pgfqpoint{3.619318in}{1.312072in}}% +\pgfpathlineto{\pgfqpoint{3.619318in}{0.440000in}}% \pgfpathclose% \pgfusepath{fill}% \end{pgfscope}% \begin{pgfscope}% -\pgfpathrectangle{\pgfqpoint{0.750000in}{0.440000in}}{\pgfqpoint{4.650000in}{3.080000in}}% +\pgfpathrectangle{\pgfqpoint{0.625000in}{0.440000in}}{\pgfqpoint{3.875000in}{3.080000in}}% \pgfusepath{clip}% \pgfsetbuttcap% \pgfsetmiterjoin% @@ -262,11 +262,11 @@ \pgfsetstrokecolor{currentstroke}% \pgfsetstrokeopacity{0.000000}% \pgfsetdash{}{0pt}% -\pgfpathmoveto{\pgfqpoint{4.765909in}{0.440000in}}% -\pgfpathlineto{\pgfqpoint{5.188636in}{0.440000in}}% -\pgfpathlineto{\pgfqpoint{5.188636in}{0.836396in}}% -\pgfpathlineto{\pgfqpoint{4.765909in}{0.836396in}}% -\pgfpathlineto{\pgfqpoint{4.765909in}{0.440000in}}% +\pgfpathmoveto{\pgfqpoint{3.971591in}{0.440000in}}% +\pgfpathlineto{\pgfqpoint{4.323864in}{0.440000in}}% +\pgfpathlineto{\pgfqpoint{4.323864in}{0.836396in}}% +\pgfpathlineto{\pgfqpoint{3.971591in}{0.836396in}}% +\pgfpathlineto{\pgfqpoint{3.971591in}{0.440000in}}% \pgfpathclose% \pgfusepath{fill}% \end{pgfscope}% @@ -285,7 +285,7 @@ \pgfusepath{stroke,fill}% }% \begin{pgfscope}% -\pgfsys@transformshift{0.961364in}{0.440000in}% +\pgfsys@transformshift{0.801136in}{0.440000in}% \pgfsys@useobject{currentmarker}{}% \end{pgfscope}% \end{pgfscope}% @@ -293,7 +293,7 @@ \definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}% \pgfsetstrokecolor{textcolor}% \pgfsetfillcolor{textcolor}% -\pgftext[x=0.961364in,y=0.342778in,,top]{\color{textcolor}{\sffamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}1}}% +\pgftext[x=0.801136in,y=0.342778in,,top]{\color{textcolor}{\rmfamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}$\mathdefault{1}$}}% \end{pgfscope}% \begin{pgfscope}% \pgfsetbuttcap% @@ -310,7 +310,7 @@ \pgfusepath{stroke,fill}% }% \begin{pgfscope}% -\pgfsys@transformshift{1.677851in}{0.440000in}% +\pgfsys@transformshift{1.398209in}{0.440000in}% \pgfsys@useobject{currentmarker}{}% \end{pgfscope}% \end{pgfscope}% @@ -318,7 +318,7 @@ \definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}% \pgfsetstrokecolor{textcolor}% \pgfsetfillcolor{textcolor}% -\pgftext[x=1.677851in,y=0.342778in,,top]{\color{textcolor}{\sffamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}2}}% +\pgftext[x=1.398209in,y=0.342778in,,top]{\color{textcolor}{\rmfamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}$\mathdefault{2}$}}% \end{pgfscope}% \begin{pgfscope}% \pgfsetbuttcap% @@ -335,7 +335,7 @@ \pgfusepath{stroke,fill}% }% \begin{pgfscope}% -\pgfsys@transformshift{2.394337in}{0.440000in}% +\pgfsys@transformshift{1.995281in}{0.440000in}% \pgfsys@useobject{currentmarker}{}% \end{pgfscope}% \end{pgfscope}% @@ -343,7 +343,7 @@ \definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}% \pgfsetstrokecolor{textcolor}% \pgfsetfillcolor{textcolor}% -\pgftext[x=2.394337in,y=0.342778in,,top]{\color{textcolor}{\sffamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}3}}% +\pgftext[x=1.995281in,y=0.342778in,,top]{\color{textcolor}{\rmfamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}$\mathdefault{3}$}}% \end{pgfscope}% \begin{pgfscope}% \pgfsetbuttcap% @@ -360,7 +360,7 @@ \pgfusepath{stroke,fill}% }% \begin{pgfscope}% -\pgfsys@transformshift{3.110824in}{0.440000in}% +\pgfsys@transformshift{2.592354in}{0.440000in}% \pgfsys@useobject{currentmarker}{}% \end{pgfscope}% \end{pgfscope}% @@ -368,7 +368,7 @@ \definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}% \pgfsetstrokecolor{textcolor}% \pgfsetfillcolor{textcolor}% -\pgftext[x=3.110824in,y=0.342778in,,top]{\color{textcolor}{\sffamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}4}}% +\pgftext[x=2.592354in,y=0.342778in,,top]{\color{textcolor}{\rmfamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}$\mathdefault{4}$}}% \end{pgfscope}% \begin{pgfscope}% \pgfsetbuttcap% @@ -385,7 +385,7 @@ \pgfusepath{stroke,fill}% }% \begin{pgfscope}% -\pgfsys@transformshift{3.827311in}{0.440000in}% +\pgfsys@transformshift{3.189426in}{0.440000in}% \pgfsys@useobject{currentmarker}{}% \end{pgfscope}% \end{pgfscope}% @@ -393,7 +393,7 @@ \definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}% \pgfsetstrokecolor{textcolor}% \pgfsetfillcolor{textcolor}% -\pgftext[x=3.827311in,y=0.342778in,,top]{\color{textcolor}{\sffamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}5}}% +\pgftext[x=3.189426in,y=0.342778in,,top]{\color{textcolor}{\rmfamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}$\mathdefault{5}$}}% \end{pgfscope}% \begin{pgfscope}% \pgfsetbuttcap% @@ -410,7 +410,7 @@ \pgfusepath{stroke,fill}% }% \begin{pgfscope}% -\pgfsys@transformshift{4.543798in}{0.440000in}% +\pgfsys@transformshift{3.786498in}{0.440000in}% \pgfsys@useobject{currentmarker}{}% \end{pgfscope}% \end{pgfscope}% @@ -418,7 +418,7 @@ \definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}% \pgfsetstrokecolor{textcolor}% \pgfsetfillcolor{textcolor}% -\pgftext[x=4.543798in,y=0.342778in,,top]{\color{textcolor}{\sffamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}6}}% +\pgftext[x=3.786498in,y=0.342778in,,top]{\color{textcolor}{\rmfamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}$\mathdefault{6}$}}% \end{pgfscope}% \begin{pgfscope}% \pgfsetbuttcap% @@ -435,7 +435,7 @@ \pgfusepath{stroke,fill}% }% \begin{pgfscope}% -\pgfsys@transformshift{5.260285in}{0.440000in}% +\pgfsys@transformshift{4.383571in}{0.440000in}% \pgfsys@useobject{currentmarker}{}% \end{pgfscope}% \end{pgfscope}% @@ -443,7 +443,7 @@ \definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}% \pgfsetstrokecolor{textcolor}% \pgfsetfillcolor{textcolor}% -\pgftext[x=5.260285in,y=0.342778in,,top]{\color{textcolor}{\sffamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}7}}% +\pgftext[x=4.383571in,y=0.342778in,,top]{\color{textcolor}{\rmfamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}$\mathdefault{7}$}}% \end{pgfscope}% \begin{pgfscope}% \pgfsetbuttcap% @@ -460,7 +460,7 @@ \pgfusepath{stroke,fill}% }% \begin{pgfscope}% -\pgfsys@transformshift{0.750000in}{0.440000in}% +\pgfsys@transformshift{0.625000in}{0.440000in}% \pgfsys@useobject{currentmarker}{}% \end{pgfscope}% \end{pgfscope}% @@ -468,7 +468,7 @@ \definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}% \pgfsetstrokecolor{textcolor}% \pgfsetfillcolor{textcolor}% -\pgftext[x=0.583333in, y=0.391775in, left, base]{\color{textcolor}{\sffamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}0}}% +\pgftext[x=0.458333in, y=0.391775in, left, base]{\color{textcolor}{\rmfamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}$\mathdefault{0}$}}% \end{pgfscope}% \begin{pgfscope}% \pgfsetbuttcap% @@ -485,7 +485,7 @@ \pgfusepath{stroke,fill}% }% \begin{pgfscope}% -\pgfsys@transformshift{0.750000in}{0.836396in}% +\pgfsys@transformshift{0.625000in}{0.836396in}% \pgfsys@useobject{currentmarker}{}% \end{pgfscope}% \end{pgfscope}% @@ -493,7 +493,7 @@ \definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}% \pgfsetstrokecolor{textcolor}% \pgfsetfillcolor{textcolor}% -\pgftext[x=0.583333in, y=0.788171in, left, base]{\color{textcolor}{\sffamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}5}}% +\pgftext[x=0.458333in, y=0.788171in, left, base]{\color{textcolor}{\rmfamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}$\mathdefault{5}$}}% \end{pgfscope}% \begin{pgfscope}% \pgfsetbuttcap% @@ -510,7 +510,7 @@ \pgfusepath{stroke,fill}% }% \begin{pgfscope}% -\pgfsys@transformshift{0.750000in}{1.232793in}% +\pgfsys@transformshift{0.625000in}{1.232793in}% \pgfsys@useobject{currentmarker}{}% \end{pgfscope}% \end{pgfscope}% @@ -518,7 +518,7 @@ \definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}% \pgfsetstrokecolor{textcolor}% \pgfsetfillcolor{textcolor}% -\pgftext[x=0.513888in, y=1.184568in, left, base]{\color{textcolor}{\sffamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}10}}% +\pgftext[x=0.388888in, y=1.184568in, left, base]{\color{textcolor}{\rmfamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}$\mathdefault{10}$}}% \end{pgfscope}% \begin{pgfscope}% \pgfsetbuttcap% @@ -535,7 +535,7 @@ \pgfusepath{stroke,fill}% }% \begin{pgfscope}% -\pgfsys@transformshift{0.750000in}{1.629189in}% +\pgfsys@transformshift{0.625000in}{1.629189in}% \pgfsys@useobject{currentmarker}{}% \end{pgfscope}% \end{pgfscope}% @@ -543,7 +543,7 @@ \definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}% \pgfsetstrokecolor{textcolor}% \pgfsetfillcolor{textcolor}% -\pgftext[x=0.513888in, y=1.580964in, left, base]{\color{textcolor}{\sffamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}15}}% +\pgftext[x=0.388888in, y=1.580964in, left, base]{\color{textcolor}{\rmfamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}$\mathdefault{15}$}}% \end{pgfscope}% \begin{pgfscope}% \pgfsetbuttcap% @@ -560,7 +560,7 @@ \pgfusepath{stroke,fill}% }% \begin{pgfscope}% -\pgfsys@transformshift{0.750000in}{2.025586in}% +\pgfsys@transformshift{0.625000in}{2.025586in}% \pgfsys@useobject{currentmarker}{}% \end{pgfscope}% \end{pgfscope}% @@ -568,7 +568,7 @@ \definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}% \pgfsetstrokecolor{textcolor}% \pgfsetfillcolor{textcolor}% -\pgftext[x=0.513888in, y=1.977360in, left, base]{\color{textcolor}{\sffamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}20}}% +\pgftext[x=0.388888in, y=1.977360in, left, base]{\color{textcolor}{\rmfamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}$\mathdefault{20}$}}% \end{pgfscope}% \begin{pgfscope}% \pgfsetbuttcap% @@ -585,7 +585,7 @@ \pgfusepath{stroke,fill}% }% \begin{pgfscope}% -\pgfsys@transformshift{0.750000in}{2.421982in}% +\pgfsys@transformshift{0.625000in}{2.421982in}% \pgfsys@useobject{currentmarker}{}% \end{pgfscope}% \end{pgfscope}% @@ -593,7 +593,7 @@ \definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}% \pgfsetstrokecolor{textcolor}% \pgfsetfillcolor{textcolor}% -\pgftext[x=0.513888in, y=2.373757in, left, base]{\color{textcolor}{\sffamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}25}}% +\pgftext[x=0.388888in, y=2.373757in, left, base]{\color{textcolor}{\rmfamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}$\mathdefault{25}$}}% \end{pgfscope}% \begin{pgfscope}% \pgfsetbuttcap% @@ -610,7 +610,7 @@ \pgfusepath{stroke,fill}% }% \begin{pgfscope}% -\pgfsys@transformshift{0.750000in}{2.818378in}% +\pgfsys@transformshift{0.625000in}{2.818378in}% \pgfsys@useobject{currentmarker}{}% \end{pgfscope}% \end{pgfscope}% @@ -618,7 +618,7 @@ \definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}% \pgfsetstrokecolor{textcolor}% \pgfsetfillcolor{textcolor}% -\pgftext[x=0.513888in, y=2.770153in, left, base]{\color{textcolor}{\sffamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}30}}% +\pgftext[x=0.388888in, y=2.770153in, left, base]{\color{textcolor}{\rmfamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}$\mathdefault{30}$}}% \end{pgfscope}% \begin{pgfscope}% \pgfsetbuttcap% @@ -635,7 +635,7 @@ \pgfusepath{stroke,fill}% }% \begin{pgfscope}% -\pgfsys@transformshift{0.750000in}{3.214775in}% +\pgfsys@transformshift{0.625000in}{3.214775in}% \pgfsys@useobject{currentmarker}{}% \end{pgfscope}% \end{pgfscope}% @@ -643,7 +643,7 @@ \definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}% \pgfsetstrokecolor{textcolor}% \pgfsetfillcolor{textcolor}% -\pgftext[x=0.513888in, y=3.166549in, left, base]{\color{textcolor}{\sffamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}35}}% +\pgftext[x=0.388888in, y=3.166549in, left, base]{\color{textcolor}{\rmfamily\fontsize{10.000000}{12.000000}\selectfont\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}\catcode`\%=\active\def%{\%}$\mathdefault{35}$}}% \end{pgfscope}% \begin{pgfscope}% \pgfsetrectcap% @@ -652,8 +652,8 @@ \definecolor{currentstroke}{rgb}{0.000000,0.000000,0.000000}% \pgfsetstrokecolor{currentstroke}% \pgfsetdash{}{0pt}% -\pgfpathmoveto{\pgfqpoint{0.750000in}{0.440000in}}% -\pgfpathlineto{\pgfqpoint{0.750000in}{3.520000in}}% +\pgfpathmoveto{\pgfqpoint{0.625000in}{0.440000in}}% +\pgfpathlineto{\pgfqpoint{0.625000in}{3.520000in}}% \pgfusepath{stroke}% \end{pgfscope}% \begin{pgfscope}% @@ -663,8 +663,8 @@ \definecolor{currentstroke}{rgb}{0.000000,0.000000,0.000000}% \pgfsetstrokecolor{currentstroke}% \pgfsetdash{}{0pt}% -\pgfpathmoveto{\pgfqpoint{5.400000in}{0.440000in}}% -\pgfpathlineto{\pgfqpoint{5.400000in}{3.520000in}}% +\pgfpathmoveto{\pgfqpoint{4.500000in}{0.440000in}}% +\pgfpathlineto{\pgfqpoint{4.500000in}{3.520000in}}% \pgfusepath{stroke}% \end{pgfscope}% \begin{pgfscope}% @@ -674,8 +674,8 @@ \definecolor{currentstroke}{rgb}{0.000000,0.000000,0.000000}% \pgfsetstrokecolor{currentstroke}% \pgfsetdash{}{0pt}% -\pgfpathmoveto{\pgfqpoint{0.750000in}{0.440000in}}% -\pgfpathlineto{\pgfqpoint{5.400000in}{0.440000in}}% +\pgfpathmoveto{\pgfqpoint{0.625000in}{0.440000in}}% +\pgfpathlineto{\pgfqpoint{4.500000in}{0.440000in}}% \pgfusepath{stroke}% \end{pgfscope}% \begin{pgfscope}% @@ -685,8 +685,8 @@ \definecolor{currentstroke}{rgb}{0.000000,0.000000,0.000000}% \pgfsetstrokecolor{currentstroke}% \pgfsetdash{}{0pt}% -\pgfpathmoveto{\pgfqpoint{0.750000in}{3.520000in}}% -\pgfpathlineto{\pgfqpoint{5.400000in}{3.520000in}}% +\pgfpathmoveto{\pgfqpoint{0.625000in}{3.520000in}}% +\pgfpathlineto{\pgfqpoint{4.500000in}{3.520000in}}% \pgfusepath{stroke}% \end{pgfscope}% \end{pgfpicture}% diff --git a/report/sample.pdf b/report/sample.pdf deleted file mode 100644 index fbf2eec650897a078f57a058683261813fd074a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17605 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

^Ca6r`_yK5P7j^)B^BXG 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

ev_xhS2b~T`X-M5zqtDkp75nDTut!5* zZgm$Oj8CcvjFx!Ee1#sCQ>re8AdjWVGg7b~K6q+c%PXa^Q<+A3D}VlSii+Pbvm>T- z)a-P~p=F=K{1F$rx!nbY5rdE%;17C&eu6GDVu?hOKICjJ#+=N*Y=|7BlR7^w65Kdi za>D?t^IjPT3o#`jCC!yjE~PYK5t$#4Az*x|Jpy}Dl1!?sIYq#&}ksn zA8#K?-xNYISF6{i|K@r(s0!6K;ZT=eji#p37PBAwLZUiUxSQMGzs;K^GdAu`a-gqF zYi6&0bO(cp$Sqb^0Tk^DOPoQ$h^+{Kxv{isI%WgYe?b46lLGbbi;}T*Jjm(Ra3wiQ z^~I3^r}}6da8rs`ZSYW!ow5F1$8Ik|aBP3D9$@7Zi-Q}-DKvPkySyHWLjy$=JK1uMQ1-6aNDoE)dvJ z`YSWsQI`u3zA5<|7E_Z=&m`yvr_P5KXs2w%i=k4L-N~Z8>Lq! zZ=mXA1Q%o~OY283BP9OHOjUKY3@I%6UG&grkUn zubMS5&xdMo$E#6d3#W|VKTZyOywd*wxH)!BEc=}MQ^WoW1-0rukMB5-Z&@j9UJcZF zY8bAdx#dr39wD07xqUt+l=Itkdm%d1`4qn~{yevMp@D2m5quOOABb}q0;2EEk5{lh zY8f4*IX9^y4ZJj=H%Qg_skXLS~CA^&tx`lTw6465-Y5$kSmm_5tV8H zVoK*hoA4~}1~aSSE4-qA$~h)<=~iyWq->>8tEJ&T&a9l4BaFbbYWy zHb==p$0oFe1H_RbI_sI;PQ$Ol9vvcs*qrGS5p)ZAWjCA7+c*Ar#3FU1YuJ4YJRs5z$J%?p(!uF<10?GkbQqH8@jx|LG|- zdL7~Kd1rR?Rn~H*VmDi{C3!g`8Gc-#^8F~%i|%zyDISbXFDzazS;`toQvK?{;-)m) zmMor{Axw=$zN@MzIW(JrMp6TXAMBkUzK@^g?_D%oyg@BVdQkY##F>6k!DJt(TlGHf zOg!#RA2lF{t~aK+P<9_K+k=_1SG}2jj9ZV5@2FeSfo#b>#R31p(EmLR|6evxUD3o8pH9No*u))Q>)Q=5Gvn*v z(r}ll50iW^v{e4%_&dwR1`CqMd#ee<8)DHhYJjcH#!r$w-g+xSI=>=KX zSeTiFm;{AHh3SQvMH$%G*_i~GMHmFxc>kRx-*o=FQy2_PEdLl_pp5ds2FRle&tl|2 za`)m1%S5qCo`*w(6Rgw%B0U+1?XsS0hcy*7VfDR4BuZQYoB+8)hGDO1neN4 vUg~dZ=#6De!dPRy|FD69Mfk5z+{xL%(b?V6#1!(|Z7?uFl8}hVi9-HAra8@R diff --git a/report/sample.tex b/report/sample.tex index 67148e8..606d5d8 100644 --- a/report/sample.tex +++ b/report/sample.tex @@ -2,7 +2,24 @@ \usepackage[utf8]{inputenc} \usepackage{graphicx} \usepackage[table,xcdraw]{xcolor} -\graphicspath{{figures/}} +\usepackage{pgf} +\usepackage{{booktabs}} +\usepackage{layouts} +\usepackage{parskip} + + +%% Assumed preamble to import pandas exported PGF +\def\mathdefault#1{#1} +\everymath=\expandafter{\the\everymath\displaystyle} +\IfFileExists{scrextend.sty}{ + \usepackage[fontsize=10.000000pt]{scrextend} +}{ + \renewcommand{\normalsize}{\fontsize{10.000000}{12.000000}\selectfont} + \normalsize +} +\makeatletter\@ifpackageloaded{underscore}{}{\usepackage[strings]{underscore}}\makeatother + +\graphicspath{{../figures/}{figures/}} \title{Practice} \author{Hendrik Tillemans} \date{December 2024} @@ -43,11 +60,19 @@ And numbered lists: We can export figures in .pgf format to import them: -\begin{figure} +Current text width: \printinunitsof{in}\prntlen{\textwidth} + +\begin{figure}[hbtp] \begin{center} - \input{sample.pgf} + \input{../figures/sample.pgf} \end{center} \caption{A PGF histogram from \texttt{matplotlib}.} \end{figure} +Similarly pandas can export \LaTeX tables which we can include + +\input{sample_table.tex} + +These capabilities should suffice for the report. + \end{document} diff --git a/scripts/sample_report.py b/scripts/sample_report.py index 1a1e7fa..8f2bead 100644 --- a/scripts/sample_report.py +++ b/scripts/sample_report.py @@ -4,8 +4,11 @@ import matplotlib.pyplot as plt iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv') +# set size of plot +plt.figure(figsize=(5,4)) _ = plt.hist(iris["petal_length"]) +# configure PGF matplotlib.use("pgf") matplotlib.rcParams.update({ "pgf.texsystem": "pdflatex", @@ -13,4 +16,9 @@ matplotlib.rcParams.update({ 'text.usetex': True, 'pgf.rcfonts': False, }) -plt.savefig("../figures/sample.pgf") \ No newline at end of file +plt.savefig("../figures/sample.pgf") + +summary = iris.describe() +summary.to_latex("../report/sample_table.tex", + columns=["petal_width", "petal_length", "sepal_width", "sepal_length"], + header=["Petal Width", "Petal Length", "Sepal Width", "Sepal Length"])