diff options
Diffstat (limited to 'macros/latex')
25 files changed, 1482 insertions, 460 deletions
diff --git a/macros/latex/contrib/euclideangeometry/README.txt b/macros/latex/contrib/euclideangeometry/README.txt index e2bf9e75db..0402ef848d 100644 --- a/macros/latex/contrib/euclideangeometry/README.txt +++ b/macros/latex/contrib/euclideangeometry/README.txt @@ -1,5 +1,5 @@ File README.txt for package euclideangeometry - [2021-05-16 v.0.2.0 Extension package for curve2e] + [2021-10-04 v.0.2.1 Extension package for curve2e] This work is "maintained" @@ -13,7 +13,7 @@ This work consists of files: euclideangeometry.dtx is the documented TeX source file of package euclideangeometry.sty obtained by running pdflatex on euclideangeometry.dtx -euclideangeometry.pdf obtained by running pdflatex on euclideangeometry.dtx. +euclideangeometry.pdf obtained by running pdflatex on euclideangeometry.dtx README.txt, this file, contains general information. diff --git a/macros/latex/contrib/euclideangeometry/euclideangeometry-man.pdf b/macros/latex/contrib/euclideangeometry/euclideangeometry-man.pdf Binary files differindex a441c7fccb..85b35db436 100644 --- a/macros/latex/contrib/euclideangeometry/euclideangeometry-man.pdf +++ b/macros/latex/contrib/euclideangeometry/euclideangeometry-man.pdf diff --git a/macros/latex/contrib/euclideangeometry/euclideangeometry-man.tex b/macros/latex/contrib/euclideangeometry/euclideangeometry-man.tex index 1a640af462..c59fb6fdda 100644 --- a/macros/latex/contrib/euclideangeometry/euclideangeometry-man.tex +++ b/macros/latex/contrib/euclideangeometry/euclideangeometry-man.tex @@ -1,6 +1,10 @@ % !TEX encoding = UTF-8 Unicode % !TEX TS-program = pdflatex +%%%% NON USARE ZBOX IN QUESTA DOCUMENTAZIONE: EUCLIDEANGEOMERY LO +%%%% RIDEFINISCE RISPETTO ALLA DEFINIZIONE CONTENUTA IN CURVE2E +%%%% E LA NUOVA SINTASSI È COMPLETAMENTE DIVERSA. + \documentclass[11pt,titlepage,a4paper]{article}\errorcontextlines=100 \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} @@ -106,8 +110,8 @@ g\raisebox{-0.715ex}{\kern-0.26em u}\kern-0.13em\I\kern-0.14em t}\xspace} % It differs from the previous ones because it accepts an optional % first argument asterisk; if the asterisk is not specified, the % environment produces the code and the typeset result side by side. -% If the asterisk is specified, the code is typeset first, and its typeset -% result is shown below the code. +% If the asterisk is specified, the code is typeset first, and its +% typeset result is shown below the code. % Very handy when the typeset result cannot be shrunk too much and/or % when the code is really lengthy possibly with lines that are quite long. % With reasonably short codes and lines that can be folded, the code font @@ -140,7 +144,7 @@ g\raisebox{-0.715ex}{\kern-0.26em u}\kern-0.13em\I\kern-0.14em t}\xspace} \DeclareDocumentEnvironment{Esempio}{ s O{\normalsize} D(){0.40} }% {% - \par%\addvspace{3.0ex plus 0.8ex minus 0.5ex}\vskip -\parskip + \par \Wboxu=#3\textwidth \Wboxd=\dimexpr\linewidth-\columnsep-\Wboxu\relax \VerbatimOut{\jobname-temp.tex}% @@ -202,21 +206,22 @@ Version \fileversion\ of \filedate defined in the \LaTeX\ kernel source file. The \pack{curve2e} package was upgraded a the beginning of 2020; the - material of this new package, might have been included in the former one, - but it is so specific, that we preferred defining a standalone one; this - package takes care of requesting the packages it depends from. + material of this new package, might have been included in the former + one, but it is so specific, that we preferred defining a standalone + one; this package takes care of requesting the packages it depends from. The purpose is to provide the tools to draw most of the geometrical constructions that a high school teacher or bachelor degree professor might need in order to teach geometry. The connection to Euclide depends - on the fact that in its times calculations were made with ruler, compass, - and, apparently, also with ellipsograph. + on the fact that in its times calculations were made with ruler, + compass, and, apparently, also with ellipsograph. The user of this package has available all the machinery provided by the \pack{pict2e} and \pack{curve2e} packages, in order to define new functionalities and build macros that draw the necessary lines, circles, and other such objects, as they would have done in the old times. - Actually just one macro is programmed to solve a linear system of equations + Actually just one macro is programmed to solve a linear system of + equations \end{abstract} \tableofcontents @@ -230,9 +235,10 @@ The \pack{euclideangeometry} package requires the advanced functionalities of th %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Introduction} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - The \pack{picture} environment has been available since the very beginning - of \LaTeX in 1985. At that time it was a really simple environment - that allowed to draw very simple line graphics with many limitations. + The \pack{picture} environment has been available since the very + beginning of \LaTeX in 1985. At that time it was a really simple + environment that allowed to draw very simple line graphics with many + limitations. When \LaTeX was upgraded from \LaTeX\!2.09 to \LaTeXe in 1994, Leslie Lamport announced an upgrade that eventually became available in 2003 with package \pack{pict2e}; in 2006 I wrote the \pack{curve2e} package @@ -250,13 +256,10 @@ The \pack{euclideangeometry} package requires the advanced functionalities of th \pack{pict2e} and \pack{curve2e}, but extends the functionalities with a very smart handling of coordinate systems, that allow to draw many line drawings suitable for teaching geometry in high schools and introductory - courses in the university bachelor degree programs. It is worth mentioning - that an extension of \pack{TikZ}, called \pack{tkz-euclide} is also - available in a complete and updated \TeX system installation; at the - moment its documentation needs some refinements, at least to - consistently use a single language, without switching from English - to French and viceversa. It aims at the same readership, but it allows - to do many more geometrical constructions, than \pack{euclideangeometry}. + courses in the university bachelor degree programs. + + It is worth mentioning that an extension of \pack{TikZ}, called \pack{tkz-euclide} is also available in a complete and updated \TeX + system installation; at the moment its documentation needs some refinements, at least to consistently use a single language, without switching from English to French and viceversa. It aims at the same readership, but it allows to do many more geometrical constructions than \pack{euclideangeometry}. The real difference is that \pack{euclideangemetry} may be easily expanded without the need of knowing the complex machinery and coding of the \pack{tkz-euclide} underlaying \pack{TikZ} package. @@ -266,14 +269,14 @@ The \pack{euclideangeometry} package requires the advanced functionalities of th interface; rather it builds new macros by using the same philosophy of the recent \pack{curve2e} package. - It is worth mentioning that now \pack{curve2e} accepts coordinates in both - cartesian and polar form; it allows to identify specific points of the - drawing with macros, so the same macro can be used over and over again to - address the same point. The package can draw lines, vectors, arcs - with no arrow tips, or with one arrow tip, or with arrow tips at both ends, - arcs included. The macros for drawing poly lines, polygons, circles, - generic curves (by means of Bézier cubic or quadratic splines) are - already available; such facilities are documented and exemplified + It is worth mentioning that now \pack{curve2e} accepts coordinates in + both cartesian and polar form; it allows to identify specific points + of the drawing with macros, so the same macro can be used over and over + again to address the same point. The package can draw lines, vectors, + arcs with no arrow tips, or with one arrow tip, or with arrow tips at + both ends, arcs included. The macros for drawing poly lines, polygons, + circles, generic curves (by means of Bézier cubic or quadratic splines) + are already available; such facilities are documented and exemplified in the user manual of \pack{curve2e} package. In what follows there will be several figures drawn with this package; @@ -1280,6 +1283,7 @@ z^2 &= m^2\eu^{\iu 2\phi}\\ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Here we can show some examples of the advanced \pack{curve2e} commands and of what can be done with this \pack{euclideangeometry} extension. + If the user wants to practice by replicating the following examples, remember to load the \pack{pm-isomath} package, very useful to typeset the labels of some drawings. Matter of facts, this very documentation is being typeset by using the following package list, in addition to the usual encoding and language related ones: \pack{lmodern}, \pack{textcomp}, \pack{mflogo}, \pack{amsmath}, \pack{fancyvrb}, \pack{graphicx}, \pack{afterpage}, \pack{etoolbox}, \pack{enumitem}, \pack{xspace}, \pack{xcolor}, \pack{euclideangeometry}, \pack{pm-isomath}. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Straight and curved vectors} @@ -1396,6 +1400,90 @@ z^2 &= m^2\eu^{\iu 2\phi}\\ \caption{Dashed and dotted lines}\label{fig:DashDot} \end{figure} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{A simple application: Pitagoras' theorem} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Everybody know Pitagoras' theorem and its famous final formula: «If a right triangle has arms of lengths $a$ and $b$, and hypothenuse of length $c$, then the squares built on the arms are collectively equivalent to the square built on the hypothenuse: $a^2 + b^2 = c^2$.»Or, in simpler terms the sum of areas of the squares built on the arms is equal to the area of the square built on the hypothenuse. + +\subsection{First solution} +This result may be proved with a simple geometrical construction that is shown in figure~\ref{fig:pitagora}. + +\begin{figure}[!tbp] +\centering +\begin{Esempio}*[\normalsize](0.40) +\unitlength=0.0125\linewidth +\begin{picture}(70,80)(-10,-50) +\AutoGrid +\thicklines\polygon(0,0)(50,0)(18,24) +\thinlines\polyline(0,0)(0,-50)(50,-50)(50,0) +\Pbox(0,0)[r]{C}[0.75ex]\Pbox(18,0)[tr]{H}[0.75ex] +\Pbox(50,0)[l]{B}[0.75ex]\Pbox(18,24)[b]{A}[0.75ex] +\Pbox(0,-50)[br]{E}[0.75ex]\Pbox(50,-50)[bl]{D}[0.75ex] +\Pbox(18,-50)[br]{F}[0.75ex]\Pbox(10,12)[br]{a}[0] +\Pbox(33,12)[bl]{b}[0]\Pbox(25,0)[t]{c}[0] +\Pbox(9,0)[b]{d}[0]\Pbox(30,0)[b]{e}[0] +\Pbox(50,-25)[r]{c}[0]\Pbox(25,-50)[b]{c}[0] +\Pbox(0,-25)[l]{c}[0] +\Dashline(18,24)(18,-50){1.5} +\end{picture} +\end{Esempio} +\caption{Geometrical construction to prove Pitagoras' theorem} +\label{fig:pitagora} +\end{figure} + +The proof is based in the fact the the heigh of the right triangle \textsf{ABC} with respect to the hypotenuse divide the triangle in two smaller and similar ones; so that triangles \textsf{ABC}, \textsf{AHC}, and \textsf{ABH}, are similar to one another. This similatity allows us to write: +\begin{align*} +d : a = a : c &\Longrightarrow d = a^2/c\\ +e : b = b : c &\Longrightarrow e = b^2/c +\end{align*} + +The dashed height \textsf{AH} may be continued until the opposite side of the square built on the hypothenuse and dives such square in two rectangles \textsf{CHFE} and \textsf{HBDF}; the former rectangle area equals $ c\cdot a^2/c = a^2$, while the later rectangle area equals $ c\cdot b^2/c= b^2$; therefore the full hypothenuse square, sum of these two rectangles, equals: +\[ c^2 = a^2 + b^2\] + +Of course Euclid did not have the modern mathematical “language” available, and reading his book \emph{Elements} (in ancient Greek) is not that simple and requires a deep knowledge of the scientific prose of his time. But substantially his proof was purely geometric and based on equivalence of triangles and rectangles areas (Euclide, \emph{Elements}, book \~I,47). + +\subsection{Second solution} +Another simple purely geometrical proof is shown in figures~\ref{fig:pitagora2}~$(a)$ and~$(b)$. +Build a square of side $a+b$ where two grays squares of sides $a$ and $b$ +are contained as in figure~\ref{fig:pitagora2}-$(a)$: their total area +equals $a^2+b^2$. Notice that the white triangles contained in this figure have arms of length $a$ and $b$ and hypothenuse $c$. In figure~\ref{fig:pitagora2}~$(b)$ such four white triangles are moved to the corners of the larger square, so that the gray interior is a square of side $c$. Due to the identity of the four white triangles in both figures, the gray areas are equivalent, therefore the square with side equal to the hypotenuse $c$ is equivalent to the squares built on the triangle arms $a$ and $b$, and this, again, proves Pitagoras' theorem. +\begin{figure} +\begin{Esempio}*[\small](0.40) +\unitlength=0.00675\linewidth +\begin{picture}(70,70) +\AutoGrid +\polygon(0,0)(70,0)(70,70)(0,70) +{\color{lightgray} +\polygon*(0,40)(30,40)(30,70)(0,70) +\polygon*(30,0)(70,0)(70,40)(30,40)} +\segment(30,70)(70,40) +\segment(0,0)(30,40) +\Pbox(15,55)[cc]{a^2}[0]\Pbox(50,20)[cc]{b^2}[0] +\Pbox(15,40)[t]{a}[0]\Pbox(15,00)[b]{a}[0] +\Pbox(70,55)[r]{a}[0]\Pbox(30,55)[l]{a}[0] +\Pbox(00,20)[l]{b}[0]\Pbox(30,20)[r]{b}[0] +\Pbox(50,40)[b]{b}[0]\Pbox(50,70)[t]{b}[0] +\Pbox(15,20)[br]{c}[0]\Pbox(50,55)[tr]{c}[0] +\put(0,-6){\makebox(0,0)[bl]{$(a)$}} +\end{picture} +\hfill +\begin{picture}(70,70) +\AutoGrid +\polygon(0,0)(70,0)(70,70)(0,70) +{\color{lightgray} +\polygon*(40,0)(70,40)(30,70)(0,30)} +\put(70,-6){\makebox(0,0)[br]{$(b)$}} +\Pbox(35,35)[cc]{c^2}[0] +\Pbox(55,00)[b]{a}[0]\Pbox(70,55)[r]{a}[0] +\Pbox(00,15)[l]{a}[0]\Pbox(15,70)[t]{a}[0] +\Pbox(00,55)[l]{b}[0]\Pbox(55,70)[t]{b}[0] +\Pbox(15,00)[b]{b}[0]\Pbox(70,20)[r]{b}[0] +\Pbox(15,50)[br]{c}[0]\Pbox(50,55)[bl]{c}[0] +\Pbox(20,15)[tr]{c}[0]\Pbox(55,20)[tl]{c}[0] +\end{picture} +\end{Esempio} +\caption{Another proof of Pitagoras' theorem}\label{fig:pitagora2} +\end{figure} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Generic curves} @@ -1471,7 +1559,7 @@ With the \cs{Curve} macro it is possible to make line art or filled shapes. The \end{figure} Another interesting construction is a clock quadrant; this is shown - in figure~\ref{fig:orologio} + in figure~\ref{fig:orologio}; remember that in order to rotate any object, therefore using the \cs{rotatebox} command, the \pack{graphicx} package is necessary; package \pack{euclideangeomentry} and its partners do no load it. This very manual explicitly loads it together with the other necesssary packages. \begin{figure}[!htb] \begin{Esempio}[\setfontsize{9.5}](0.525) @@ -1701,10 +1789,10 @@ Th symbols are self explanatory; as usual, input data (those entered before the \Circlewithcenter\Kdue radius\RKdue \thinlines \TwoCirclesIntersections(\Kuno)(\Kdue)withradii\RKuno and\RKdue to\Puno and\Pdue -\Pbox(\Kuno)[br]{C_1}[4] \Pbox(\Kdue)[bl]{C_2}[4] +\Pbox(\Kuno)[br]{C_1}[4] \Pbox(\Kdue)[bc]{C_2}[4] \Pbox(\Puno)[tl]{P_1}[4] \Pbox(\Pdue)[bc]{P_2}[4] \put(\Kuno){\Vector(-45:\RKuno)}\Pbox(5,-27)[bl]{R_1}[0] -\put(\Kdue){\Vector(-45:\RKdue)}\Pbox(25, 3)[bl]{R_2}[0] +\put(\Kdue){\Vector(-45:\RKdue)}\Pbox(26, 2)[bl]{R_2}[0] \Pbox(\CI)[t]{I}[4] % \segment(\Kuno)(\Kdue)\segment(\Puno)(\Pdue) @@ -1752,10 +1840,10 @@ The code for drawing figure~\ref{fig;Intersections-of-two-circles} is the follow \thinlines \TwoCirclesIntersections(\Kuno)(\Kdue)withradii\RKuno and\RKdue to\Puno and\Pdue -\Pbox(\Kuno)[br]{C_1}[4] \Pbox(\Kdue)[bl]{C_2}[4] +\Pbox(\Kuno)[br]{C_1}[4] \Pbox(\Kdue)[bc]{C_2}[4] \Pbox(\Puno)[tl]{P_1}[4] \Pbox(\Pdue)[bc]{P_2}[4] \put(\Kuno){\Vector(-45:\RKuno)}\Pbox(5,-27)[bl]{R_1}[0] -\put(\Kdue){\Vector(-45:\RKdue)}\Pbox(25, 3)[bl]{R_2}[0] +\put(\Kdue){\Vector(-45:\RKdue)}\Pbox(26, 2)[bl]{R_2}[0] \Pbox(\CI)[t]{I}[4] % \segment(\Kuno)(\Kdue)\segment(\Puno)(\Pdue) @@ -2005,20 +2093,7 @@ Ellipses have many interesting properties. One that I was not able to find anywh \url{https://docplayer.com.br/345411-Elipses-inscritas-num-triangulo.html}\end{flushleft} is the \emph{director circumference}, literal translation of the Portuguese definition \emph{circunfência diretriz}. -Consider an ellipse with its foci $F$ en $F'$, and a generic point $P$ on its contour. -Trace a segment from $F\,P$ and another segment for $P\,F'$; these segments measure the distances from point $P$ to each focus: their sum is the length of the main ellipse axis $2a$, where $a$ is the semi axis. Now lengthen the segment $P\,F'$ to point $S$ by the length of $F\,P$; the length of $S\,F'$ is therefore equal to $2a$; now trace the circumference with center in $F'$ and radius $2a$; this is the \emph{director circumference}, that is labelled with~$\Gamma$. - -By construction, then, the circle $\gamma$ centred in $F$ and radius equal to $F\,P$ is tangent to $\Gamma$ in $S$ and passes through $F$. This allows to say that: -\begin{itemize}[noitemsep] -\item the ellipse is the locus of the centres of all circles passing through focus $F$ and internally tangent to the circle $\Gamma$ centred in the other focus $F'$ and with radius $2a$; -\item the axis of segment $S\,F$ is tangent to the ellipse; -\item the tangency point is the point $P$; -\item since this axis passes through the midpoint $M$ of segment $S\,F$ and it is perpendicular to it, the segment $M\,P$ determines the direction of the tangent to the ellipse; -\item notice that points $S$ and $F$ are symmetrical with respect to the tangent in point $P$. -\end{itemize} -Such properties can be viewed and controlled in figure~\ref{fig:diretriz}. - -\begin{figure}[!tbp]\centering +\begin{figure}[!htbp]\centering \begin{Esempio}*[\setfontsize{8.2}](0.40) \unitlength=0.005\linewidth \begin{picture}(170,160)(-60,-80) @@ -2032,8 +2107,9 @@ Such properties can be viewed and controlled in figure~\ref{fig:diretriz}. \edef\P{\X,\Y}\Pbox(\P)[b]{P}[3] % Foci coordinates \edef\C{\fpeval{sqrt(\A**2-\B**2)}} -\CopyVect-\C,0 to\F \CopyVect\C,0 to\Fp\Pbox(\Fp)[t]{F'}[3] -\Pbox(\F)[t]{F}[3]\Pbox(0,0)[tr]{O}[3] +\CopyVect-\C,0 to\F \CopyVect\C,0 to\Fp +\Pbox(\Fp)[t]{F'}[3]\Pbox(\F)[t]{F}[3]\Pbox(0,0)[tr]{O}[3] +\segment(\P)(\F) % Director circumference \edef\Raggio{\fpeval{2*\A}} \Circlewithcenter\Fp radius\Raggio \Pbox(80,60)[tr]{\ISOGamma{lmss}}[0] @@ -2053,6 +2129,20 @@ Such properties can be viewed and controlled in figure~\ref{fig:diretriz}. \caption{The director circumference}\label{fig:diretriz} \end{figure} + +Consider an ellipse with its foci $F$ en $F'$, and a generic point $P$ on its contour. +Trace a segment $FP$ and another segment $PF'$; these segments measure the distances from point $P$ to each focus: their sum is the length of the main ellipse axis $2a$, where $a$ is the semi axis. Now lengthen the segment $P\,F'$ to point $S$ by the length of $F\,P$; the length of $S\,F'$ is therefore equal to $2a$; now trace the circumference with center in $F'$ and radius $2a$; this is the \emph{director circumference}, that is labelled with~$\Gamma$. + +By construction, then, the circle $\gamma$ centred in $P$ and radius equal to $F\,P$ is tangent to $\Gamma$ in $S$ and passes through $F$. This allows to say that: +\begin{itemize}[noitemsep] +\item the ellipse is the locus of the centres of all circles passing through focus $F$ and internally tangent to the circle $\Gamma$ with radius $2a$, centred in the other focus $F'$; +\item the axis of segment $SF$ is tangent to the ellipse; +\item the tangency point is the point $P$; +\item since this axis passes through the midpoint $M$ of segment $S\,F$ and it is perpendicular to it, the segment $M\,P$ determines the direction of the tangent to the ellipse; +\item notice that points $S$ and $F$ are symmetrical with respect to the tangent in point $P$. +\end{itemize} +Such properties can be viewed and controlled in figure~\ref{fig:diretriz} on page~\pageref{fig:diretriz}. + Of course the geometrical construction of figure~\ref{fig:diretriz} can be used also in reverse order; for example it may be given a line to play the role of the tangent, a point on this line to play the role of tangency, and a point not belonging to the line to play the role of a focus, then it is possible to find the other focus laying on a horizontal line passing through the given focus. It suffices to find the symmetrical point of the first focus with respect with the given line, and to draw a line passing through this symmetrical point and the point of tangency that intersects the horizontal line through the first focus, concluding that this is the second focus and that the ellipse major axis length is that of the segment joining this second focus with the above mentioned symmetrical point. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/macros/latex/contrib/euclideangeometry/euclideangeometry.dtx b/macros/latex/contrib/euclideangeometry/euclideangeometry.dtx index f8850eef50..90008b0ac4 100644 --- a/macros/latex/contrib/euclideangeometry/euclideangeometry.dtx +++ b/macros/latex/contrib/euclideangeometry/euclideangeometry.dtx @@ -33,7 +33,7 @@ %<package>\ProvidesPackage{euclideangeometry}% %<readme>File README.txt for package euclideangeometry %<*package|readme> - [2021-05-016 v.0.2.0 Extension package for curve2e] + [2021-10-04 v.0.2.1 Extension package for curve2e] %</package|readme> %<*driver> \documentclass{ltxdoc}\errorcontextlines=100 @@ -295,7 +295,7 @@ g\raisebox{-0.715ex}{\kern-0.26em u}\kern-0.13em\I\kern-0.14em t}\xspace} % evolution of a command that I have been using for years in several % documents of mine. It uses some general text, not necessarily % connected to a particular point of the |picture| environment, -% as a legend; It can draw short text as a simple horizontal box, +% as a legend; it can draw short text as a simple horizontal box, % and longer texts as a vertical box of specified width and height % % Is syntax is the following: diff --git a/macros/latex/contrib/euclideangeometry/euclideangeometry.pdf b/macros/latex/contrib/euclideangeometry/euclideangeometry.pdf Binary files differindex 2dec94adc2..1a837c1d5a 100644 --- a/macros/latex/contrib/euclideangeometry/euclideangeometry.pdf +++ b/macros/latex/contrib/euclideangeometry/euclideangeometry.pdf diff --git a/macros/latex/contrib/uantwerpendocs/beamerthemeuantwerpenuserguide.pdf b/macros/latex/contrib/uantwerpendocs/beamerthemeuantwerpenuserguide.pdf Binary files differindex 9f8e225c71..4d63ea5dce 100644 --- a/macros/latex/contrib/uantwerpendocs/beamerthemeuantwerpenuserguide.pdf +++ b/macros/latex/contrib/uantwerpendocs/beamerthemeuantwerpenuserguide.pdf diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpenbamathesis-example.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpenbamathesis-example.pdf Binary files differindex 78da7dc3e6..6231268cc1 100644 --- a/macros/latex/contrib/uantwerpendocs/uantwerpenbamathesis-example.pdf +++ b/macros/latex/contrib/uantwerpendocs/uantwerpenbamathesis-example.pdf diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpencoursetext-example.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpencoursetext-example.pdf Binary files differindex 1c92a8aff2..ea7a46b578 100644 --- a/macros/latex/contrib/uantwerpendocs/uantwerpencoursetext-example.pdf +++ b/macros/latex/contrib/uantwerpendocs/uantwerpencoursetext-example.pdf diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpendocs.dtx b/macros/latex/contrib/uantwerpendocs/uantwerpendocs.dtx index 0301cb5e36..0b0b87df96 100644 --- a/macros/latex/contrib/uantwerpendocs/uantwerpendocs.dtx +++ b/macros/latex/contrib/uantwerpendocs/uantwerpendocs.dtx @@ -36,14 +36,15 @@ %<le>\ProvidesClass{uantwerpenletter} %<ex>\ProvidesClass{uantwerpenexam} %<bmr>\ProvidesPackage{beamerthemeuantwerpen} -%<cls|ct|bmt|mt|pt|rp|le|ex|bmr> [2021/08/03 v4.1 .dtx skeleton file] +%<cls|ct|bmt|mt|pt|rp|le|ex|bmr> [2021/10/04 v4.2 .dtx skeleton file] %<mt>\errmessage{This class is obsolete, use the uantwerpenbamathesis class instead !} -\def\fileversion{4.1} -\def\filedate{2021/08/03} %<*driver> \documentclass[a4paper]{ltxdoc} +\def\fileversion{4.2}% +\def\filedate{2021/10/04}% \usepackage{makeidx} \usepackage{alltt} +\usepackage{longtable} \usepackage{booktabs} \usepackage{metalogo} \IfFileExists{tocbibind.sty}{\usepackage{tocbibind}}{} @@ -311,10 +312,16 @@ % % \title{<put your title here>} % \author{<put your name here>} +% +% % you can specify, no, one or multiple names in the categories +% % supervisor (= promotor), cosupervisor (= copromotor), +% % extsupervisor (= externe promotor) % \supervisor{<put supervisor's name(s) here>}{<affiliation goes here>} % \supervisor{<put supervisor's name(s) here>}{<affiliation goes here>} -% \supervisor{<put supervisor's name(s) here>}{<affiliation goes here>} -% \supervisor{<put supervisor's name(s) here>}{<affiliation goes here>} +% \cosupervisor{<put supervisor's name(s) here>}{<affiliation goes here>} +% \cosupervisor{<put supervisor's name(s) here>}{<affiliation goes here>} +% \extsupervisor{<put supervisor's name(s) here>}{<affiliation goes here>} +% \extsupervisor{<put supervisor's name(s) here>}{<affiliation goes here>} % % % classmarker % \academicyear{<XXXX-YYYY>} @@ -643,12 +650,10 @@ % This macro indicates which version of the course this is. % % -% \DescribeMacro{\defensedate} [bamathesis / phdthesis] (mandatory)\\ -% Date of the bamathesis defense in Dutch, in the form 'month year', -% e.g. ``juni 2012''. In case of a PhD thesis, only the year should be -% mentioned. +% \DescribeMacro{\defensedate} [phdthesis] (mandatory)\\ +% Only the year should be mentioned. % -% \DescribeMacro{\defenselocation} [bamathesis / phdthesis] +% \DescribeMacro{\defenselocation} [phdthesis] % (optional)\\ % Location of the defense. Defaults to ``Antwerpen''. % @@ -671,20 +676,55 @@ % \DescribeMacro{\phddegree} [phdthesis] (discontinued)\\ % This macro is no longer used. Use |\degree{}| instead. % -% \DescribeMacro{\degree} [bmthesis,phdthesis,coursetext] (mandatory)\\ +% \DescribeMacro{\degree} [bamathesis,phdthesis,coursetext] (mandatory)\\ % This is the official degree name (in the appropriate language, % possibly mixed ``dutch (english)''). % Specify the official title of your diploma. This must be the % official title. For bachelor and master programmes in Dutch, it must -% be the Dutch title. For programmes in English ti may be the English +% be the Dutch title. For programmes in English it may be the English % title. For PhD degrees, language constraints are less strict.\\ % Consult \url{https://www.hogeronderwijsregister.be} for correct % bachelor and master degree titles. Consult the Doctoral bylaws of % the university for correct PhD degree titles. +% Students of FTI and FWET, can use the |\bamadegree| command instead. +% +% \DescribeMacro{\bamadoctype} [bamadocument] (mandatory)\\ +% This allows to set the nature of the thesis. The proper values of +% the argument are listed below. Don't use this macro when you are +% using the |\bamadegree| macro (see below), unless you want to change +% the document type to 'project'. % +% \begin{center} +% % This data comes from uantwerpendocs-doctype.data +% \begingroup +% \catcode`\^^M=13% +% \def^^M{~\\}% +% \catcode`\==4 %~ +% \begin{longtable}{p{3cm}p{8.5cm}}% +% \toprule argument \\ \midrule ~\input{uantwerpendocs-doctype.data} +% \bottomrule% +% \end{longtable}% +% \endgroup +% \end{center} +% +% \DescribeMacro{\bamadegree} [bamathesis] (mandatory)\\ +% This allows to specify the official degree through an +% abbreviation. Using this abbreviation +% \begin{center} +% % This data comes from uantwerpendocs-degree.data +% \begingroup +% \catcode`\^^M=13% +% \def^^M{~\\}% +% \catcode`\==4 %~ +% \begin{longtable}{p{3cm}p{8.5cm}}% +% \toprule argument & degree \\ \midrule \input{uantwerpendocs-degree.data} +% \bottomrule% +% \end{longtable}% +% \endgroup +% \end{center} +% % \DescribeMacro{\programme} [coursetext] (discontinued)\\ % This macro is no longer used. Use |\degree{}| instead.% -% % \DescribeMacro{\publisher} [coursetext] (mandatory)\\ % This macro sets the publisher information of the document. % It is printed on the front page. It defaults to the repographic @@ -1007,7 +1047,13 @@ % % \begin{verbatim} %<*bmt-example> -\documentclass[a4paper,11pt,twoside,openright,english,ti]{uantwerpenbamathesis} +\documentclass[ti,twoside,openright,a4paper,11pt]{uantwerpenbamathesis} +% 1. specify your faculty in the options above! This will trigger the +% correct color scheme and logos. +% FTI = ti +% FWET = we +% 2. for two-sided theses, specify 'twoside' and 'openright' as options +% for one-sided theses, specify 'oneside' and 'openany' as options \usepackage[dutch]{babel} % or english if your text is in English \usepackage{kantlipsum} % this is just for some dummy text, please remove @@ -1017,17 +1063,36 @@ % yourself! This allows you to put it in the % correct order with the other packages you load! -\title{Minimax optimisatie voor performantieruimtemodellering} +\usepackage{mathptmx} +\iftutex +\usepackage{fontspec} +\setmainfont{Calibri} % comment this line out if you want computer + % modern as main font, or feel free to select + % any other font +\setsansfont{Calibri} +\usepackage{sansmathaccent} +\fi + +\bamadegree{ti-nl-ma-ei} + +\title{Minimax optimisatie voor performantie- + ruimtemodellering} % either don't split titles, or do so with hypen + % and a newline +\subtitle{Deze subtitel mag je weglaten} \author{Bert Bibber} -\supervisor{prof. dr. ir. Kumulus}{Universiteit Antwerpen} -\supervisor{prof. dr. Hilarius Warwinkel}{TNT-Bang, N.V.} -\supervisor{ing. Piet Pienter}{POM} +% you can specify multiple supervisors, cosupervisors and external supervisors +% in Dutch: promotoren, copromotoren (dagelijkse begeleiders) en bedrijfspromotoren +\supervisor{prof. dr. ir. P. Kumulus}{UAntwerpen} +\supervisor{prof. dr. ir. E. Snuffel}{UAntwerpen} +\cosupervisor{ing. P. Pienter}{Cosys, UAntwerpen} +\extsupervisor{prof. dr. H. Warwinkel}{TNT-Bang, N.V.} -\academicyear{2021-2022} -\degree{Bachelor of Science in de industri\"ele wetenschappen - elektronica-ICT} -\defenselocation{Antwerpen} -\defensedate{juni 2021} +% keep the spaces around the dash! +\academicyear{2021 - 2022} + +% you can specify a company logo +%\companylogo{\includegraphics[width=4.5cm,height=2.5cm,keepaspectratio]{companylogo.jpg}} \begin{document} @@ -1040,10 +1105,16 @@ \mainmatter \chapter*{Inleiding} +\insettext{Bene vixit qui bene latuit!} + \kant[1] \chapter{Onderzoeksvraag} +\insetquote{As any dedicated reader can clearly see, the Ideal of + practical reason is a representation of + as far as I know, the things themselves, a vast overexaggeration.} + \section{Het gebeuren} \kant[2] @@ -1054,6 +1125,21 @@ \kant[3] +\kant[4] + +\kant[5] + +\kant[6] + +\kant[7] + +\kant[8] + +\kant[9] + +\kant[10] + + \chapter{Literatuurstudie} \chapter{Theoretische achtergrond} @@ -1067,8 +1153,6 @@ \chapter{Symbolen} \chapter{Referentielijst} -\makefinalpage - \end{document} %</bmt-example> % \end{verbatim} @@ -2046,14 +2130,16 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in % % % We execute some standard options: -% We load the |book| class for course texts and master theses. +% We load the |book| class for course texts, reports and PhD theses, and the +% scrbook class for bachelor and master theses. % \begin{macrocode} %<*ct|bmt|pt|rp> \input{uantwerpencommonoptions.clo} \ExecuteOptions{a4paper,11pt,final,oneside,openright} \ProcessOptions\relax -\LoadClassWithOptions{book} %</ct|bmt|pt|rp> +%<ct|pt|rp>\LoadClassWithOptions{book} +%<bmt>\LoadClassWithOptions{scrbook} % We load the |letter| class for letters %<*le> \input{uantwerpencommonoptions.clo} @@ -2091,15 +2177,21 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in % Let's reduce the margins to 1 inch each for the documents that are % unlikely to be glue bound: % \begin{macrocode} -%<*ct|bmt|rp|ex> +%<*ct|rp|ex> \RequirePackage[top=2.5cm, bottom=2.5cm, left=2.5cm, right=2.5cm]{geometry} -%</ct|bmt|rp|ex> +%</ct|rp|ex> % Let's follow the instructions by ADS for the (marginal(!) glue provision): %<*pt> \RequirePackage[paperwidth=180mm,paperheight=260mm, top=2.5cm,bottom=2.5cm,left=2.6cm,right=1.8cm,twoside] {geometry} -%</pt> +%</pt> +% Also, let's follow the office templates for the bachelor's and +% master's theses: +%<*bmt> +\RequirePackage[top=2.6cm, bottom=2.5cm, left=3.5cm, right=1.6cm]{geometry} +%</bmt> +% Letters are a little bit different: %<*le> \RequirePackage[top=1in, bottom=1in, left=1.34in, right=1in]{geometry} \RequirePackage[normalem]{ulem} @@ -2110,8 +2202,8 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in % Let's make things a bit easier for me. % \begin{macrocode} %<*ct|bmt|pt|rp|le|ex> -\RequirePackage{expl3} -%\RequirePackage[check-declarations]{expl3} % I use this during debug phase +%\RequirePackage{expl3} +\RequirePackage[check-declarations]{expl3} % I use this during debug phase \RequirePackage{xparse} %</ct|bmt|pt|rp|le|ex> % \end{macrocode} @@ -2165,10 +2257,11 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in % \begin{macrocode} %<*ct|bmt|pt|rp|le|ex> \RequirePackage{graphicx} +\RequirePackage{soul} \RequirePackage[export]{adjustbox} \RequirePackage{color} \RequirePackage{tikz} -\usetikzlibrary{positioning} +\usetikzlibrary{positioning,calc} \RequirePackage{eso-pic} %</ct|bmt|pt|rp|le|ex> %<*ct|rp> @@ -2201,18 +2294,65 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in % % \begin{macrocode} %<*ct|bmt|pt|rp|le|ex> -\definecolor{uacorpbord}{cmyk} {0.00,1.00,0.60,0.37} -\definecolor{uacorpblue}{cmyk} {1.00,0.25,0.00,0.50} -\definecolor{uacorplightblue}{cmyk}{1.00,0.00,0.08,0.13} -\definecolor{uacorporange}{cmyk} {0.00,0.32,1.00,0.09} -\definecolor{uaftifresh}{cmyk} {0.34,1.00,0.00,0.00} -\definecolor{uaftisober}{cmyk} {0.10,1.00,0.00,0.49} \definecolor{lightgray}{cmyk} {0.00,0.00,0.00,0.05} \definecolor{darkgray}{cmyk} {0.00,0.00,0.00,0.80} \definecolor{watermark}{cmyk} {0.00,0.00,0.00,0.05} %</ct|bmt|pt|rp|le|ex> % \end{macrocode} % +% \subsection{Fancy highlighting} +% \changes{v4.2}{2021/10/04}{Added highlighting facilities} +% Though I'm not keen on highlighting, the style gurus have decided to +% put highlighting in the titles of the bachelor's and master's +% theses. The macro blow highlights a token sequence using white text +% on the main color. +% \begin{macrocode} +%<*bmt> +\newcommand\@uantwerpendocshl[1]{\begin{lrbox}{\@tempboxa}#1\end{lrbox}\@uantwerpendocshlbox{\@tempboxa}} +\newcommand{\@uantwerpendocshlbox}[1]{% + \tikz{% + \pgfpathrectangle{\pgfpoint{1pt}{0pt}}{\pgfpoint{\wd #1}{\ht #1}}% + \pgfusepath{use as bounding box}% + \node[anchor=base + west,align=center,fill=maincolor,text=white,outer sep=0pt,inner + xsep=5pt, inner ysep=0pt,minimum height=\ht\strutbox+1pt]{\raisebox{1pt}{\strut}\strut\usebox{#1}}; + }% +} +%</bmt> +% \end{macrocode} +% +% \subsection{Fancy inset texts and quotes} +% \changes{v4.2}{2021/10/04}{Added some fancy inset texts and quotes} +% \begin{macrocode} +%<*bmt|pt|ct|rp> +\newcommand\insettext[1]{ + \textcolor{basecolor}{ + \begin{tabular}{@{\hskip3ex\textcolor{maincolor}{\vrule width 2.5pt}\hskip3ex\large\bfseries}p{0.88\textwidth}} + \strut #1 + \end{tabular} + } +} +\newcommand\insetquote[1]{ + \insettext{ + \begin{tikzpicture}[scale=0.65] + \fill[green!60!black] (0.4,0) -- (0.5,0) -- (0.75,-0.15) -- (0.75,0) -- + (0.9,0) arc(-90:0:0.1) -- (1,0.65) arc(0:90:0.1) -- (0.1,0.75) arc + (90:180:0.1) -- (0,0.1) arc(-180:-90:0.1) -- cycle; + \foreach \x in {0.35,0.7} { + \begin{scope}[shift={(\x,0.425)},scale=0.25] + \fill[white] (0,0) circle[radius=0.5]; + \fill[white] (0.5,0) arc(0:-90:1) -- + (-0.5,-0.725) arc(-90:0:0.725) -- cycle; + \end{scope} + } + \end{tikzpicture}\\ + #1 + } +} +%</bmt|pt|ct|rp> +% \end{macrocode} +% +% % \subsection{Camera-ready version} % \changes{v4.1}{2021/08/03}{Added cameraready option} % For the course texts, this means printing no artwork (as universitas @@ -2230,12 +2370,9 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in %</pt> % \end{macrocode} % -% \subsection{Babel provisions} % -% \changes{v1.7}{2016/05/01}{Added babel tags of elements -% of master's thesis title page} -% \changes{v4.0}{2021/05/01}{Total rewrite of this part based on -% expl3} +% \subsection{Data dictionary and parser} +% % Let's start by defining our dictionary: % \begin{macrocode} %<*ct|bmt|pt|rp|le|ex> @@ -2253,19 +2390,15 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in \NewDocumentCommand{\uantwerpendocsPROP}{m}{ \str_uppercase:f { \prop_item:Nn \g_@@_data_prop{#1} } } -\NewDocumentCommand{\uantwerpendocspropread}{m}{ - \@@_datareader:n { #1 } -} %</ct|bmt|pt|rp|le|ex>% % \end{macrocode} % -% We will fill the dictionary from the generic data file (for elements -% that should not be translated, currently empty) and the language -% specific data files (for elements that can be translated). -% % To this end, we use the following parsing infrastructure: % \begin{macrocode} %<*ct|bmt|pt|rp|le|ex> +\NewDocumentCommand{\uantwerpendocspropread}{m}{ + \@@_datareader:n { #1 } +} \cs_generate_variant:Nn \prop_gput:Nnn{ Nxx } \cs_new_nopar:Npn \@@_dataparser:w #1 = #2!! { \tl_set:Nn \l_tmpa_tl {#1} @@ -2303,6 +2436,17 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in %</ct|bmt|pt|rp|le|ex> % \end{macrocode} % +% \subsection{Babel provisions} +% +% \changes{v1.7}{2016/05/01}{Added babel tags of elements +% of master's thesis title page} +% \changes{v4.0}{2021/05/01}{Total rewrite of this part based on +% expl3} +% We will fill the dictionary from the generic data file (for elements +% that should not be translated, currently empty) and the language +% specific data files (for elements that can be translated). +% +% % \begin{macrocode} %<*ct|bmt|pt|rp|le|ex> \newcommand*\@logo{\logopos} @@ -2317,6 +2461,8 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in } } {} + \uantwerpendocspropread{degree} + \uantwerpendocspropread{doctype} \makeatletter } %</ct|bmt|pt|rp|le|ex> @@ -2324,104 +2470,253 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in % % The English data can be found below: %<*endata> -org-be = Faculty of Business and Economics -org-fbd = Faculty of Pharmaceutical, Biomedical and Veterinary Sciences -org-ggw = Medicine and Health Sciences -org-lw = Faculty of Arts -org-ow = Faculty of Design Sciences -org-re = Faculty of Law -org-sw = Faculty of Social Sciences -org-ti = Faculty of Applied Engineering -org-we = Faculty of Science -org-iob = Institute of Development Policy -org-ua = University of Antwerp -arr = All rights reserved -of = of -domainname = uantwerp.be -datename = Date -subjectname = Subject -acyearname = Academic year -baname = Bachelor of Science -spname = Switching Programme -vpname = Preparatory Programme -maname = Master of Science -phdname = PhD -thesisname = Thesis -mthesisname = Master's thesis -bthesisname = Bachelor's thesis -lecturername = Lecturer -lecturersname = Lecturers -supervisorname = Supervisor -supervisorsname = Supervisors -examname = Exam --- Examen -seriesname = Series -lastname = Last name --- Naam -firstname = First name --- Voornaam -docketname = Docket No. --- Rolnr. -roomname = Room --- Lokaal -roomsname = Rooms --- Lokalen -examstartname = Start --- Begin -examendname = End --- Einde -examdurationname = Exam duration --- Duur van het examen -juryname = Jury -jurymembersname = Members -jurychairmanname = Chairman -bmthesisname = Thesis to obtain the degree of -pthesisnamei = Thesis submitted in fulfilment of the requirements for the degree of -pthesisnameii = at University of Antwerp -weightname = Weight +org-be = Faculty of Business and Economics +org-fbd = Faculty of Pharmaceutical, Biomedical and Veterinary Sciences +org-ggw = Medicine and Health Sciences +org-lw = Faculty of Arts +org-ow = Faculty of Design Sciences +org-re = Faculty of Law +org-sw = Faculty of Social Sciences +org-ti = Faculty of Applied Engineering +org-we = Faculty of Science +org-iob = Institute of Development Policy +org-ua = University of Antwerp +arr = All rights reserved +of = of +domainname = uantwerp.be +datename = Date +subjectname = Subject +acyearname = Academic year +baname = Bachelor of Science +spname = Switching Programme +vpname = Preparatory Programme +maname = Master of Science +phdname = PhD +thesisname = Thesis +mthesisname = Master's thesis +bthesisname = Bachelor's thesis +lecturername = Lecturer +lecturersname = Lecturers +supervisorname = Supervisor +supervisorsname = Supervisors +cosupervisorname = Cosupervisor +cosupervisorsname = Cosupervisors +extsupervisorname = External supervisor +extsupervisorsname = External supervisors +examname = Exam --- Examen +seriesname = Series +lastname = Last name --- Naam +firstname = First name --- Voornaam +docketname = Docket No. --- Rolnr. +roomname = Room --- Lokaal +roomsname = Rooms --- Lokalen +examstartname = Start --- Begin +examendname = End --- Einde +examdurationname = Exam duration --- Duur van het examen +juryname = Jury +jurymembersname = Members +jurychairmanname = Chairman +bmthesisname = Thesis to obtain the degree of +pthesisnamei = Thesis submitted in fulfilment of the requirements for the degree of +pthesisnameii = at University of Antwerp +weightname = Weight %</endata> % % The Dutch data can be found below: %<*nldata> -org-be = Faculteit Bedrijfswetenschappen en Economie -org-fbd = Faculteit Farmaceutische, Biomedische en Diergeneeskundige Wetenschappen -org-ggw = Faculteit Geneeskunde en Gezondheidswetenschappen -org-lw = Faculteit Letteren en Wijsbegeerte -org-ow = Faculteit Ontwerpwetenschappen -org-re = Faculteit Rechten -org-sw = Faculteit Sociale Wetenschappen -org-ti = Faculteit Toegepaste Ingenieurswetenschappen -org-we = Faculteit Wetenschappen -org=iob = Instituut voor Ontwikkelingsbeleid- en beheer -org-ua = Universiteit Antwerpen -arr = Alle rechten voorbehouden -of = van -domainname = uantwerpen.be -datename = Onderwerp -subjectname = Datum -acyearname = Academiejaar -baname = Bachelor of Science -spname = Schakelprogramma -vpname = Voorbereidingsprogramma -maname = Master of Science -phdname = Doctoraat -thesisname = Afstudeerproef -mthesisname = Masterproef -bthesisname = Bachelorproef -lecturername = Titularis -lecturersname = Titularissen -supervisorname = Promotor -supervisorsname = Promotoren -examname = Examen -seriesname = Reeks -lastname = Naam -firstname = Voornaam -docketname = Rolnr. -roomname = Lokaal -roomsname = Lokalen -examstartname = Begin -examendname = Einde -examdurationname = Duur van het examen -juryname = Jury -jurymembersname = Leden -jurychairmanname = Voorzitter -bmthesisname = Proefschrift tot het behalen van de graad van -pthesisnamei = Proefschrift voorgelegd tot het behalen van de graad van -pthesisnameii = aan de Universiteit Antwerpen te verdedigen door -weightname = Gewicht +org-be = Faculteit Bedrijfswetenschappen en Economie +org-fbd = Faculteit Farmaceutische, Biomedische en Diergeneeskundige Wetenschappen +org-ggw = Faculteit Geneeskunde en Gezondheidswetenschappen +org-lw = Faculteit Letteren en Wijsbegeerte +org-ow = Faculteit Ontwerpwetenschappen +org-re = Faculteit Rechten +org-sw = Faculteit Sociale Wetenschappen +org-ti = Faculteit Toegepaste Ingenieurswetenschappen +org-we = Faculteit Wetenschappen +org=iob = Instituut voor Ontwikkelingsbeleid- en beheer +org-ua = Universiteit Antwerpen +arr = Alle rechten voorbehouden +of = van +domainname = uantwerpen.be +datename = Onderwerp +subjectname = Datum +acyearname = Academiejaar +baname = Bachelor of Science +spname = Schakelprogramma +vpname = Voorbereidingsprogramma +maname = Master of Science +phdname = Doctoraat +thesisname = Afstudeerproef +mthesisname = Masterproef +bthesisname = Bachelorproef +lecturername = Titularis +lecturersname = Titularissen +supervisorname = Promotor +supervisorsname = Promotoren +cosupervisorname = Copromotor +cosupervisorsname = Copromotoren +extsupervisorname = Externe Promotor +extsupervisorsname = Externe Promotoren +examname = Examen +seriesname = Reeks +lastname = Naam +firstname = Voornaam +docketname = Rolnr. +roomname = Lokaal +roomsname = Lokalen +examstartname = Begin +examendname = Einde +examdurationname = Duur van het examen +juryname = Jury +jurymembersname = Leden +jurychairmanname = Voorzitter +bmthesisname = Proefschrift tot het behalen van de graad van +pthesisnamei = Proefschrift voorgelegd tot het behalen van de graad van +pthesisnameii = aan de Universiteit Antwerpen te verdedigen door +weightname = Gewicht %</nldata> - +% +% +% \subsection{Bachelor and Master document types} +% \changes{v4.2}{2021/10/04}{Added bachelor/master document types} +% \begin{macrocode} +%<*doctypedata> +nl-ba = Bachelorproef +nl-ma = Masterproef +nl-pr = Projectverslag +en-ba = Bachelor's thesis +en-ma = Master's thesis +en-pr = Project report +%</doctypedata> +% \end{macrocode} +% +% \begin{macrocode} +%<*bmt> +\ExplSyntaxOn +\cs_generate_variant:Nn \prop_item:Nn{ Nx } +\NewDocumentCommand{\uantwerpendocsdoctype}{m}{ + \prop_item:Nx \g_@@_data_prop { #1 } +} +\ExplSyntaxOff +%</bmt> +% \end{macrocode} +% +% \subsection{Bachelor and Master disclaimers} +% \changes{v4.2}{2021/10/04}{Added bachelor/master disclaimers} +% \begin{macrocode} +%<*bmt> +\newcommand\disclaimer[1]{ + Disclaimer #1\newline\newline + This document is an examination document that has not been + corrected for any errors identified. Without prior written + permission of both the supervisor(s) and the author(s), any copying, + copying, using or realizing this publication or parts thereof + is prohibited. For requests for information regarding the copying + and/or use and/or realisation of parts of this publication, please + contact to the university at which the author is registered. + \newline\newline + Prior written permission from the supervisor(s) is also + required for the use for industrial or commercial utility of the + (original) methods, products, circuits and programs described in this + thesis, and for the submission of this publication for participation + in scientific prizes or competitions. + \newline\newline + This document is in accordance with the master thesis regulations and the + Code of Conduct. It has been reviewed by the supervisor and the attendant. +} +\AtBeginDocument{ + \makeatother + \@ifpackageloaded{babel}{ + \addto\captionsdutch{% + \renewcommand\disclaimer[1]{ + Disclaimer #1\newline\newline + Dit document is een examendocument dat niet werd gecorrigeerd voor + eventueel vastgestelde fouten. Zonder voorafgaande schriftelijke + toestemming van zowel de promotor(en) als de auteur(s) is overnemen, + kopiëren, gebruiken of realiseren van deze uitgave of gedeelten ervan + verboden. Voor aanvragen tot of informatie i.v.m. het overnemen en/of + gebruik en/of realisatie van gedeelten uit deze publicatie, wendt u + tot de universiteit waaraan de auteur is ingeschreven. + \newline\newline + Voorafgaande schriftelijke toestemming van de promotor(en) is eveneens + vereist voor het aanwenden van de in dit afstudeerwerk beschreven + (originele) methoden, producten, schakelingen en programma's voor + industrieel of commercieel nut en voor de inzending van deze + publicatie ter deelname aan wetenschappelijke prijzen of wedstrijden. + \newline\newline + Dit document is in overeenstemming met het masterproefreglement en de + gedragscode en nagekeken door promotor en begeleider. + } + } + }{} + \makeatletter +} +%</bmt> +% \end{macrocode} +% +% +% \subsection{Educational degrees} +% +% \changes{v4.2}{2021/10/04}{Added bachelor/master degrees of FTI and FWET} +% \begin{macrocode} +%<*degreedata> +ti-nl-ba-bk = Bachelor of Science in de industriële wetenschappen: bouwkunde +ti-nl-ba-ch = Bachelor of Science in de industriële wetenschappen: chemie +ti-nl-ba-em = Bachelor of Science in de industriële wetenschappen: elektromechanica +ti-nl-ba-ei = Bachelor of Science in de industriële wetenschappen: elektronica-ICT +ti-nl-ma-bk = Master of Science in de industriële wetenschappen: bouwkunde +ti-nl-ma-bch = Master of Science in de industriële wetenschappen: biochemie +ti-nl-ma-ch = Master of Science in de industriële wetenschappen: chemie +ti-nl-ma-em = Master of Science in de industriële wetenschappen: elektromechanica +ti-nl-ma-ei = Master of Science in de industriële wetenschappen: elektronica-ICT +ti-en-ma-ei = Master of Science in Electronics and ICT Engineering Technology +ti-nl-eduma-wtstem = Educatieve master of Science in de wetenschappen en technologie: STEM +we-nl-eduma-wtstem = Educatieve master of Science in de wetenschappen en technologie: STEM +we-nl-eduma-wtbchbt = Educatieve master of Science in de wetenschappen en technologie: biochemie en biotechnologie +we-nl-eduma-wtbio = Educatieve master of Science in de wetenschappen en technologie: biologie +we-nl-eduma-wtch = Educatieve master of Science in de wetenschappen en technologie: chemie +we-nl-eduma-wtfy = Educatieve master of Science in de wetenschappen en technologie: fysica +we-nl-eduma-wtinf = Educatieve master of Science in de wetenschappen en technologie: informatica +we-nl-eduma-wtwi = Educatieve master of Science in de wetenschappen en technologie: wiskunde +we-nl-ba-bircg = Bachelor of Science in de bio-ingenieurswetenschappen: cel- en genbiotechnologie +we-nl-ba-birvt = Bachelor of Science in de bio-ingenieurswetenschappen: chemie en voedingstechnologie +we-nl-ba-birlb = Bachelor of Science in de bio-ingenieurswetenschappen: land- en bosbeheer +we-nl-ba-birmt = Bachelor of Science in de bio-ingenieurswetenschappen: milieutechnologie +we-nl-ba-bio = Bachelor of Science in de biologie +we-nl-ma-bioeg = Master of Science in de biologie: evolutie en gedragsbiologie +we-en-ma-biocr = Master of Science in biology: biodiversity, conservation and restoration +we-en-ma-biogcb = Master of Science in biology: global change biology +we-en-ma-biomb = Master of Science in molecular biology +we-nl-ba-ch = Bachelor of Science in de chemie +we-en-ma-ch = Master of Science in chemistry +we-nl-ba-inf = Bachelor of Science in de informatica +we-en-ma-infcn = Master of Science in computer science: computer networks +we-en-ma-infdsai = Master of Science in computer science: data science and artificial intelligence +we-en-ma-infse = Master of Science in computer science: software engineering +we-nl-ma-infcn = Master of Science in de informatica: computernetwerken +we-nl-ma-infdsai = Master of Science in de informatica: data science en artificiële intelligentie +we-nl-ma-infse = Master of Science in de informatica: software engineering +we-nl-ba-fy = Bachelor of Science in de fysica +we-nl-ma-fy = Master of Science in de fysica +we-en-ma-fy = Master of Science in physics +we-nl-ba-wi = Master of Science in wiskunde +we-nl-ma-wifw = Master of Science in wiskunde: fundamentele wiskunde +we-nl-ma-wiftw = Master of Science in wiskunde: financiële en toegepaste wiskunde +%</degreedata> +% \end{macrocode} +% +% \begin{macrocode} +%<*bmt> +\ExplSyntaxOn +\NewDocumentCommand{\uantwerpendocsdegree}{m}{ + \typeout{#1} + \prop_item:Nx \g_@@_data_prop { #1 } +} +\ExplSyntaxOff +%</bmt> +% \end{macrocode} +% +% % \subsection{Tags} % % \begin{macro}{\facultyacronym} @@ -2459,17 +2754,6 @@ weightname = Gewicht % the title page, in the header/footer and to set the appropriate % |hyperref| tag (if it is loaded). % \begin{macrocode} -%<*bmt> -\ExplSyntaxOn -\NewDocumentCommand{\@subtitle}{m}{ - \tl_new:N \l_@@_degree - \tl_set:Nx \l_@@_degree { \tl_head:N \@degree } - \tl_if_eq:NnTF \l_@@_degree { B } {\uantwerpendocsprop{bthesisname}} { - \tl_if_eq:NnTF \l_@@_degree { M } {\uantwerpendocsprop{mthesisname}} - {\uantwerpendocsprop{thesisname}}} -} -\ExplSyntaxOff -%</bmt> %<*ct|pt|rp> \newcommand*{\@subtitle}{~} \newcommand*{\subtitle}[1]{% @@ -2546,6 +2830,17 @@ weightname = Gewicht % \end{macrocode} % \end{macro} % +% \begin{macro}{\companylogo} +% This macro sets the |\@companylogo| tag that later will be used on +% the title page. +% \begin{macrocode} +%<*bmt> +\newcommand*{\@companylogo}{} +\newcommand*{\companylogo}[1]{\renewcommand*{\@companylogo}{#1}} +%</bmt> +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\lecturer} % This macro adds lecturers (Dutch: titularissen) to the course % notes. @@ -2570,7 +2865,9 @@ weightname = Gewicht \if_int_compare:w \seq_count:N \g_@@_lecturers > 1 \uantwerpendocsprop{lecturersname} \else: + \if_int_compare:w \seq_count:N \g_@@_lecturers > 0 \uantwerpendocsprop{lecturername} + \fi \fi: } \AtBeginDocument{ @@ -2620,7 +2917,6 @@ weightname = Gewicht % \begin{macrocode} %<*bmt|pt> \ExplSyntaxOn - \seq_new:N \g_@@_supervisors \seq_new:N \g_@@_supervisorswithaffiliation \cs_new:Nn \@@_addsupervisor:nn { @@ -2630,26 +2926,100 @@ weightname = Gewicht \NewDocumentCommand{\supervisor}{mm}{ \@@_addsupervisor:nn { #1 } { #2 } } -\NewDocumentCommand{\jointsupervisors}{m}{ - \seq_use:Nn \g_@@_supervisors { #1 } +\NewDocumentCommand{\jointsupervisors}{mm}{ + \seq_use:Nnnn \g_@@_supervisors { #2 } { #1 } { #2 } } -\NewDocumentCommand{\jointsupervisorswithaffiliation}{m}{ - \seq_use:Nn \g_@@_supervisorswithaffiliation { #1 } +\NewDocumentCommand{\jointsupervisorswithaffiliation}{mm}{ + \seq_use:Nnnn \g_@@_supervisorswithaffiliation { #2 } { #1 } { #2 } } -\NewDocumentCommand{\supervisorsname}{}{ - \if_int_compare:w \seq_count:N \g_@@_supervisors > 1 - \uantwerpendocsprop{supervisorsname} +\NewDocumentCommand{\supervisorsname}{m}{ + \if_int_compare:w \seq_count:N \g_@@_supervisors > 2 + \uantwerpendocsprop{supervisorsname} #1 \else: - \if_int_compare:w \seq_count:N \g_@@_supervisors = 1 - \uantwerpendocsprop{supervisorname} + \if_int_compare:w \seq_count:N \g_@@_supervisors = 2 + \uantwerpendocsprop{supervisorname} #1 \else: \fi: \fi: } +%</bmt|pt> +%<*bmt> +\seq_new:N \g_@@_cosupervisors +\seq_new:N \g_@@_cosupervisorswithaffiliation +\cs_new:Nn \@@_addcosupervisor:nn { + \seq_gpush:Nn \g_@@_cosupervisors { #1 } + \seq_gpush:Nn \g_@@_cosupervisorswithaffiliation { #1,~#2 } +} +\NewDocumentCommand{\cosupervisor}{mm}{ + \@@_addcosupervisor:nn { #1 } { #2 } +} +\NewDocumentCommand{\jointcosupervisors}{mm}{ + \seq_use:Nnnn \g_@@_cosupervisors { #2 } { #1 } { #2 } +} +\NewDocumentCommand{\jointcosupervisorswithaffiliation}{mm}{ + \seq_use:Nnnn \g_@@_cosupervisorswithaffiliation { #2 } { #1 } { #2 } +} +\NewDocumentCommand{\cosupervisorsname}{m}{ + \if_int_compare:w \seq_count:N \g_@@_cosupervisors > 2 + \uantwerpendocsprop{cosupervisorsname} #1 + \else: + \if_int_compare:w \seq_count:N \g_@@_cosupervisors = 2 + \uantwerpendocsprop{cosupervisorname} #1 + \else: + \fi: + \fi: +} +\seq_new:N \g_@@_extsupervisors +\seq_new:N \g_@@_extsupervisorswithaffiliation +\cs_new:Nn \@@_addextsupervisor:nn { + \seq_gpush:Nn \g_@@_extsupervisors { #1 } + \seq_gpush:Nn \g_@@_extsupervisorswithaffiliation { #1,~#2 } +} +\NewDocumentCommand{\extsupervisor}{mm}{ + \@@_addextsupervisor:nn { #1 } { #2 } +} +\NewDocumentCommand{\jointextsupervisors}{mm}{ + \seq_use:Nnnn \g_@@_extsupervisors { #2 } { #1 } { #2 } +} +\NewDocumentCommand{\jointextsupervisorswithaffiliation}{mm}{ + \seq_use:Nnnn \g_@@_extsupervisorswithaffiliation { #2 } { #1 } { #2 } +} +\NewDocumentCommand{\extsupervisorsname}{m}{ + \if_int_compare:w \seq_count:N \g_@@_extsupervisors > 2 + \uantwerpendocsprop{extsupervisorsname} #1 + \else: + \if_int_compare:w \seq_count:N \g_@@_extsupervisors = 2 + \uantwerpendocsprop{extsupervisorname} #1 + \else: + \fi: + \fi: +} +%</bmt> +%<*pt> +\AtBeginDocument{ + \seq_gpush:Nn \g_@@_supervisors {} + \seq_greverse:N \g_@@_supervisors + \seq_gpush:Nn \g_@@_supervisorswithaffiliation {} + \seq_greverse:N \g_@@_supervisorswithaffiliation +} +%</pt> +%<*bmt> \AtBeginDocument{ + \seq_gpush:Nn \g_@@_supervisors {} \seq_greverse:N \g_@@_supervisors + \seq_gpush:Nn \g_@@_supervisorswithaffiliation {} \seq_greverse:N \g_@@_supervisorswithaffiliation + \seq_gpush:Nn \g_@@_cosupervisors {} + \seq_greverse:N \g_@@_cosupervisors + \seq_gpush:Nn \g_@@_cosupervisorswithaffiliation {} + \seq_greverse:N \g_@@_cosupervisorswithaffiliation + \seq_gpush:Nn \g_@@_extsupervisors {} + \seq_greverse:N \g_@@_extsupervisors + \seq_gpush:Nn \g_@@_extsupervisorswithaffiliation {} + \seq_greverse:N \g_@@_extsupervisorswithaffiliation } +%</bmt> +%<*bmt|pt> \ExplSyntaxOff %</bmt|pt> % \end{macrocode} @@ -2735,6 +3105,47 @@ weightname = Gewicht % \end{macrocode} % \end{macro} % +% \begin{macro}{\bamadoctype} +% This macro sets the |\@bamadoctype| tag that later will +% be used on the title pages. +% +% \begin{macrocode} +%<*bmt|pt|ct|ex> +\newcommand*\@bamadoctype{ + \PackageError{uantwerpendocs} + {Please, specify the offical document type, either using + the '\protect\bamadoctype{}' macro or the '\protect\bamadegree{}' + macro in the preamble of your document.} + {See the uantwerpendocs manual}} +\newcommand*\bamadoctype[1]{ + \renewcommand*\@bamadoctype{\uantwerpendocsdoctype{#1}} +} +%</bmt|pt|ct|ex> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\bamadegree} +% This macro sets the |\@bamadoctype| and |\@degree| tags that later will +% be used on the title pages. +% +% \begin{macrocode} +%<*bmt|pt|ct|ex> +\ExplSyntaxOn +\NewDocumentCommand{\bamadegree}{m}{ + \seq_new:N \l_@@_degreechunks + \regex_extract_all:nnN { [^-]+ } { #1 } \l_@@_degreechunks + \bamadoctype{\seq_item:Nn\l_@@_degreechunks {2} - \seq_item:Nn\l_@@_degreechunks {3}} + \degree{\uantwerpendocsdegree{ + \seq_item:Nn\l_@@_degreechunks {1} - + \seq_item:Nn\l_@@_degreechunks {2} - + \seq_item:Nn\l_@@_degreechunks {3} - + \seq_item:Nn\l_@@_degreechunks {4} }} +} +\ExplSyntaxOff +%</bmt|pt|ct|ex> +% \end{macrocode} +% \end{macro} +% % % \begin{macro}{\programme} % This macro is no longer in use. @@ -2836,10 +3247,10 @@ weightname = Gewicht % This macro sets the |\@defensedate| tags that later will % be used on the title page. % \begin{macrocode} -%<*bmt|pt> +%<*pt> \newcommand*\@defensedate{ERROR} \newcommand*{\defensedate}[1]{\renewcommand*\@defensedate{#1}} -%</bmt|pt> +%</pt> % \end{macrocode} % \end{macro} % @@ -2847,10 +3258,10 @@ weightname = Gewicht % This macro sets the |\@defenselocation| tags that later will % be used on the title page. % \begin{macrocode} -%<*bmt|pt> +%<*pt> \newcommand*\@defenselocation{Antwerpen} \newcommand*{\defenselocation}[1]{\renewcommand*\@defenselocation{#1}} -%</bmt|pt> +%</pt> % \end{macrocode} % \end{macro} % @@ -2912,7 +3323,10 @@ weightname = Gewicht %<*ct|rp> \newcommand{\@copyrightnotices}{} \newcommand{\copyrightnotices}[1]{\renewcommand{\@copyrightnotices}{#1}} -%</ct|rp> +%</ct|rp> +%<*bmt> +\newcommand{\@copyrightnotices}{\disclaimer{\@bamadoctype}} +%</bmt> % \end{macrocode} % \end{macro} % @@ -3282,6 +3696,27 @@ weightname = Gewicht % \end{macrocode} % \end{macro} % +% +% \subsection{Dirty reverse video tricks} +% +% \begin{macrocode} +%<*bmt> +\ExplSyntaxOn +\seq_new:N \l_title_seq +\cs_generate_variant:Nn \seq_set_split:Nnn { Nnf } +\cs_new_nopar:Npn \@@_reversevideo:f #1 +{ + \seq_set_split:Nnf \l_title_seq {~} { #1 } + \seq_set_map:NNn \l_title_seq \l_title_seq {\@uantwerpendocshl{##1}} + \seq_use:Nnnn \l_title_seq { ~ } { ~ } { ~ } +} +\NewDocumentCommand{\reversevideo}{m}{ + \@@_reversevideo:f { #1 } +} +\ExplSyntaxOff +%</bmt> +% \end{macrocode} +% % \subsection{Header and Footer} % The |fancyhdr| package is used to make a decent header and footer. % The header and footer of the |coursetext| class are defined to be: @@ -3306,9 +3741,39 @@ weightname = Gewicht % \end{macrocode} % % The header and footer of the |bamathesis| class are -% defined to be: +% defined to be: % \begin{macrocode} -%<*bmt|pt|rp> +%<*bmt> +\AtBeginDocument{ + \setlength{\headheight}{13.7pt} + \renewcommand*{\headrulewidth}{0pt} + \renewcommand*{\footrulewidth}{0pt} + \newsavebox\smallogo + \savebox\smallogo{\raisebox{-1ex}{\includegraphics[width=2.5cm]{\logopos}}} + \if@twoside + \lhead[]{\footnotesize\slshape\rightmark} + \chead[]{} + \rhead[\footnotesize\slshape\leftmark]{} + \lfoot[\footnotesize\thepage~\textcolor{maincolor}{\textbf{|}}]{\usebox\smallogo} + \cfoot[\footnotesize\@bamadoctype]{\footnotesize\@bamadoctype} + \rfoot[\usebox\smallogo]{\footnotesize\textcolor{maincolor}{\textbf{|}}~\thepage} + \else + \lhead[]{\footnotesize\slshape\leftmark} + \chead[]{} + \rhead[]{} + \lfoot[]{\usebox\smallogo} + \cfoot[]{\footnotesize\@bamadoctype} + \rfoot[]{\footnotesize\textcolor{maincolor}{\textbf{|}}~\thepage} + \fi + \fancypagestyle{plain}{\pagestyle{fancy}} + % \patchcmd{\chapter}{\thispagestyle{plain}}{\thispagestyle{fancy}}{}{} +} +%</bmt> +% \end{macrocode} +% +% The header and foter of the |phdthesis| and |report| are defined to be: +% \begin{macrocode} +%<*pt|rp> \if@twoside \lhead[\thepage]{\slshape\rightmark} \chead[]{} @@ -3324,7 +3789,7 @@ weightname = Gewicht \cfoot[]{} \rfoot[]{} \fi -%</bmt|pt|rp> +%</pt|rp> % \end{macrocode} % % The header and footer of the |letter| class are @@ -3371,11 +3836,11 @@ weightname = Gewicht \renewcommand*{\footrulewidth}{1pt} \pagenumbering{arabic} %</ct> -%<*mt|pt|rp|le> +%<*pt|rp|le> \setlength{\headheight}{13.7pt} \renewcommand*{\headrulewidth}{0pt} \renewcommand*{\footrulewidth}{0pt} -%</mt|pt|rp|le> +%</pt|rp|le> %<*ex> \setlength{\headheight}{13.7pt} \renewcommand*{\headrulewidth}{0pt} @@ -3414,11 +3879,16 @@ weightname = Gewicht \copyright{} \@versionyear{} \uantwerpendocsprop{org-ua}, \uantwerpendocsprop{arr}. } %</ct|rp> +%<*bmt> +\newcommand{\@crnotice}{ + \@copyrightnotices +} +%</bmt> % \end{macrocode} % \end{macro} % % -% \subsection{Fancy chapter headers for the phdthesis class} +% \subsection{Fancy chapter headers for the phdthesis and report class} % % \changes{v2.1}{2018/06/20}{Added appropriate % \textbackslash{}appendix command} @@ -3430,20 +3900,20 @@ weightname = Gewicht \vspace*{1ex}% \begin{flushright} \makebox[0pt][l]{\rule[-0.4em]{10cm}{1.8em}}\textcolor{white} - {\bf\LARGE~\chaptername~} + {\LARGE\textbf{~\chaptername~}} \raisebox{-24pt}{ \begin{tikzpicture} \foreach \theta in {0,5,...,355} { \node[color=white] at (\theta:0.025) - {\bf\fontsize{72}{12}\selectfont\thechapter}; + {\fontsize{72}{12}\selectfont\textbf{\thechapter}}; } \node[color=gray] at (0,0) - {\bf\fontsize{72}{12}\selectfont\thechapter}; + {\fontsize{72}{12}\selectfont\textbf{\thechapter}}; \end{tikzpicture} }\hspace*{-8pt} \par\nobreak \interlinepenalty\@M - \bf\huge\textcolor{darkgray}{\rule[-0.5ex]{0em}{2.6ex}~#1} + \huge\textbf{\textcolor{darkgray}{\rule[-0.5ex]{0em}{2.6ex}~#1}} \par\nobreak \end{flushright} \rule{\textwidth}{1pt} @@ -3456,7 +3926,7 @@ weightname = Gewicht \def\@makeschapterhead#1{% \vspace*{1ex}% \begin{flushright} - \bf\LARGE\textcolor{darkgray}{\rule[-0.5ex]{0em}{2.6ex}~#1} + \LARGE\textbf{\textcolor{darkgray}{\rule[-0.5ex]{0em}{2.6ex}~#1}} \end{flushright} \rule{\textwidth}{1pt} \vspace{5\p@}\par @@ -3470,6 +3940,17 @@ weightname = Gewicht %</pt|rp> % \end{macrocode} % +% \subsection{Fancy chapter headers for the bamathesis class} +% +% \changes{v4.2}{2021/10/04}{Now using scrbook for bamathesis, with +% colored chapter and section titles} +% \begin{macrocode} +%<*bmt> +\addtokomafont{section}{\color{basecolor}} +\addtokomafont{chapter}{\color{basecolor}} +%</bmt> +% \end{macrocode} +% % \subsection{Title page for the masterthesis and coursetext clases} % % The title page is generated using the |\maketitle| command. As the @@ -3695,7 +4176,7 @@ weightname = Gewicht % \changes{v1.7}{2016/05/01}{Embedded babel translations of keywords % into title page} % \begin{macrocode} -%<*bmt> +%<*bmt> \renewcommand\maketitle{% \pagestyle{empty} \begin{titlepage} @@ -3703,62 +4184,66 @@ weightname = Gewicht \put(0,0){% \begin{tikzpicture}[inner sep=0pt,outer sep=0pt] \clip (0,0) rectangle(\paperwidth,\paperheight); - \fill[lightgray] - (2.125,{\paperheight-7.5cm}) rectangle (\paperwidth,6); - \node - [anchor=west,text width={\paperwidth-5cm},align=left,font=\Huge,uauaside] - at (2.125,{\paperheight-3cm}) - { - \textsf{\textbf{\@title}} + [anchor=north east,align=right] + at (\paperwidth-1.6cm,\paperheight-2.6cm) + {\bfseries\large + \uantwerpendocsprop{acyearname}\\[.75ex]\Large\@academicyear}; + \node (title) + [anchor=north west,align=left, + text width={\paperwidth-5.1cm},font=\Huge,text=white, + xshift=1pt] + at (3.5cm,\paperheight-6.4cm) + {\sethlcolor{maincolor}% + \textsf{\textbf{\reversevideo{\@title}}}\\ + \textsf{\reversevideo{\@subtitle}}}; + \node + [anchor=north west,font=\LARGE,yshift=-1cm,xshift=-1pt] + at (title.south west) + {% + \textsf{\textbf{\@author}} }; \node - [anchor=west,text width={\paperwidth-5cm},align=left,font=\Large,uauaside] - at (2.125,{\paperheight-5cm}) - { - \textsf{\textbf{\@subtitle}} + [anchor=west,align=left, + text width={\paperwidth-5.1cm},font=\normalsize] + at (3.5cm,12cm) + {\textsf{\@bamadoctype}\\% + \textsf{\textbf{\@degree}} }; \node - [anchor=base west,uauamain, - text width={\paperwidth-5cm},align=left,font=\LARGE] - at (2.125,{\paperheight-6.5cm}) - {\textsf{\textbf{\@author}}}; - - \fill[gray] (2.125,6) - -- (\paperwidth,6) - -- (\paperwidth,2.625) - -- (2.55,2.625) - arc (-90:-180:0.425) - -- cycle; - - \node[white,anchor=west,align=left,font=\large] - (SN) at (2.55,4.9) - { - \begin{tabular}{@{}l@{~\,}p{14.5cm}} - \textsf{\supervisorsname} - & \textsf{\textbf{\jointsupervisors{ | }}} - \end{tabular} + [anchor=west,align=left, + text width={\paperwidth-5.1cm},font=\normalsize] + at (3.5cm,7.5cm) + {\supervisorsname{\\} + \textbf{\jointsupervisorswithaffiliation{\\}{~\\~\\}}% + \cosupervisorsname{\\} + \textbf{\jointcosupervisorswithaffiliation{\\}{~\\~\\}}% + \extsupervisorsname{\\} + \textbf{\jointextsupervisorswithaffiliation{\\}{}} }; + \ifx\@companylogo\@empty + \else + \node[anchor=south east] at + (\pagewidth-1.6cm,1.5cm) + {\@companylogo}; + \fi - \node[white,anchor=west,text width=17.5cm,align=left,font=\small] - at (2.55,3.7) - {\textsf{\uantwerpendocsprop{bmthesisname} - \@degree{}}\\ - \textsf{\textbf{\@faculty{} - | \@defenselocation, \@defensedate}}}; - - \node[anchor=west] at - (2.125,1.313) - {\includegraphics[width=4.75cm]{\logoposua}}; + + \node[anchor=south west] at + (1.6cm,1.5cm) + {\includegraphics[width=6.2cm]{\logopos}}; \end{tikzpicture} } } \end{titlepage}% ~\par\relax \clearpage + \vspace*{\stretch{1}} + \@crnotice + \clearpage \setcounter{footnote}{0}% \global\let\thanks\relax \global\let\maketitle\relax @@ -3781,19 +4266,6 @@ weightname = Gewicht % \begin{macrocode} %<*bmt> \newcommand\makefinalpage{ - \cleardoublepage - \thispagestyle{empty} - ~% intentionally blank page - \clearpage - \thispagestyle{empty} - \begin{tikzpicture}[remember picture,overlay] - \node at (current page.center) { - \begin{tikzpicture}[inner sep=0pt] - \clip (0,0) rectangle(\paperwidth,\paperheight); - \fill[lightgray] (0,0) rectangle (2.125cm,2.625cm); - \end{tikzpicture} - }; - \end{tikzpicture} } %</bmt> % \end{macrocode} @@ -3867,8 +4339,8 @@ weightname = Gewicht (SN) at (2.55,4.9) { \begin{tabular}{@{}l@{~\,}p{11.5cm}} - \textsf{\supervisorsname} - & \textsf{\textbf{\jointsupervisors{ | }}} + \textsf{\supervisorsname{}} + & \textsf{\textbf{\jointsupervisors{ | }{}}} \end{tabular} }; @@ -3910,8 +4382,8 @@ weightname = Gewicht \hfill \begin{minipage}[b]{0.4\textwidth} \flushright - \supervisorsname\\ - \jointsupervisors{\\} + \supervisorsname{\\} + \jointsupervisors{\\}{} \end{minipage} \end{center} \clearpage @@ -3919,8 +4391,8 @@ weightname = Gewicht \textbf{\uantwerpendocsprop{jurychairmanname}}\hfill\break \@jurychairman{}\ifdefvoid{\@jurychairmanaff}{}{, \@jurychairmanaff}\\ \hfill\break - \textbf{\supervisorsname}\hfill\break - \jointsupervisorswithaffiliation{\\}\\ + \textbf{\supervisorsname{}}\hfill\break + \jointsupervisorswithaffiliation{\\}{\\} \hfill\break \textbf{\uantwerpendocsprop{jurymembersname}}\hfill\break \jointjurymembers{\\} @@ -4163,7 +4635,7 @@ weightname = Gewicht }; \end{tikzpicture} ~\\[3ex] - \textcolor{uacorpblue}{\bf \@sender} + \textcolor{uauaside}{\textbf{\@sender}} \ifx\@senderrole\@emptymacro\\[1.75ex]\else \\*\@senderrole\\[1.75ex]\fi \@faculty \ifx\@unit\@emptymacro\else\\* \@unit\fi~\\[1.75ex] @@ -4966,8 +5438,8 @@ weightname = Gewicht \begin{center}\small \begin{tabular}{ccc} \toprule - \bf frame option & \bf graphic on frame - & \bf corresponding frame derivative\\ + \bfseries frame option & \bfseries graphic on frame + & \bfseries corresponding frame derivative\\ \midrule lqgraphic & left quarter & r3qframe \\ rqgraphic & right quarter & l3qframe \\ @@ -5334,6 +5806,27 @@ weightname = Gewicht \end{columns} \end{frame} +\begin{frame}[t] + {Block material} + {Nothing special} + + \vfill + \begin{block}{This is a block} + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi ac + arcu est, vel posuere velit. In congue erat vel lorem ornare pretium. + \end{block} + \vfill + \begin{exampleblock}{This is an example block} + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi ac + arcu est, vel posuere velit. In congue erat vel lorem ornare pretium. + \end{exampleblock} + \vfill + \begin{alertblock}{This is an alert block} + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi ac + arcu est, vel posuere velit. In congue erat vel lorem ornare pretium. + \end{alertblock} + \vfill +\end{frame} \section{Advanced material} \begin{frame}[negative] @@ -5485,7 +5978,11 @@ weightname = Gewicht \setbeamercolor{inverse subheading}{fg=white!75!maincolor} \setbeamercolor{block body}{bg=black!4} -\setbeamercolor{block title}{bg=black!8} +\setbeamercolor{block title}{bg=black!8,fg=maincolor} +\setbeamercolor{block body example}{bg=black!4} +\setbeamercolor{block title example}{bg=black!8} +\setbeamercolor{block body alerted}{bg=black!4} +\setbeamercolor{block title alerted}{bg=black!8} \setbeamercolor{itemize item}{parent=normal text} \setbeamercolor{enumerate item}{parent=normal text} @@ -5631,7 +6128,7 @@ weightname = Gewicht \setbeamerfont{block body}{size=\scriptsize} \setbeamerfont{block body alerted}{parent={block body}} \setbeamerfont{block body example}{parent={block body}} -\setbeamerfont{block title}{size=\small,parent={structure,block body}} +\setbeamerfont{block title}{size=\small,series=\bfseries,parent={structure,block body}} \setbeamerfont{block title alerted}{parent={block title,alerted text}} \setbeamerfont{block title example}{parent={block title,example text}} diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpendocs.ins b/macros/latex/contrib/uantwerpendocs/uantwerpendocs.ins index e21ec6b85c..9994e85df2 100644 --- a/macros/latex/contrib/uantwerpendocs/uantwerpendocs.ins +++ b/macros/latex/contrib/uantwerpendocs/uantwerpendocs.ins @@ -72,10 +72,14 @@ The Current Maintainer of this work is Walter Daems. \generate{\file{beamerouterthemeuantwerpen.sty}{\from{uantwerpendocs.dtx}{bmrouter}}} \generate{\file{beamerthemeuantwerpen.sty}{\from{uantwerpendocs.dtx}{bmr}}} \generate{\file{beamerthemeuantwerpenuserguide.tex}{\from{uantwerpendocs.dtx}{bmrug}}} + \nopreamble \nopostamble + \generate{\file{uantwerpendocs-nl.data}{\from{uantwerpendocs.dtx}{nldata}}} \generate{\file{uantwerpendocs-en.data}{\from{uantwerpendocs.dtx}{endata}}} +\generate{\file{uantwerpendocs-degree.data}{\from{uantwerpendocs.dtx}{degreedata}}} +\generate{\file{uantwerpendocs-doctype.data}{\from{uantwerpendocs.dtx}{doctypedata}}} \obeyspaces \Msg{****************************************************************} @@ -92,6 +96,7 @@ The Current Maintainer of this work is Walter Daems. \Msg{* uantwerpenexam.cls *} \Msg{* uantwerpendocs-nl.data *} \Msg{* uantwerpendocs-en.data *} +\Msg{* uantwerpendocs-edu.data *} \Msg{* uantwerpencommonoptions.clo *} \Msg{* uantwerpencolorlogoscheme.sty *} \Msg{* beamercolorthemeuantwerpen.sty *} diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpendocs.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpendocs.pdf Binary files differindex 2f26c889a0..ad37df0ecc 100644 --- a/macros/latex/contrib/uantwerpendocs/uantwerpendocs.pdf +++ b/macros/latex/contrib/uantwerpendocs/uantwerpendocs.pdf diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example1.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example1.pdf Binary files differindex 53e867b191..0c082ec544 100644 --- a/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example1.pdf +++ b/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example1.pdf diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example2.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example2.pdf Binary files differindex 8855238b4a..ba83514aa1 100644 --- a/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example2.pdf +++ b/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example2.pdf diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpenletter-example.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpenletter-example.pdf Binary files differindex 939e0f136e..0f3b342b4b 100644 --- a/macros/latex/contrib/uantwerpendocs/uantwerpenletter-example.pdf +++ b/macros/latex/contrib/uantwerpendocs/uantwerpenletter-example.pdf diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpenmasterthesis.cls b/macros/latex/contrib/uantwerpendocs/uantwerpenmasterthesis.cls deleted file mode 100644 index 3f020690b9..0000000000 --- a/macros/latex/contrib/uantwerpendocs/uantwerpenmasterthesis.cls +++ /dev/null @@ -1,46 +0,0 @@ -%% -%% This is file `uantwerpenmasterthesis.cls', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% uantwerpendocs.dtx (with options: `mt') -%% -%% This is a generated file. -%% -%% Copyright (C) 2013-2021 by Walter Daems <walter.daems@uantwerpen.be> -%% -%% 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 -%% -%% and version 1.3 or later is part of all distributions of LaTeX version -%% 2005/12/01 or later. -%% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainer of this work is Walter Daems. -%% -\NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesClass{uantwerpenmasterthesis} - [2021/08/03 v4.1 .dtx skeleton file] -\errmessage{This class is obsolete, use the uantwerpenbamathesis class instead !} -\def\fileversion{4.1} -\def\filedate{2021/08/03} - - - -\setlength{\headheight}{13.7pt} -\renewcommand*{\headrulewidth}{0pt} -\renewcommand*{\footrulewidth}{0pt} -\if@filled\else - \raggedright -\fi -\raggedbottom -\onecolumn -\endinput -%% -%% End of file `uantwerpenmasterthesis.cls'. diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example1.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example1.pdf Binary files differindex 6cff2f5a1f..395aca9a58 100644 --- a/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example1.pdf +++ b/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example1.pdf diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example2.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example2.pdf Binary files differindex 1b2c9d775a..dcf054e25c 100644 --- a/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example2.pdf +++ b/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example2.pdf diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpenreport-example.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpenreport-example.pdf Binary files differindex a11f574693..e48df6e129 100644 --- a/macros/latex/contrib/uantwerpendocs/uantwerpenreport-example.pdf +++ b/macros/latex/contrib/uantwerpendocs/uantwerpenreport-example.pdf diff --git a/macros/latex/contrib/unifith/README b/macros/latex/contrib/unifith/README index fba3c1a6d7..b6639eca91 100644 --- a/macros/latex/contrib/unifith/README +++ b/macros/latex/contrib/unifith/README @@ -10,7 +10,7 @@ ** License ********************************************************** - Copyright (c) 2019 Francesco Biccari. + Copyright (c) 2021 Francesco Biccari. This work (specified below) may be distributed and/or modified under the conditions of the diff --git a/macros/latex/contrib/unifith/examples/Dottorato.pdf b/macros/latex/contrib/unifith/examples/Dottorato.pdf Binary files differindex 57a773b2b8..9418a14f52 100644 --- a/macros/latex/contrib/unifith/examples/Dottorato.pdf +++ b/macros/latex/contrib/unifith/examples/Dottorato.pdf diff --git a/macros/latex/contrib/unifith/examples/Dottorato.tex b/macros/latex/contrib/unifith/examples/Dottorato.tex index 5e5b9db866..97124aa279 100644 --- a/macros/latex/contrib/unifith/examples/Dottorato.tex +++ b/macros/latex/contrib/unifith/examples/Dottorato.tex @@ -2,7 +2,7 @@ % !TeX program = pdflatex % !TeX spellcheck = en_US -\documentclass[binding=0.6cm]{unifith} +\documentclass[a4paper,binding=0.6cm]{unifith} \usepackage{microtype} \usepackage[english]{babel} @@ -19,7 +19,7 @@ % Commands for the titlepage \title{Usage example of the UniFiTh class\\ for a PhD thesis} -%\subtitle{Subtitle} +%\subtitle{Subtitle} \alttitle{Optional alternative or translated title} \author{Francesco Biccari} \IDnumber{1234567} @@ -42,8 +42,11 @@ \versiondate{\today} \ISBN{000000000-0} +\website{http://biccari.altervista.org} +\director{Prof. Name Surname} + \begin{document} \frontmatter diff --git a/macros/latex/contrib/unifith/examples/Laurea.pdf b/macros/latex/contrib/unifith/examples/Laurea.pdf Binary files differindex 5899b0eb6f..c1a4faf50c 100644 --- a/macros/latex/contrib/unifith/examples/Laurea.pdf +++ b/macros/latex/contrib/unifith/examples/Laurea.pdf diff --git a/macros/latex/contrib/unifith/unifith-doc.pdf b/macros/latex/contrib/unifith/unifith-doc.pdf Binary files differindex 1a0cdd73ac..6abf6d864d 100644 --- a/macros/latex/contrib/unifith/unifith-doc.pdf +++ b/macros/latex/contrib/unifith/unifith-doc.pdf diff --git a/macros/latex/contrib/unifith/unifith-doc.tex b/macros/latex/contrib/unifith/unifith-doc.tex index ee88dd0c28..cc7e9e46aa 100644 --- a/macros/latex/contrib/unifith/unifith-doc.tex +++ b/macros/latex/contrib/unifith/unifith-doc.tex @@ -13,6 +13,7 @@ \usepackage[varg,cmintegrals,cmbraces]{newtxmath} \usepackage{microtype} \usepackage{graphicx} +\usepackage{curve2e} \usepackage{color} \definecolor{gray}{gray}{0.4} \definecolor{sfondoblu}{rgb}{0.94,0.97,1} @@ -25,7 +26,7 @@ frameround=tttt, frame=tlrb, escapechar=|, - morekeywords={submitdate, cycle, courseorganizer, AcademicYear, copyyear, Faculty, course, PhDorganizer, IDnumber, advisor, examdate, examiner, authoremail, frontmatter, mainmatter, maketitle, tableofcontents, chapter, appendix, backmatter, dedication, selectlanguage,alttitle,thesistype}, + morekeywords={submitdate, cycle, courseorganizer, AcademicYear, copyyear, Faculty, course, PhDorganizer, IDnumber, advisor, examdate, examiner, authoremail, frontmatter, mainmatter, maketitle, tableofcontents, chapter, appendix, backmatter, dedication, selectlanguage,alttitle,thesistype,phantomsection}, columns=flexible } @@ -50,10 +51,10 @@ \newcommand{\bs}{\textbackslash} \newcommand{\sq}{\textquotesingle} -\author{\small Francesco Biccari\thanks{\href{mailto:biccari@gmail.com}{biccari@gmail.com}}} +\author{\small Francesco Biccari\\\small(\href{mailto:biccari@gmail.com}{biccari@gmail.com})} \title{\small Documentation of the \LaTeX\ class\\ \Large \textbf{\texttt{unifith.cls}}\\ - \small \vspace{0.2cm} Version 1.2, 2019-08-27 + \small \vspace{0.2cm} Version 1.6, 2021-10-01 } \date{} @@ -100,6 +101,8 @@ \providecommand*{\un}[1]{\ensuremath{\mathrm{\,#1}}} + \newcommand{\unifith}{\textsf{UniFiTh}} + \begin{document} \maketitle @@ -148,7 +151,7 @@ The \textsf{UniFiTh} package provides: the University of Florence (see next section); several usage examples. -\textsf{UniFiTh} explicitely loads the packages \textsf{xkeyval}, \textsf{etoolbox}, \textsf{geometry}, \textsf{ifxetex}, \textsf{xltxtra}, \textsf{fontenc}, \textsf{textcomp}, \textsf{lmodern}, \textsf{caption}, \textsf{graphicx}, \textsf{color}, \textsf{booktabs}, \textsf{amsmath}, \textsf{fancyhdr}. +\textsf{UniFiTh} explicitely loads the packages \textsf{xkeyval}, \textsf{etoolbox}, \textsf{geometry}, \textsf{ifxetex}, \textsf{fontspec}, \textsf{fontenc}, \textsf{textcomp}, \textsf{lmodern}, \textsf{caption}, \textsf{graphicx}, \textsf{color}, \textsf{booktabs}, \textsf{amsmath}, \textsf{fancyhdr}. Do \textbf{not} include these packages in the preamble of your document! @@ -182,6 +185,8 @@ The following options can be passed to the \texttt{\bs documentclass} command. \begin{description} +\item[\texttt{a4paper/a5paper/b5paper}] Choose one of these three options to set the paper format. The default value is \texttt{a4paper}. +\item[\texttt{layout=\textsl{a5paper/b5paper}}] If, for some reason, it is impossible to print on A5 or B5 directly (printer not supporting those formats, paper not available, ...), it is possible to specify the A5 or B5 layout, maintaining the A4 paper format. In this case some cropmarks will be printed to show where the page should be cut. \item[\texttt{draft}] The usual \texttt{draft} option of the \LaTeX\ Standard Classes. \item[\texttt{oneside}] The usual \texttt{oneside} option of the \LaTeX\ Standard Classes. \item[\texttt{twoside}] (default) The usual \texttt{twoside} option of the \LaTeX\ Standard Classes. @@ -206,55 +211,61 @@ in the preamble. \begin{description} \item[\texttt{\bs title\{\dots\}}] Mandatory. Title. -\item[\texttt{\bs subtitle\{\dots\}}] Optional. Subtitle (try to avoid a subtitle). +\item[\texttt{\bs subtitle\{\dots\}}] Optional. Subtitle (try to avoid a subtitle). An alias of this coomand is \texttt{\bs alttitle\{\dots\}} (alternative title). -\item[\texttt{\bs author\{\dots\}}] Mandatory. Author (student's name). +\item[\texttt{\bs author\{\dots\}}] Mandatory. Author (student's name). See the \texttt{fem} class option described in the previous section. \item[\texttt{\bs IDnumber\{\dots\}}] Mandatory. ID number (\textit{matricola} in Italian). \item[\texttt{\bs course\{\dots\}}] Mandatory. Use the official Italian name of the course. -\item[\texttt{\bs courseorganizer\{\dots\}}] Mandatory. Course organizer. - -\item[\texttt{\bs AcademicYear\{\dots\}}] Academic Year. +\item[\texttt{\bs cycle\{\dots\}}] Mandatory only for PhD's. Use the form: \texttt{\bs cycle\{XXII\}} -\item[\texttt{\bs copyyear\{\dots\}}] Mandatory. Copyright year (usually the -graduation year). +\item[\texttt{\bs courseorganizer\{\dots\}}] Mandatory. Course organizer (for example Scuola di Scienze Matematiche Fisiche e Naturali). The usual \bs\bs can be use to break the lines. -\item[\texttt{\bs thesistype\{\dots\}}] Optional. Type of thesis (usually PhD thesis, Master thesis, and so on.). +\item[\texttt{\bs AcademicYear\{\dots\}}] Academic Year. \item[\texttt{\bs advisor\{\dots\}}] You must specify at least one advisor. If you have more than one advisor, put several advisor commands in the correct order:\\ \texttt{\bs advisor\{Prof.~Pippo\}} \texttt{\bs advisor\{Dr.~Pluto\}} -\item[\texttt{\bs coadvisor[\dots]\{\dots\}}] Optional. Co-advisors of the thesis. -Same syntax of the \texttt{\bs advisor} command. If the optional argument \texttt{ext} is specified, ``External advisor'' will be printed instead of ``Co-Advisor''. - -\item[\texttt{\bs reviewer\{\dots\}}] Optional. Reviewers of the thesis. -Same syntax of the \texttt{\bs advisor} command. The list of the reviewer is preceded by the a text which can be specified by the \texttt{\bs reviewerlabel\{\dots\}} command. +\item[\texttt{\bs coadvisor\{\dots\}}] Optional. Co-advisors of the thesis. +Same syntax of the \texttt{\bs advisor} command. -\item[\texttt{\bs authoremail\{\dots\}}] Mandatory. Email of the thesis author. -It is automatically hyper-linked if \textsf{hyperref} package is loaded. - -\item[\texttt{\bs versiondate\{\dots\}}] Optional. Date version of the thesis. +\item[\texttt{\bs customcoadvisorlabel\{\dots\}}] Optional. Specify the label for co-advisors. It can be used to print ``external advisor'' or similar labels. -\item[\texttt{\bs website\{\dots\}}] Optional. Thesis website. Automatically -hyper-linked if \textsf{hyperref} package is loaded. +\item[\texttt{\bs director\{\dots\}}] Optional. Director of the PhD program. Head of the Specialization degree. Same syntax of the \texttt{\bs advisor} command. -\item[\texttt{\bs ISBN\{\dots\}}] Optional. ISBN - -\item[\texttt{\bs copyrightstatement\{\dots\}}] Optional. Specify a copyright statement that will be printed in place of the default one. +\item[\texttt{\bs customdirectorlabel\{\dots\}}] Optional. Specify the label for director. +\end{description} +Together with the title page, \unifith\ will also compose an information page just after the title page. See also the \texttt{\bs noexaminfo} class option described in a previous section. Here follow the necessary commands to compose this page. +\begin{description} \item[\texttt{\bs examdate\{\dots\}}] Optional. Date of the final exam.\\ Example: \texttt{\bs examdate\{16 February 2010\}}. \item[\texttt{\bs examiner[\dots]\{\dots\}}] Optional. Specifies the members of the board of examiners of the final exam. Usage similar to \texttt{\bs advisor} command. The optional argument can be used to specify the role of that examiner in the commission. -\item[\texttt{\bs cycle\{\dots\}}] Mandatory only for PhD's. Use the form: \texttt{\bs cycle\{XXII\}} +\item[\texttt{\bs thesistype\{\dots\}}] Optional. Type of thesis (usually PhD thesis, Master thesis, and so on). + +\item[\texttt{\bs ISBN\{\dots\}}] Optional. ISBN + +\item[\texttt{\bs copyyear\{\dots\}}] Mandatory. Copyright year (usually the +graduation year). + +\item[\texttt{\bs copyrightstatement\{\dots\}}] Optional. Specify a copyright statement that will be printed in place of the default one. + +\item[\texttt{\bs versiondate\{\dots\}}] Optional. Date version of the thesis. + +\item[\texttt{\bs website\{\dots\}}] Optional. Thesis website. Automatically +hyper-linked if \textsf{hyperref} package is loaded. + +\item[\texttt{\bs authoremail\{\dots\}}] Mandatory. Email of the thesis author. +It is automatically hyper-linked if \textsf{hyperref} package is loaded. -\item[\texttt{\bs director\{\dots\}}] Only for Specialization. Mandatory. +\item[\texttt{\bs reviewer\{\dots\}}] Optional. Reviewers of the thesis (typically this applies to PhD theses only). Same syntax of the \texttt{\bs advisor} command. The list of the reviewer is preceded by the a text which can be specified by the \texttt{\bs reviewerlabel\{\dots\}} command. \end{description} @@ -284,7 +295,7 @@ Example of usage: \texttt{\bs textcolor\{unifiblue\}\{blah blah\}} \begin{itemize} -\item Do \textbf{not} change the default layout. If you want to change the interline spacing, do not use the \texttt{\bs linespread} command. Load instead the \textsf{setspace} package and use, for example, the \texttt{\bs onehalfspacing} command. +\item Do \textbf{not} change the default layout. \item Do \textbf{not} load the packages already loaded by \textsf{UniFiTh} (see Sec.~\ref{requirements_installation}). @@ -347,7 +358,7 @@ The following list of \LaTeX\ manuals, may be especially useful for Italian auth \item \href{http://www.lorenzopantieri.net/LaTeX_files/ArteLaTeX.pdf}{\textsc{L. Pantieri \& T. Gordini}, \textit{L'arte di scrivere con} \LaTeX, (2017)} -\item \href{http://mirror.ctan.org/info/symbols/comprehensive/symbols-a4.pdf}{\textsc{S. Pakin}, \textit{The comprehensive} \LaTeX\ \textit{symbol list}, (2017)} +\item \href{http://mirror.ctan.org/info/symbols/comprehensive/symbols-a4.pdf}{\textsc{S. Pakin}, \textit{The comprehensive} \LaTeX\ \textit{symbol list}, (2021)} \item \href{http://profs.sci.univr.it/~gregorio/breveguida.pdf}{\textsc{E. Gregorio}, \LaTeX\textit{: breve guida ai pacchetti di uso pi\`u comune}, (2010)} \end{itemize} @@ -395,12 +406,12 @@ At the end of the compilation the resulting pdf appears in a separate window. Re \course{Corso di Dottorato in Fisica e Astronomia} \courseorganizer{Dipartimento di Fisica e Astronomia} \cycle{Ciclo XXXII} +\advisor{Prof. Caio} +\advisor{Dr. Sempronio} \AcademicYear{2018/2019} \thesistype{PhD thesis} \copyyear{2020} -\advisor{Prof. Caio} -\advisor{Dr. Sempronio} \authoremail{pippo@pippo.com} \begin{document} @@ -436,7 +447,7 @@ This thesis deals with myself. \begin{lstlisting} % !TeX encoding = UTF-8 % !TeX program = pdflatex -% !TeX spellcheck = en_US +% !TeX spellcheck = it_IT \documentclass[binding=0.6cm]{unifith} @@ -452,12 +463,12 @@ This thesis deals with myself. \IDnumber{166350} \course{Corso di Laurea Magistrale in Fisica e Astronomia} \courseorganizer{Scuola di Scienze Matematiche, Fisiche e Naturali} +\advisor{Prof. Caio} +\advisor{Dr. Sempronio} \AcademicYear{2018/2019} \thesistype{Master thesis} \copyyear{2020} -\advisor{Prof. Caio} -\advisor{Dr. Sempronio} \authoremail{pippo@pippo.com} \begin{document} @@ -535,8 +546,165 @@ For heavy usage of measurement units and to insert numbers in the form \end{description} +\clearpage +\section{Frequently Asked Questions} + +\subsection{How can I increase the font size?} + +The default font used in \unifith\ is Latin Modern. The default font size is 11\,pt using A4 and 10\,pt using A5 and B5. At the moment it is impossible to change the font size unless you modify the \unifith\ class file (\texttt{unifith.cls}). The reason for this choice is to maintain a common format for all the theses. + + +\subsection{How can I increase the line-spacing?} + +The line-spacing in typography is defined as the distance between two lines. A strange ``tradition'' in Italy is to write the thesis with a double line-spacing. This is an incredibly large number. The lines are so separated that the effect is very ugly. Two reasons are behind this choice. The first one is that a lot of space is available for your professor to comment your text. The second one is that, in this way, the thesis is thicker. + +This effect is amplified when you use Microsoft Word because Word defines the line-spacing in a different way with respect to the typical definition. And usually people do not know that. Therefore, when you set the value of 2 for the line-spacing in Word, actually you obtain a line-spacing of 2.34 according to the normal definition of the term! (Word adds an extra 17\% of space, I do not know why). + +Of course this large value of the line-spacing is a nonsense. It is known in typography that the best value ranges between 1.20 and 1.45. In \LaTeX\ the default line-spacing is 1.20, which means that, if you use a font size of 10\,pt, the line-spacing is 12\,pt. In \unifith\ the line-spacing is set to 1.20. Nowadays, professors typically correct a thesis by using the comment tools of the their pdf viewer. There are still some who want to print it and want a double line-spacing. In that case, give them a copy with a double line-spacing but ask them to have the permission to print it in a more normal line-spacing, in order to save paper. + +If you want to change the line-spacing, do not use the \texttt{\bs linespread} command. Load instead the \textsf{setspace} package and use, for example, the \texttt{\bs onehalfspacing} command. + + + +\subsection{Single sided or double sided printing?} + +A strange ``tradition'' in Italy is to print the theses only on one side of the paper sheets. In the past this was justified because a thesis was manually typed by a \href{https://en.wikipedia.org/wiki/Typewriter}{typewriter machine}. +Today, where the theses are all composed by a computer, this ``tradition'' is kept mainly because in this way the professors and the students are happy to see a thicker book. + +Of course this is a nonsense. Not only because the bulky effect is only aesthetic (if you open the thesis you can see that only one side is printed), but especially because it is a waste of paper. Moreover, reading a book where only the right page is printed is quite ugly and strange, isn't it? (Have you ever seen a book, containing mainly text, printed single sided?) + +The only real reason to print single sided is when a good paper is not available. Indeed, a low quality paper, like the one typically used for photocopies, has a grammage of 80\,g/m$^2$. It is a little bit semitransparent and this can be a problem when you print double sided, especially if you have many color images. The best approach is using a proper paper grammage of 90\,g/m$^2$ or 100\,g/m$^2$. Ask to the printing service which type of paper is more suitable to print your thesis double sided. + + +\subsection{Inverted margins? How much space for binding?} + +Another typical question regards the margins of the thesis. Quite often the students (and incredibly also the printing services) complain about the margins of the thesis. They think that the margins are reversed because in \LaTeX\ standard classes, by default, the inner margin is smaller than the outer margin. The same behaviour, but with slightly different proportions, is adopted in \unifith\ (see Figure\,\ref{layout}). Of course, they are wrong. This is the correct behavior! Indeed, as you can see in any book, the sum of the two inner margins should be more or less equal to the width of a single outer margin. This is for an aesthetic reason. Otherwise the two columns of text would be too much separated when the book is open. + +\begin{figure}[!b] +\centering +\setlength{\unitlength}{0.12mm} +\begin{picture}(420,297)(-210,0) +\polyline(-210,0)(210,0)(210,297)(-210,297)(-210,0) +\Line(0,0)(0,297) +\put(27.05,37.4){\polygon(0,0)(139.2,0)(139.2,223.8)(0,223.8)} +\put(-27.05,37.4){\polygon(0,0)(-139.2,0)(-139.2,223.8)(0,223.8)} +\put(27.05,268.16){\polygon(0,0)(139.2,0)(139.2,4.22)(0,4.22)} +\put(-27.05,268.16){\polygon(0,0)(-139.2,0)(-139.2,4.22)(0,4.22)} +\end{picture} +\caption{A4 page layout scheme of \textsf{UniFiTh} class using a zero binding margin.} +\label{layout} +\end{figure} + + +At this point the students usually reply ``what about the binding margin? The inner margin should be larger because some space is used by the binding process!'' This is partially true. The effect described above in Figure\,\ref{layout} is what should happen \emph{after} the binding process. For this reason there is the documentclass \texttt{binding} option in \unifith\ (see Section\,\ref{class_options}). Typical values are 6 or 7\,mm but it is always preferable to ask the printing service which is the correct value according to the binding method (be careful because many printing services are not professional and suggest arbitrarly binding margin values). + +\subsection{Numbered introduction and conclusions?} + +There is a strange ``tradition'' in Italy to not attribute a number to the Introduction and Conclusions of a thesis. Probably, only because they are usually short chapters. So it seems that they do not deserve a proper number like any other chapter. + +In my (and not only mine) opinion this is a nonsense. The Introduction and Conclusions chapters are part of the thesis, and they should be read to properly understand the thesis. They cannot be skipped. So why don't attribute a number to those chapters? + +Therefore I suggest to use the following structure of the thesis (which is the same reported in the examples in Appendix \ref{sec:PhDexample} and \ref{sec:LaMexample}). + +\begin{lstlisting} +... + +\frontmatter +\maketitle +... + +% The chapters after the mainmatter command are numbered +\mainmatter +\chapter{Introduction} +\chapter{...} +\chapter{...} +\chapter{...} +\chapter{Conclusions} + +\backmatter +... +\end{lstlisting} + +However, if you really want to follow the nonsense of not giving a number to the Introduction and Conclusions chapter, you can do it in the following way. But keep in mind that \emph{if you do not number the Introduction and Conclusions, you cannot insert any numbered equation, table, or picture in these chapters}. Indeed, all these objects are numbered with the chapter number: Fig.\,1.2, Tab.\,3.2, Eq.\,(4.1), etc. If the chapter does not have a number, how can we assign a number to Figures, Tables, or Equations? + +\begin{lstlisting} +... + +\frontmatter +\maketitle + +% The chapters after the mainmatter command are numbered +\mainmatter +\chapter*{Introduction} % The chapter* does not attribute a number +\markboth{Introduction}{} % This command is necessary for the headings +\chapter{...} +\chapter{...} +\chapter{...} +\chapter*{Conclusions} % The chapter* does not attribute a number +\markboth{Conclusions}{} % This command is necessary for the headings + +\backmatter +... +\end{lstlisting} + +Finally, it is worth noting that the first and last chapter of a thesis must not to be always called Introduction and Conclusions! + +\subsection{How to reduce the size of the pdf?} + +Usually, students do not optimize the images of their thesis. This is a very bad practice and one of the typical consequences is the excessive large size of the final pdf. The topic is too long to be covered here, however I want to provide a simple way to reduce \textit{a posteriori} the file size of the pdf. + +Using \href{https://www.ghostscript.com/}{Ghostscript} we can ``distill'' a pdf file, which means interpreting it and re-enconding it again. This is just a small list of possible commands (commands are intended for Windows 64 bit but they can easily applied to other operating systems changing the name of the Ghostscript executable): + +\begin{lstlisting} +BEST QUALITY (Flate image encoding) + +gswin64c.exe -q -dNOPAUSE -dBATCH -dSAFER -sDEVICE=pdfwrite -sOutputFile=output.pdf +-dAutoFilterColorImages=false -dAutoFilterGrayImages=false +-dColorImageFilter=/FlateEncode -dGrayImageFilter=/FlateEncode +-dPDFSETTINGS=/prepress -dCompatibilityLevel=1.5 input.pdf +\end{lstlisting} + +\begin{lstlisting} +BEST QUALITY (DECT image encoding) + +gswin64c.exe -q -dNOPAUSE -dBATCH -dSAFER -sDEVICE=pdfwrite -sOutputFile=output.pdf +-dPDFSETTINGS=/prepress -dCompatibilityLevel=1.5 input.pdf +\end{lstlisting} + +\begin{lstlisting} +LOWER QUALITY (DECT image encoding) +Substitute XXXXXXX with one of the following settings (order of descending quality): +/printer /ebook /screen + +gswin64c.exe -q -dNOPAUSE -dBATCH -dSAFER -sDEVICE=pdfwrite -sOutputFile=output.pdf +-dPDFSETTINGS=XXXXXXX -dCompatibilityLevel=1.5 input.pdf +\end{lstlisting} + +\subsection{How to create an archivable pdf?} + +\href{https://en.wikipedia.org/wiki/PDF/A}{PDF/A} is a particular PDF format, standardized by ISO, specialized for use in the archiving and long-term preservation of electronic documents. Public and private institutions, including universities, increasingly require this form to archive electronic documents. There are several levels of PDF/A. The suggested format for a thesis is the PDF/A-2b. + +The best and free way to check if a pdf file is compliant to one of the PDF/A levels is to use \href{https://verapdf.org/}{veraPDF}, an open source software supported by the most important PDF associations in the world and funded by the European Commission. This software is freely available for Windows, Linux, and Mac. + +A PDF/A file can be generated directly in \LaTeX, properly following some rules (see TOPTesi \LaTeX\ class documentation by Claudio Beccari) however we do not have enough space to cover this topic here. + +A faster way is to transform the file of the thesis in a PDF/A compliant pdf file using \href{https://www.ghostscript.com/}{Ghostscript}. First of all you need to copy two files in the same directory of the pdf file you want to convert. One file is an ICC color profile and the other one is a PostScript definition file containing some information needed by the convertion process. Let us start from the ICC color profile. Since the pdf file will be viewed mainly on electronic screen, you can use a generic sRGB color profile. You can download one here: \url{https://www.color.org/srgbprofiles.xalter}. The PostScript definition file, already prepared for PDF/A file generation, can be found in the Ghostscript directory in your system (typically in the lib subfolder). Once copied (and RENAMED!) in your working directory, open it and modify the /ICCProfile variable, matching the name of the ICC color profile you downloaded, and the /Title variable, matching (reasonably) the title of your pdf. + +Then, launch the following command: + +\begin{lstlisting} +gswin64.exe -q -dNOPAUSE -dBATCH -dNOSAFER -sDEVICE=pdfwrite -sOutputFile=output.pdf +-dPDFA=2 -dPDFACompatibilityPolicy=1 +-sColorConversionStrategy=UseDeviceIndependentColor -sProcessColorModel=DeviceRGB +PDFArenamed.ps input.pdf +\end{lstlisting} + + +%\subsection{Cover} +% +%In order to help the student to prepare the cover for the printing service, \unifith\ provides a class option \texttt{cover}. When this option is used, the thesis is not compiled, but the cover is generated as a single page pdf. This file is usually provided to the printing service to prepare the cover for the thesis. Of course the students can use their own cover or the cover provided by the printing services. \addtocontents{toc}{\protect\end{multicols}} diff --git a/macros/latex/contrib/unifith/unifith.cls b/macros/latex/contrib/unifith/unifith.cls index ea90f6ca6b..5cf3fe1363 100644 --- a/macros/latex/contrib/unifith/unifith.cls +++ b/macros/latex/contrib/unifith/unifith.cls @@ -1,7 +1,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% unifith.cls %% -%% version 1.2 %% -%% 2019-08-27 %% +%% version 1.6 %% +%% date: see below %% %% author: Francesco Biccari %% %% contact: biccari@gmail.com %% %% %% @@ -20,9 +20,8 @@ \NeedsTeXFormat{LaTeX2e}[2009/01/01] \ProvidesClass{unifith}% -[2019/08/27 University of Florence thesis class] +[2021/10/01 University of Florence thesis class] -\def\UFI@classVersion{1.2} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -34,26 +33,42 @@ \newif\ifUFI@customlanguage \UFI@customlanguagefalse \newif\ifUFI@noexaminfo \UFI@noexaminfofalse \newif\ifUFI@femaleauthor \UFI@femaleauthorfalse +\def\UFI@paper{a4paper} +\def\UFI@layout{a4paper} +\def\UFI@fontsize{11pt} \define@key[ufi]{}{noexaminfo}[]{\UFI@noexaminfotrue} \define@key[ufi]{}{fem}[]{\UFI@femaleauthortrue} \define@key[ufi]{}{nodefaultfont}[]{\UFI@nodefaultfonttrue} \define@key[ufi]{}{romandiff}[]{\UFI@romandifftrue} \define@key[ufi]{}{binding}[0pt]{\setlength{\UFI@binding}{#1}} -\define@key[ufi]{}{draft}[]{\PassOptionsToClass{draft}{book}} +\define@key[ufi]{}{draft}[]{% +\PassOptionsToClass{draft}{book}% +%\PassOptionsToPackage{showframe}{geometry} +} \define@key[ufi]{}{oneside}[]{\PassOptionsToClass{oneside}{book}} \define@key[ufi]{}{twoside}[]{} +\define@key[ufi]{}{a4paper}[]{\def\UFI@paper{a4paper}} +\define@key[ufi]{}{a5paper}[]{% +\def\UFI@paper{a5paper}\def\UFI@layout{a5paper}\def\UFI@fontsize{10pt}} +\define@key[ufi]{}{b5paper}[]{% +\def\UFI@paper{b5paper}\def\UFI@layout{b5paper}\def\UFI@fontsize{10pt}} +\define@choicekey[ufi]{}{layout}[]{a4paper,a5paper,b5paper}[]{% +\def\UFI@layout{#1}\def\UFI@fontsize{10pt}} \DeclareOptionX*{\ClassError{unifith}{Option '\CurrentOption'% \MessageBreak is not valid}{Remove '\CurrentOption' % from class options}} \ProcessOptionsX[ufi]<> -\LoadClass[a4paper,11pt]{book} - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Page layout %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\RequirePackage[a4paper]{geometry} +\LoadClass[\UFI@paper,\UFI@fontsize]{book} +\RequirePackage[\UFI@paper]{geometry} + +% A4 +\def\UFI@layoutname{a4paper} +\ifx\UFI@layout\UFI@layoutname % \geometry{textwidth=396pt, textheight=641pt, marginparsep=12pt, @@ -62,9 +77,43 @@ includehead, marginparwidth=72pt, heightrounded} - \if@twoside\geometry{hmarginratio=55:89}\fi +\fi +% A5 +\def\UFI@layoutname{a5paper} +\ifx\UFI@layout\UFI@layoutname % +\geometry{textwidth=300pt, + textheight=485pt, + marginparsep=12pt, + bindingoffset=\UFI@binding, + vmarginratio=55:89, + includehead, + marginparwidth=42pt, + heightrounded} +\if@twoside\geometry{hmarginratio=55:89}\fi +\def\UFI@papername{a4paper} +\ifx\UFI@paper\UFI@papername% +\geometry{layout=\UFI@layout,layouthoffset=2cm,layoutvoffset=2cm,showcrop}\fi +\fi + +% B5 +\def\UFI@layoutname{b5paper} +\ifx\UFI@layout\UFI@layoutname % +\geometry{textwidth=340pt, + textheight=550pt, + marginparsep=12pt, + bindingoffset=\UFI@binding, + vmarginratio=55:89, + includehead, + marginparwidth=42pt, + heightrounded} +\if@twoside\geometry{hmarginratio=55:89}\fi +\def\UFI@papername{a4paper} +\ifx\UFI@paper\UFI@papername% +\geometry{layout=\UFI@layout,layouthoffset=2cm,layoutvoffset=2cm,showcrop}\fi +\fi + @@ -72,7 +121,7 @@ %% Some settings%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \RequirePackage{ifxetex} \ifxetex - \RequirePackage{xltxtra} + \RequirePackage{fontspec} \else \ifUFI@nodefaultfont\relax\else \RequirePackage[T1]{fontenc} @@ -117,7 +166,7 @@ \renewcommand{\headrulewidth}{0.4pt} \renewcommand{\footrulewidth}{0pt}} -%% ri-definition of the plain style (first page of the chapters) +%% re-definition of the plain style (first page of the chapters) \fancypagestyle{plain}{% \renewcommand{\headrulewidth}{0pt} \fancyhf{} @@ -132,24 +181,22 @@ \g@addto@macro\frontmatter{\pagestyle{UFI@mainstyle}} \g@addto@macro\mainmatter{\pagestyle{UFI@mainstyle}} -% fancy marginnote (not activated yet) -% commands to redefine the marginpar command -% maybe in future I will remove the mnote command? -%\def \@marginparreset {% -% \reset@font -% \footnotesize -% \itshape -% \@setminipage -%} -%\long\def\@xmpar[#1]#2{% -% \@savemarbox\@marbox{\raggedleft #1}% -% \@savemarbox\@currbox{\raggedright #2}% -% \@xympar} -%\long\def\@ympar#1{% -% \@savemarbox\@marbox{\raggedleft #1}% -% \@savemarbox\@currbox{\raggedright #1}% -% \@xympar} -% +% fancy marginnote +% redefine the marginpar command +\def \@marginparreset {% + \reset@font + \small + \itshape + \@setminipage +} +\long\def\@xmpar[#1]#2{% + \@savemarbox\@marbox{\raggedleft #1}% + \@savemarbox\@currbox{\raggedright #2}% + \@xympar} +\long\def\@ympar#1{% + \@savemarbox\@marbox{\raggedleft #1}% + \@savemarbox\@currbox{\raggedright #1}% + \@xympar} @@ -169,7 +216,10 @@ % logo \newif\ifUFI@unifilogo \UFI@unifilogofalse -\IfFileExists{unifilogo.pdf}{\UFI@unifilogotrue}{\RequirePackage{hyperref}} +\IfFileExists{unifilogo.pdf}{\UFI@unifilogotrue}{% +\ClassWarningNoLine{unifith}{Logo not found! You have to download it +manually. See the documentation or just the frontispiece.} +\RequirePackage{hyperref}} @@ -210,17 +260,17 @@ %% Co-Advisors or External Advisor \newcount\UFI@coadvisorcount \newtoks\UFI@coadvisortoks -\newif\ifUFI@ext \UFI@extfalse -\newcommand{\coadvisor}[2][]{% +\newcommand{\coadvisor}[1]{% \ifnum\UFI@coadvisorcount=\z@ - \UFI@coadvisortoks={#2}% + \UFI@coadvisortoks={#1}% \else - \UFI@coadvisortoks=\expandafter{\the\UFI@coadvisortoks\\[0.75mm]#2}% + \UFI@coadvisortoks=\expandafter{\the\UFI@coadvisortoks\\[0.75mm]#1}% \fi - \advance\UFI@coadvisorcount\@ne - \ifstrequal{#1}{ext}{\UFI@exttrue}{}} - + \advance\UFI@coadvisorcount\@ne} +\newcommand{\customcoadvisorlabel}[1]{% + \newcommand{\UFI@ThesisCoAdvisorLabel}{#1} + \newcommand{\UFI@ThesisCoAdvisorsLabel}{#1}} %% Reviewers \def\UFI@ReviewerLabel{} @@ -249,6 +299,9 @@ \fi \advance\UFI@directorcount\@ne} +\newcommand{\customdirectorlabel}[1]{% + \newcommand{\UFI@ThesisDirectorLabel}{#1} + \newcommand{\UFI@ThesisDirectorsLabel}{#1}} %% Examiners \newcount\UFI@examinercount @@ -287,37 +340,21 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% maketitle -\newcommand{\UFI@maketitleGeneral}{ - -% Errors: - -\if|\UFI@courseorganizerLabel|\ClassError{unifith}{You must specify the course % - organizer}{Example: \protect\courseorganizer{Scuola di dottorato di ...}}\fi -\if|\UFI@courseLabel|\ClassError{unifith}{You must specify the % - course}{Example: \protect\course{Corso di Laurea Magistrale in Fisica}}\fi -\if|\UFI@submitdate|\ClassError{unifith}{You must specify the % - thesis submission date}{Example: \protect\submitdate{August 2012} The date must be in the form Month(name) Year(number)}\fi -\if|\UFI@copyyear|\ClassError{unifith}{You must specify the % - copyright year}{Example: \protect\copyyear{2012}}\fi -\if|\UFI@IDnumber|\ClassError{unifith}{You must specify your % - ID number (matricola)}{Example: \protect\IDnumber{123456}}\fi -\if|\UFI@authoremail|\ClassError{unifith}{You must specify the email of the author}{% - Example: \protect\authoremail{author@email.com}}\fi - -% Titlepage: +\newcommand{\UFI@maketitleA}{ \begin{titlepage} \linespread{1}\selectfont - - % questa parbox forse è meglio eliminarla sostituendola con qualcosa di più semplice e che scali verticalmente. - % infatti se metto tanti relatori, si sovrappone tutto. - \newcommand{\UFI@parbox}[2][]{\hspace{1.72cm}\parbox[t][##1][t]{11.9cm}{##2}} + \newlength{\UFI@parboxindent} + \newlength{\UFI@parboxwidth} + \setlength{\UFI@parboxindent}{1.72cm} + \setlength{\UFI@parboxwidth}{\dimexpr\textwidth-\UFI@parboxindent\relax} + \newcommand{\UFI@parbox}[2][]{\hspace{\UFI@parboxindent}% + \parbox[t][##1][t]{\UFI@parboxwidth}{##2}} \parindent=0pt \sffamily \vspace*{-25mm} - %\hspace{-1cm}\includegraphics[width=6.5cm]{unifilogo} \ifUFI@unifilogo \parbox[b][3cm][c]{0.49\linewidth}{\hspace{-1cm}\includegraphics[width=6.5cm]{unifilogo.pdf}} @@ -364,8 +401,6 @@ \vspace{\stretch{1}} - - \UFI@parbox{% \ifUFI@femaleauthor \textbf{\bfseries\UFI@CandidateLabelFemale}\\[1.5mm] @@ -378,6 +413,7 @@ \vspace*{1cm} \UFI@parbox{% + \parbox[t]{0.59\UFI@parboxwidth}{% \ifcase\UFI@advisorcount \ClassError{unifith}{You must specify at least one advisor in the preamble}% {E.g. \protect\advisor{Prof. Name Surname}} @@ -386,7 +422,29 @@ \else \textbf{\bfseries\UFI@ThesisAdvisorsLabel}\\[2mm] \fi - \the\UFI@advisortoks + \the\UFI@advisortoks} + \hfill + \parbox[t]{0.39\UFI@parboxwidth}{% + \ifcase\UFI@directorcount + \relax + \or + \textbf{\bfseries\UFI@ThesisDirectorLabel}\\[2mm] + \else + \textbf{\bfseries\UFI@ThesisDirectorsLabel}\\[2mm] + \fi + \the\UFI@directortoks} + } + + \vspace{1cm} + + \UFI@parbox{% + \ifcase\UFI@coadvisorcount\relax + \or + \textbf{\bfseries\UFI@ThesisCoAdvisorLabel}\\[2mm] + \else + \textbf{\bfseries\UFI@ThesisCoAdvisorsLabel}\\[2mm] + \fi + \the\UFI@coadvisortoks } \vspace*{1cm} @@ -394,11 +452,235 @@ \UFI@parbox{\raisebox{-0.5cm}[0pt][0pt]{\UFI@AcademicYearLabel\ \UFI@submitdate}} \end{titlepage} -\clearpage -\UFI@composebacktitlepage } +\newcommand{\UFI@maketitleB}{ + + \begin{titlepage} + \newlength{\UFI@parboxindent} + \newlength{\UFI@parboxwidth} + \linespread{1}\selectfont + \setlength{\UFI@parboxindent}{0.85cm} + \setlength{\UFI@parboxwidth}{\dimexpr\textwidth-\UFI@parboxindent\relax} + \newcommand{\UFI@parbox}[2][]{\hspace{\UFI@parboxindent}% + \parbox[t][##1][t]{\UFI@parboxwidth}{##2}} + \parindent=0pt + \sffamily + + \vspace*{-20mm} + %\hspace{-1cm}\includegraphics[width=6.5cm]{unifilogo} + + \ifUFI@unifilogo + \parbox[b][3cm][c]{0.39\linewidth}{\hspace{-1cm}\includegraphics[width=4.5cm]{unifilogo.pdf}} + \else + \parbox[b][3cm][c]{0.39\linewidth}{%\hspace{-1cm} + \setlength{\unitlength}{1mm} + \begin{picture}(45,27.3)(0,0) + \footnotesize + \put(0,0){\framebox(52,27.3)[0,0]{}} + \put(2,23){\makebox(0,0)[l]{WARNING! ATTENZIONE!}} + \put(2,18){\makebox(0,0)[l]{UniFi logo not found!}} + \put(2,11){\href{http://biccari.altervista.org/c/informatica/latex/unifilogo.pdf}{Click here to download the UniFi logo}} + \put(2,5.5){Then copy unifilogo.pdf in the folder} + \put(2,1.5){of your main .tex file.} + \end{picture} + } + \fi + \hfill + \parbox[b][3cm][c]{0.49\linewidth}{% + \raggedleft + \normalfont\footnotesize\scshape + \textsc{\UFI@courseorganizerLabel}\\[2mm] + \UFI@courseLabel + \if?\UFI@cycle?\relax\else\\\UFI@cycle\fi + } + + \nointerlineskip + \vspace{\stretch{0.5}} + \nointerlineskip + + \UFI@parbox{\LARGE\@title\par} + + \if|\UFI@subtitle| + \if|\UFI@alttitle| + \relax + \else + \vspace*{1.5cm} + \UFI@parbox{\LARGE\UFI@alttitle\par} + \fi + \else + \vspace{0.4cm} + \UFI@parbox{\linespread{1.2}\selectfont\large\UFI@subtitle\par} + \fi + + \vspace{\stretch{1}} + + \UFI@parbox{% + \ifUFI@femaleauthor + \textbf{\bfseries\UFI@CandidateLabelFemale}\\[1.5mm] + \else + \textbf{\bfseries\UFI@CandidateLabel}\\[1.5mm] + \fi + \@author\hspace{0.2cm} (\UFI@IDnumberLabel\ \UFI@IDnumber) + } + + \vspace*{1cm} + \UFI@parbox{% + \parbox[t]{0.59\UFI@parboxwidth}{% + \ifcase\UFI@advisorcount + \ClassError{unifith}{You must specify at least one advisor in the preamble}% + {E.g. \protect\advisor{Prof. Name Surname}} + \or + \textbf{\bfseries\UFI@ThesisAdvisorLabel}\\[2mm] + \else + \textbf{\bfseries\UFI@ThesisAdvisorsLabel}\\[2mm] + \fi + \the\UFI@advisortoks} + \hfill + \parbox[t]{0.39\UFI@parboxwidth}{% + \ifcase\UFI@directorcount + \relax + \or + \textbf{\bfseries\UFI@ThesisDirectorLabel}\\[2mm] + \else + \textbf{\bfseries\UFI@ThesisDirectorsLabel}\\[2mm] + \fi + \the\UFI@directortoks} + } + + \vspace{1cm} + + \UFI@parbox{% + \ifcase\UFI@coadvisorcount\relax + \or + \textbf{\bfseries\UFI@ThesisCoAdvisorLabel}\\[2mm] + \else + \textbf{\bfseries\UFI@ThesisCoAdvisorsLabel}\\[2mm] + \fi + \the\UFI@coadvisortoks} + + \vspace*{1.5cm} + + \UFI@parbox{\raisebox{0cm}[0pt][0pt]{\UFI@AcademicYearLabel\ \UFI@submitdate}} + + \end{titlepage} +} + + +\newcommand{\UFI@maketitleC}{ + + \begin{titlepage} + + \linespread{1}\selectfont + \newlength{\UFI@parboxindent} + \newlength{\UFI@parboxwidth} + \setlength{\UFI@parboxindent}{0.85cm} + \setlength{\UFI@parboxwidth}{\dimexpr\textwidth-\UFI@parboxindent\relax} + \newcommand{\UFI@parbox}[2][]{\hspace{\UFI@parboxindent}% + \parbox[t][##1][t]{\UFI@parboxwidth}{##2}} + \parindent=0pt + \sffamily + + \vspace*{-20mm} + %\hspace{-1cm}\includegraphics[width=6.5cm]{unifilogo} + + \ifUFI@unifilogo + \parbox[b][3cm][c]{0.39\linewidth}{\hspace{-1cm}\includegraphics[width=4.5cm]{unifilogo.pdf}} + \else + \parbox[b][3cm][c]{0.39\linewidth}{%\hspace{-1cm} + \setlength{\unitlength}{1mm} + \begin{picture}(45,27.3)(0,0) + \footnotesize + \put(0,0){\framebox(52,27.3)[0,0]{}} + \put(2,23){\makebox(0,0)[l]{WARNING! ATTENZIONE!}} + \put(2,18){\makebox(0,0)[l]{UniFi logo not found!}} + \put(2,11){\href{http://biccari.altervista.org/c/informatica/latex/unifilogo.pdf}{Click here to download the UniFi logo}} + \put(2,5.5){Then copy unifilogo.pdf in the folder} + \put(2,1.5){of your main .tex file.} + \end{picture} + } + \fi + \hfill + \parbox[b][3cm][c]{0.49\linewidth}{% + \raggedleft + \normalfont\footnotesize\scshape + \textsc{\UFI@courseorganizerLabel}\\[2mm] + \UFI@courseLabel + \if?\UFI@cycle?\relax\else\\\UFI@cycle\fi + } + + \nointerlineskip + \vspace{\stretch{0.5}} + \nointerlineskip + + \UFI@parbox{\LARGE\@title\par} + + \if|\UFI@subtitle| + \if|\UFI@alttitle| + \relax + \else + \vspace*{1.5cm} + \UFI@parbox{\LARGE\UFI@alttitle\par} + \fi + \else + \vspace{0.4cm} + \UFI@parbox{\linespread{1.2}\selectfont\large\UFI@subtitle\par} + \fi + + \vspace{\stretch{1}} + + \UFI@parbox{% + \ifUFI@femaleauthor + \textbf{\bfseries\UFI@CandidateLabelFemale}\\[1.5mm] + \else + \textbf{\bfseries\UFI@CandidateLabel}\\[1.5mm] + \fi + \@author\hspace{0.2cm} (\UFI@IDnumberLabel\ \UFI@IDnumber) + } + + \vspace*{1cm} + \UFI@parbox{% + \parbox[t]{0.59\UFI@parboxwidth}{% + \ifcase\UFI@advisorcount + \ClassError{unifith}{You must specify at least one advisor in the preamble}% + {E.g. \protect\advisor{Prof. Name Surname}} + \or + \textbf{\bfseries\UFI@ThesisAdvisorLabel}\\[2mm] + \else + \textbf{\bfseries\UFI@ThesisAdvisorsLabel}\\[2mm] + \fi + \the\UFI@advisortoks} + \hfill + \parbox[t]{0.39\UFI@parboxwidth}{% + \ifcase\UFI@directorcount + \relax + \or + \textbf{\bfseries\UFI@ThesisDirectorLabel}\\[2mm] + \else + \textbf{\bfseries\UFI@ThesisDirectorsLabel}\\[2mm] + \fi + \the\UFI@directortoks} + } + + \vspace{1cm} + + \UFI@parbox{% + \ifcase\UFI@coadvisorcount\relax + \or + \textbf{\bfseries\UFI@ThesisCoAdvisorLabel}\\[2mm] + \else + \textbf{\bfseries\UFI@ThesisCoAdvisorsLabel}\\[2mm] + \fi + \the\UFI@coadvisortoks} + + \vspace*{1.5cm} + + \UFI@parbox{\raisebox{0cm}[0pt][0pt]{\UFI@AcademicYearLabel\ \UFI@submitdate}} + + \end{titlepage} +} + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Macro for the back of the title page %%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -483,8 +765,35 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Choosing the right \maketitle according to the thesis type %%%%%%% -\renewcommand{\maketitle}{\UFI@maketitleGeneral} - +\renewcommand{\maketitle}{% +% Errors: +\if|\UFI@courseorganizerLabel|\ClassError{unifith}{You must specify the course % + organizer}{Example: \protect\courseorganizer{Scuola di dottorato di ...}}\fi +\if|\UFI@courseLabel|\ClassError{unifith}{You must specify the % + course}{Example: \protect\course{Corso di Laurea Magistrale in Fisica}}\fi +\if|\UFI@submitdate|\ClassError{unifith}{You must specify the % + thesis submission date}{Example: \protect\submitdate{August 2012} The date must be in the form Month(name) Year(number)}\fi +\if|\UFI@copyyear|\ClassError{unifith}{You must specify the % + copyright year}{Example: \protect\copyyear{2012}}\fi +\if|\UFI@IDnumber|\ClassError{unifith}{You must specify your % + ID number (matricola)}{Example: \protect\IDnumber{123456}}\fi +\if|\UFI@authoremail|\ClassError{unifith}{You must specify the email of the author}{% + Example: \protect\authoremail{author@email.com}}\fi +%titlepage +\def\UFI@layoutname{a4paper} +\ifx\UFI@layout\UFI@layoutname +\UFI@maketitleA +\fi +\def\UFI@layoutname{a5paper} +\ifx\UFI@layout\UFI@layoutname +\UFI@maketitleB +\fi +\def\UFI@layoutname{b5paper} +\ifx\UFI@layout\UFI@layoutname +\UFI@maketitleC +\fi +\clearpage +\UFI@composebacktitlepage} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -522,12 +831,10 @@ \newcommand{\UFI@IDnumberLabel}{ID number} \newcommand{\UFI@ThesisAdvisorLabel}{Thesis Advisor} \newcommand{\UFI@ThesisAdvisorsLabel}{Thesis Advisors} - \newcommand{\UFI@ThesisCoAdvisorLabel}{Co-Advisor} - \newcommand{\UFI@ThesisCoAdvisorsLabel}{Co-Advisors} - \newcommand{\UFI@ThesisExtAdvisorLabel}{External Advisor} - \newcommand{\UFI@ThesisExtAdvisorsLabel}{External Advisors} - \newcommand{\UFI@ThesisDirectorLabel}{Director} - \newcommand{\UFI@ThesisDirectorsLabel}{Directors} + \providecommand{\UFI@ThesisCoAdvisorLabel}{Co-Advisor} + \providecommand{\UFI@ThesisCoAdvisorsLabel}{Co-Advisors} + \providecommand{\UFI@ThesisDirectorLabel}{Director} + \providecommand{\UFI@ThesisDirectorsLabel}{Directors} \newcommand{\UFI@AcademicYearLabel}{Academic Year} \newcommand{\UFI@ThesisNotDefensedLabel}{Thesis not yet defended} \newcommand{\UFI@ThesisDefensedLabelA}{Thesis defended on} @@ -554,12 +861,10 @@ \newcommand{\UFI@IDnumberLabel}{Matricola} \newcommand{\UFI@ThesisAdvisorLabel}{Relatore} \newcommand{\UFI@ThesisAdvisorsLabel}{Relatori} - \newcommand{\UFI@ThesisCoAdvisorLabel}{Correlatore} - \newcommand{\UFI@ThesisCoAdvisorsLabel}{Correlatori} - \newcommand{\UFI@ThesisExtAdvisorLabel}{Relatore esterno} - \newcommand{\UFI@ThesisExtAdvisorsLabel}{Relatori esterni} - \newcommand{\UFI@ThesisDirectorLabel}{Direttore} - \newcommand{\UFI@ThesisDirectorsLabel}{Direttori} + \providecommand{\UFI@ThesisCoAdvisorLabel}{Correlatore} + \providecommand{\UFI@ThesisCoAdvisorsLabel}{Correlatori} + \providecommand{\UFI@ThesisDirectorLabel}{Direttore} + \providecommand{\UFI@ThesisDirectorsLabel}{Direttori} \newcommand{\UFI@AcademicYearLabel}{Anno Accademico} \newcommand{\UFI@ThesisNotDefensedLabel}{Tesi non ancora discussa} \newcommand{\UFI@ThesisDefensedLabelA}{Tesi discussa il} |