diff options
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/latex/uol-physics-report/uol-physics-report.dtx | 269 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/uol-physics-report/uol-physics-report.ins | 32 |
2 files changed, 301 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/uol-physics-report/uol-physics-report.dtx b/Master/texmf-dist/source/latex/uol-physics-report/uol-physics-report.dtx new file mode 100644 index 00000000000..3f6e3c7557c --- /dev/null +++ b/Master/texmf-dist/source/latex/uol-physics-report/uol-physics-report.dtx @@ -0,0 +1,269 @@ +% \iffalse meta-comment +% +% Copyright (C) 2022-2023 by Jan Eike Suchard +% +% This file may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.3c of this license or (at your option) any later +% version. The latest version of this license is in: +% +% http://www.latex-project.org/lppl.txt +% +% and version 1.3c or later is part of all distributions of +% LaTeX version 2005/12/01 or later. +% +% \fi +% +% \iffalse +%<*driver> +\ProvidesFile{uol-physics-report.dtx} +%</driver> +%<class>\NeedsTeXFormat{LaTeX2e} +%<class>\ProvidesClass{uol-physics-report} +%<*class> +[2023/01/27 v1.0 A class providing special environments and commands for writing reports for laboratory courses realized by the Institute of Physics] +%</class> +% +% Used Packages and base class +%<class>\LoadClass[a4paper,12pt,leqno]{article} +%<class>\RequirePackage{babel} +%<class>\RequirePackage[left=1.75cm,right=1.75cm,top=1.75cm,bottom=2cm,footskip=15pt]{geometry} +%<class>\RequirePackage{amsmath,amssymb,amsfonts,amsthm} +%<class>\RequirePackage{mathtools} +%<class>\RequirePackage{fancyhdr} +%<class>\RequirePackage{titling} +%<class>\RequirePackage{subcaption} +%<class>\RequirePackage{graphicx} +%<class>\RequirePackage{float} +%<class>\RequirePackage[bottom]{footmisc} +%<class>\RequirePackage[useregional]{datetime2} +%<class>\RequirePackage{listings} +%<class>\RequirePackage[hypcap=true]{caption} +%<class>\RequirePackage{pdfpages} +%<class>\RequirePackage{siunitx} +%<class>\RequirePackage{esdiff} +%<class>\RequirePackage{tcolorbox} +%<class>\RequirePackage{xcolor} +%<class>\RequirePackage{titleref} +%<class>\RequirePackage{parskip} +%<class>\RequirePackage{setspace} +%<class>\RequirePackage[european,siunitx]{circuitikz} +%<class>\RequirePackage[pdfusetitle,hidelinks]{hyperref} +%<class>\RequirePackage[nameinlink,capitalize]{cleveref} +%<class>\RequirePackage{arrayjobx} +%<class>\RequirePackage{multido} +%<class>\RequirePackage[compact]{titlesec} +% set the page style to fancy to display headers +%<class>\pagestyle{fancy} +% set the head height to 24pt to display the content correctly +%<class>\setlength{\headheight}{27.5pt} +% set up the siunitx package to correctly display numbers and uncertainites +%<class>\sisetup{group-digits=none, table-alignment=center, locale=DE, uncertainty-mode=separate, output-open-uncertainty = [, output-close-uncertainty = ]} +% set up the page header +%<class>\fancyhead[L]{\small\multido{\iP=1+1}{\value{partnerCounter}}{\arrayx{PartnerLastNames}(\iP)\ifnumcomp{\iP}{<}{\value{partnerCounter}}{, }{}}} +%<class>\fancyhead[C]{\small\@title \\ \@moduleNumber \ -- \@moduleName} +%<class>\fancyhead[R]{\small\@date \\ \@semester} +% setup the all the chapter headings +%<class>\titleformat{\part}{\large\scshape}{\thepart}{1ex}{} +%<class>\titleformat{\section}{\bfseries}{\thesection}{1ex}{} +%<class>\titleformat{\subsection}{\slshape}{\thesubsection}{1ex}{} +%<class>\titleformat{\subsubsection}{\itshape}{\thesubsubsection}{1ex}{} +%<class>\titlespacing*{\part}{0pt}{0pt}{*1} +%<class>\titlespacing*{\section}{0pt}{*1}{*1} +%<class>\titlespacing*{\subsection}{0pt}{*1}{*1} +%<class>\titlespacing*{\subsubsection}{0pt}{*1}{*1} +% set up the lists for the names and matriculation numbers +%<class>\newarray\PartnerFirstNames +%<class>\newarray\PartnerLastNames +%<class>\newarray\PartnerEmails +%<class>\newarray\PartnerMatriculationNumbers +% set up a counter to keep track of the partners +%<class>\newcounter{partnerCounter} +% +%<*driver> +\documentclass{ltxdoc} +\usepackage{shortvrb} +\usepackage{etoolbox} +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{uol-physics-report.dtx} +\end{document} +%</driver> +% \fi +% +% \CheckSum{0} +% +% +% \changes{v0.1}{2022/12/13}{Initial version} +% +% \GetFileInfo{uol-physics-report.dtx} +% +% \title{The uol-physics-report class\thanks{This document +% corresponds to \textsf{uol-physics-report}~\fileversion, +% dated \filedate.}} +% \author{Jan Eike Suchard \\ \texttt{jan-eike.suchard@magenta.de}} +% +% \maketitle +% +% \begin{abstract} +% This document describes the usage of the \texttt{uol-physics-report} document class. +% +% The document class is based on an initial laboratory report wirtten by me which I have been asked to share with +% other students at my university. The laboratory report class is mainly optimized for reports written during the +% Basic Laboratory Course for first semester students of physics at the Carl von Ossietzky University of Oldenburg. +% Therefore, there are some macros available for generating the titles and headers of every page. +% \end{abstract} +% +% \section{Introduction} +% Writing a laboratory report is not easy as a first semester who is learning to use \LaTeX{} in a professional setting. +% Furthermore, students need to write their laboratory reports with consistency and predefined formatting. To help with +% this, the class uses some packages like \texttt{siunitx} to help with the correct display of results and formatting of +% tables +% +% \section{Usage} +% \subsection{General} +% \DescribeMacro{\rom} +% |\rom| \marg{number} prints out an uppercase roman letter number. The input argument is a positive integer excluding zero. +% +% \subsection{Report Setup} +% This section contains the macros used to set up the general report texts like headers and such. You may want to put +% those commands into a \texttt{header.tex} file since those values never change. +% +% \DescribeMacro{\partner} +% |\partner| \marg{firstName} \marg{lastName} \marg{matriculationNumber} \marg{eMailAddress} Sets one of many partners +% participating in the protocol +% +% +% \DescribeMacro{\module} +% |\module| \marg{number} \marg{title} allows setting the module title and number which is printed in the file +% header +% +% \DescribeMacro{\tutor} +% |\tutor| \marg{name} sets the name of the tutor who is present during the experiments +% +% \DescribeMacro{\supervisor} +% |\supervisor| \marg{name} sets the name of the supervisor who is present during the experiments +% +% \DescribeMacro{\group} +% |\group| \marg{number} sets the number of the group the two partners are in +% +% \DescribeMacro{\semester} +% |\semester| \marg{semester} sets the semester in which the module takes place +% +% \section{Implementation} +% \begin{macro}{\rom} +% The macro |\rom| \marg{number} takes the supplied number and prints out the uppercase roman number +% \begin{macrocode} +\newcommand{\rom}[1]{\uppercase\expandafter{\romannumeral #1\relax}} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\partner} +% |\partner| \marg{firstName} \marg{lastName} \marg{matriculationNumber} \marg{eMailAddress} takes the name, +% matriculation number and email address of a partner and sets it in a way the similat to how the +% author command works. +% \begin{macrocode} +\newcommand{\partner}[4]{%% + \addtocounter{partnerCounter}{1} + \PartnerFirstNames(\value{partnerCounter})={#1} + \PartnerLastNames(\value{partnerCounter})={#2} + \PartnerEmails(\value{partnerCounter})={#3} + \PartnerMatriculationNumbers(\value{partnerCounter})={#4} +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\module} +% |\module| \marg{number} \marg{title} uses the same structure as the author command +% \begin{macrocode} +\newcommand{\module}[2]{ + \renewcommand{\@moduleNumber}{#1} + \renewcommand{\@moduleName}{#2} +} +\newcommand{\@moduleNumber}{} +\newcommand{\@moduleName}{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\tutor} +% |\tutor| \marg{name} uses the same structure as the author command +% \begin{macrocode} +\newcommand{\tutor}[1]{ + \renewcommand{\@tutor}{#1} +} +\newcommand{\@tutor}{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\supervisor} +% |\supervisor| \marg{name} uses the same structure as the author command +% \begin{macrocode} +\newcommand{\supervisor}[1]{ + \renewcommand{\@supervisor}{#1} +} +\newcommand{\@supervisor}{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\group} +% |\group| \marg{number} uses the same structure as the author command +% \begin{macrocode} +\newcommand{\group}[1]{ + \renewcommand{\@group}{#1} +} +\newcommand{\@group}{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\semester} +% |\semester| \marg{semester} uses the same structure as the author command +% \begin{macrocode} +\newcommand{\semester}[1]{ + \renewcommand{\@semester}{#1} +} +\newcommand{\@semester}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\maketitle} +% |\maketitle| creates a title page for the laboratory report +% \begin{macrocode} +\renewcommand{\maketitle}{% +\begin{titlepage} + \begin{center} + \singlespacing + \topskip0pt + \vspace*{\fill} + \pagenumbering{Roman} + {\Large \@moduleName \ -- \@semester }\\ + \vspace{4em} + {\huge \textsc{\thetitle}}\\ + \vspace{4em} + {\Large \thedate}\\ + \vspace{0.5em} + {\Large Gruppe \@group}\\ + \vspace{3em} + \begin{tabular}[t]{c@{\extracolsep{8em}}c} + {\Large\textbf{Betreuer}} & {\Large\textbf{Tutor}} \\ + {\large \@supervisor} & {\large \@tutor} \\ + \end{tabular}\\ + \vspace{3em} + {\Large\textbf{Gruppenmitglieder}} \\~\\ + \multido{\iP=1+1}{\value{partnerCounter}}{% + {\large\textit{\arrayx{PartnerFirstNames}(\iP) \arrayx{PartnerLastNames}(\iP)}} \\ \vspace{0.75em} + Matrikelnummer: \arrayx{PartnerMatriculationNumbers}(\iP) \\ \vspace{0.5em} + \href{mailto:\arrayx{PartnerEmails}(\iP)}{\arrayx{PartnerEmails}(\iP)} \\ \vspace{1.5em} + } + \vspace*{\fill} + \thispagestyle{empty} + \newpage + \end{center} + \tableofcontents +\end{titlepage} +\pagenumbering{arabic} +} +% \end{macrocode} +% \end{macro}
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/uol-physics-report/uol-physics-report.ins b/Master/texmf-dist/source/latex/uol-physics-report/uol-physics-report.ins new file mode 100644 index 00000000000..4729f0e491a --- /dev/null +++ b/Master/texmf-dist/source/latex/uol-physics-report/uol-physics-report.ins @@ -0,0 +1,32 @@ +%% +%% Copyright (C) 2022-2023 by Jan Eike Suchard +%% +%% This file may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. The latest version of this license is in: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% and version 1.3c or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. +%% +\input docstrip.tex +\keepsilent +\usedir{tex/latex/uol-physics-report} +\generate{\file{uol-physics-report.cls}{\from{uol-physics-report.dtx}{class}}} +\obeyspaces +\Msg{****************************************************} +\Msg{* *} +\Msg{* To finish the installation you have to move the *} +\Msg{* following file into a directory searched by TeX: *} +\Msg{* *} +\Msg{* uol-physics-report.cls *} +\Msg{* *} +\Msg{* To produce the documentation run the file *} +\Msg{* uol-physics-report.dtx through LaTeX. *} +\Msg{* *} +\Msg{* Happy TeXing! *} +\Msg{* *} +\Msg{****************************************************} +\endbatchfile
\ No newline at end of file |