diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..3afc101 --- /dev/null +++ b/Makefile @@ -0,0 +1,17 @@ +all: + pdflatex -output-directory=./build/ src/*.tex + pdflatex -output-directory=./build/ src/*.tex + make clear-build-artifacts + +example: + pdflatex -output-directory=./build/ src/multiversum-xxx.tex + pdflatex -output-directory=./build/ src/multiversum-xxx.tex + make clear-build-artifacts + +clear-build-artifacts: + rm build/*.log + rm build/*.aux + rm build/*.out + +clean: + rm build/* diff --git a/Readme.md b/Readme.md index 888b6a7..dca1749 100644 --- a/Readme.md +++ b/Readme.md @@ -1,8 +1,7 @@ # Prerequisites Install: -- xelatex -- latexmk -- Fonts from https://github.com/adobe-fonts, in particular ```source-serif-pro```, ```source-sans-pro``` and ```source-code-pro``` (in the "non-variable font" release). On a Linux system, you will likely want to use the OTF files. That's about 38 font variations, so using a font manager is advised. +- pdflatex +- (optional) latexmk # New Issue @@ -12,18 +11,17 @@ cp src/multiversum-xxx.tex src/multiversum-.tex ``` # Build -Run +Run 2-3 times ``` -latexmk src/.tex +pdflatex src/.tex ``` -to compile, where `````` is the issue. +to compile, where `````` is the issue. Run until all hyperrefs & page sizes are correct (basically, until nothing changes anymore). The result will be in the ```build/``` folder. -If you have an older version of latexmk (for example, if you are running version 4.41), you may need to run +Alternatively, that can be done by running this just once (be aware that latexmk might be depricated and could stop working at some point): ``` -latexmk -xelatex src/.tex +latexmk src/.tex ``` -instead. # Cleanup Run diff --git a/header/Ueberschrift_new_logo.pdf b/header/Ueberschrift_new_logo.pdf new file mode 100644 index 0000000..74d37f4 Binary files /dev/null and b/header/Ueberschrift_new_logo.pdf differ diff --git a/header/Ueberschrift_new_logo.svg b/header/Ueberschrift_new_logo.svg new file mode 100644 index 0000000..8a6a0d9 --- /dev/null +++ b/header/Ueberschrift_new_logo.svg @@ -0,0 +1,8033 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + /> + + Mitteilungen aus fernen Welten + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + RPG + Aachen + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/multiversumeasy.cls b/multiversumeasy.cls new file mode 100644 index 0000000..93502a5 --- /dev/null +++ b/multiversumeasy.cls @@ -0,0 +1,224 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{multiversumeasy}[2026/02/07 RPG Librarium Multiversum easy use] + +%%% Derive from class: Memoir +% http://texdoc.net/texmf-dist/doc/latex/memoir/memman.pdf +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{memoir}} +\ProcessOptions\relax +\LoadClass[a4paper,10pt,oneside,twocolumn,article]{memoir} +%%% + +%%% Cross-References, Links and PDF-Metadata +\RequirePackage{hyperref} +\urlstyle{sf} +%%% + +%%% Memoir Class Page formatting +% Compute a suitable line width. +\setlxvchars \setxlvchars +% type block size: +\settypeblocksize{700pt}{1.6\lxvchars}{*} +% type block at the center of the page: +\setlrmargins{*}{*}{1} +\setulmargins{*}{*}{1} +% separator between two columns, no rule: +\setcolsepandrule{0.5cm}{0pt} +% header and footer height: +\setheadfoot{2\onelineskip}{2\onelineskip} +% note margin width and separator: +\setmarginnotes{17pt}{3.5cm}{\onelineskip} +% save changes and fix the layout: +\checkandfixthelayout +% empty page layout (no header, no footer) +\pagestyle{empty} +%%% + +%%% Spacing +% Floatings +\setlength{\textfloatsep}{10pt} +% Lists, Enumerations, Itemize +% tight spacing +\tightlists +%%% + +%%% Font +% Eurpopean Computer Modern (standard font) +\RequirePackage[T1]{fontenc} +%%% + +%%% Colors +\PassOptionsToPackage{table}{xcolor} +\RequirePackage{xcolor} +%%% + +%%% Divisions +% Section Style +\setbeforesecskip{-.5em} +\newcommand{\ruledsec}[1]{% + \LARGE\scshape\centering #1 \rule{\linewidth}{0.4pt}\noindent} +\setsecheadstyle{\ruledsec} +\setaftersecskip{.5em} +% Subsection Style +\setsubsecheadstyle{\Large\normalfont\raggedright} +% Paragraph Style +\setparaheadstyle{\bfseries} +% Disable numbering +\setsecnumdepth{part} +% include subsections in PDF bookmarks +\setcounter{tocdepth}{2} +%%% + +%%% Language +\PassOptionsToPackage{ngerman,english}{babel} +\RequirePackage{babel} +\PassOptionsToPackage{german=quotes}{csquotes} +\RequirePackage{csquotes} +%%% + +%%% Figures +\RequirePackage{graphicx} +%%% + +%%% Date Format +\PassOptionsToPackage{ngerman}{datetime} +\RequirePackage[ngerman]{datetime} +\newdateformat{monthyear}{\monthname[\THEMONTH] \THEYEAR} +%%% + +%%% Licensing +\PassOptionsToPackage{% + type={CC}, + modifier={by-nc-sa}, + version={4.0} +}{doclicense} +\RequirePackage{doclicense} +\RequirePackage{rotating} +\RequirePackage{wrapfig,ragged2e} +%%% + +%%% Commands +\newcommand\multiauthor[1]{\renewcommand\@multiauthor{#1}} +\newcommand\@multiauthor{\@latex@error{No \noexpand\multiauthor given}\@ehc} + +\newcommand\multidate[1]{\renewcommand\@multidate{#1}} +\newcommand\@multidate{\@latex@error{No \noexpand\multidate given}\@ehc} + +\newcommand\multiausgabe[1]{\renewcommand\@multiausgabe{#1}} +\newcommand\@multiausgabe{\@latex@error{No \noexpand\multiausgabe given}\@ehc} + +\newcommand\multilosung[1]{\renewcommand\@multilosung{\expandafter\MakeUppercase\expandafter{#1}}} +\newcommand\@multilosung{\@latex@error{No \noexpand\multilosung given}\@ehc} + +% Defaults to Uberschrift.svg +\newcommand\multilogo[1]{\renewcommand\@multilogo{header/#1}} +\newcommand\@multilogo{header/Ueberschrift_new_logo} +%%% + +%%% Macros +% Title: +% Use this command to set a nice looking title. +% first argument: number, e.g. 15 +% second argument: losung, e.g. Die Kuh lief um den Teich. +% +\newcommand{\makemultititle}{ +\hypersetup{ + pdftitle = {Multiversum Ausgabe Nr. \@multiausgabe}, + pdfsubject = {RPG Librarium Aachen e.V.}, + pdfauthor = {\@multiauthor}, + pdfcreator = {pdflatex}, + hidelinks, +} + +\author{\@multiauthor} +\date{\@multidate} +\title{Multiversum Ausgabe Nr. \@multiausgabe} + +\twocolumn[ + \vspace*{-5em} + {Ausgabe Nr. \@multiausgabe} \hfill {\@multidate}\\ + {\includegraphics[width=\linewidth]{\@multilogo}}% + {\centering + \hrule\vspace{\onelineskip} + \@multilosung + \vspace{\onelineskip}\hrule + \vspace{\onelineskip} + }\vspace*{2em} +] +} +% +% Impressum +% +\newcommand{\impressumRaw}{% + \begin{Spacing}{0.5} + \tiny + {\RaggedRight + \begin{wrapfigure}{R}{.3cm} + \vspace*{-.55cm} + \hspace*{-.3cm} + \begin{sideways} + \doclicenseImage[imagewidth=1.5cm] + \end{sideways} + \end{wrapfigure} + Disclaimer \& Impressum: Teile des Inhalts sind rein fiktional; Ähnlichkeiten mit realen Personen und Begebenheiten sind zufällig und nicht beabsichtigt. + % \smallskip + V.i.S.d.P. Hanna Franzen, RPG Librarium Aachen e.V. (VR 5440), + Kontakt: Postfach 101632, 52016 Aachen, \href{mailto:multiversum@rpg-librarium.de}{multiversum@rpg-librarium.de} \\ + % \smallskip + \doclicenseText + \par} + \end{Spacing} +} + +\newcommand{\impressum}{% + \begin{figure}[!b] + \impressumRaw + \end{figure} +} + +% Title +% Use this command at the end of each file for nice looking dates. One item +% per date. +% +\newenvironment{termine}{% + \vfill + \begin{figure}[!b] + \begin{framed} + \textbf{Nächste Termine:} \par + \begin{itemize} +}{% + \end{itemize} + \end{framed} + \vspace*{-2.55em} % Removes unnecessary spacing after the framed environment. + \vspace{0.6em} % Keeps space to text, if not at the bottom of the page. + \end{figure} +} +% + +% Author-Mark +\newcommand{\verfasser}[2][]{% +\par{\raggedleft{}{\itshape \mbox{#2}% +\ifx\relax#1\relax% +\else% +~(\mbox{#1})% +\fi% +}\par}} + +\newcommand{\verfasserembed}[2][]{% +\hfill{\itshape \mbox{#2}% +\ifx\relax#1\relax% +\else% +~(\mbox{#1})% +\fi% +}} +% + +% Annonce-Mark +\newcommand{\zeichen}[1]{% + \par{\raggedleft{}Zeichen: \MakeUppercase{#1}\par}% +} +% + +\newcommand{\zeitung}[1]{% + \par{\raggedleft{}\itshape{}#1\par}\noindent% +}% +%%% diff --git a/src/multiversum-xxx.tex b/src/multiversum-xxx.tex index 7a8ab41..98d1373 100644 --- a/src/multiversum-xxx.tex +++ b/src/multiversum-xxx.tex @@ -1,5 +1,4 @@ -% !TeX TS-program = xelatex -% !TEX root = main.tex +% !TeX TS-program = pdflatex % How to: % @@ -7,7 +6,7 @@ % Load class with all definitions. Do not remove this line. % Options will be passed to Memoir -\documentclass[final]{multiversum} +\documentclass[]{multiversumeasy} % %%% @@ -43,11 +42,19 @@ \makemultititle % +% \verfasser vs. \verfasserembed: +% \verfasser: set to right side of next line +% \verfasserembed: set to the right of last line if possible, otherwise to the left of the next line +% Style guide: +% The author is to be set to the right side. +% If there is space in the last line, use \verfasserembed. If there is no space, use \verfasser +% If the edition has a bit too much vertical space at the end, \verfasser may be used for all articles. + % PUT BODY HERE \section{Was bisher geschah...} \subsection{Workshop: ABC} -Lorem Ipsum +Lorem Ipsum, Text endet an Zeilenende. lalala \verfasser{Autor1} \subsection{In der Redaktion} @@ -58,11 +65,11 @@ \section{An einem anderen Ort} \subsection{Titel 1} Lorem Ipsum -\verfasser{Autor2} +\verfasserembed[System]{Autor2} \subsection{Titel 2} -Lorem Ipsum, Text endet an Zeilenende. -\Verfasser[System]{Autor2} +Lorem Ipsum, Text endet an Zeilenende. lalala +\verfasserembed[System]{Autor2} \begin{termine} diff --git a/src/multiversum-xxx_classic.tex b/src/multiversum-xxx_classic.tex new file mode 100644 index 0000000..7a8ab41 --- /dev/null +++ b/src/multiversum-xxx_classic.tex @@ -0,0 +1,76 @@ +% !TeX TS-program = xelatex +% !TEX root = main.tex + +% How to: +% + + +% Load class with all definitions. Do not remove this line. +% Options will be passed to Memoir +\documentclass[final]{multiversum} +% + +%%% +% Set those variables + +% Authors of the document. +% e.g. Max Mustermann, Erika Musterfrau +\multiauthor{} + +% Date of release. +% e.g. 31.12.2074 +\multidate{} + +% Number of release, no leading zeros. +% e.g. 15 +\multiausgabe{} + +% Losung +% e.g. Die Kuh lief um den Teig. +\multilosung{} + + +% Logo +% Use a different logo. Defaults to Ueberschrift.svg +%\multilogo{Ueberschrift_xmas} + +% +%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DOCUMENT %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{document} + +\makemultititle +% + +% PUT BODY HERE +\section{Was bisher geschah...} + +\subsection{Workshop: ABC} +Lorem Ipsum +\verfasser{Autor1} + +\subsection{In der Redaktion} +Lorem Ipsum +\verfasser{Redaktion} + +\section{An einem anderen Ort} + +\subsection{Titel 1} +Lorem Ipsum +\verfasser{Autor2} + +\subsection{Titel 2} +Lorem Ipsum, Text endet an Zeilenende. +\Verfasser[System]{Autor2} + + +\begin{termine} +% Put dates here: +\item Termin: Termin: DD.MM.YY, hh Uhr + \item Termin: DD.MM.YY - DD.MM.YY +\end{termine} +\impressum + +\end{document} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% END DOCUMENT %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%