Cleaned up the repo and fixed some bugs.
@@ -0,0 +1,59 @@
|
||||
\documentclass[10pt]{article}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage{microtype}
|
||||
\usepackage[dutch]{babel}
|
||||
\usepackage{newspaper}
|
||||
\usepackage[letterpaper,left=36pt,right=36pt,top=0.55in,bottom=36pt,headheight=40pt,headsep=12pt]{geometry}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{tikz}
|
||||
\usepackage[export]{adjustbox}
|
||||
\usepackage{calc}
|
||||
\usepackage{newtxtext}
|
||||
|
||||
\date{\today}
|
||||
\currentvolume{1}
|
||||
\currentissue{1}
|
||||
\SetPaperName{Proo{s:}tenKrant}
|
||||
\SetHeaderName{ProostenKrant}
|
||||
\SetPaperLocation{Regio Kempen}
|
||||
\SetPaperSlogan{``Een krant van en voor Proosten.''}
|
||||
\SetPaperPrice{NUL EURO}
|
||||
|
||||
\newcommand{\blocksep}{\par\nointerlineskip\vspace{11pt}\noindent{\rule{\linewidth}{0.4pt}}\par\vspace{11pt}}
|
||||
\newcommand{\colrule}{\hfill{\vrule width 0.3pt}\hfill}
|
||||
\begin{document}
|
||||
\maketitle
|
||||
\noindent\textbf{\LARGE Editie: Herfst}\par
|
||||
\vspace{8pt}
|
||||
|
||||
\expandafter\newsavebox\csname blk1W\endcsname
|
||||
\expandafter\savebox\csname blk1W\endcsname{\parbox{356.0pt}{{\noindent{\LARGE\itshape De Proostenkrant is back baby!!!}\par
|
||||
\vspace{3pt}{\footnotesize\scshape 9 oktober 2026 --- Douwe}\par
|
||||
\vspace{6pt}\noindent
|
||||
\begin{minipage}[t]{0.63\linewidth}
|
||||
\vspace*{0pt}Whoehoe! We voelde allemaal dat er iets miste in ons leven de laatste tijd. Sommige dachten dat dat een McDonalds in Schoonbroek was, andere dachten dat ze gewoon naar de andere kant van de wereld moesten reizen voor onbepaalde duur, maar gelukkig weet ik echt wat er mist. De 4 jaarlijkse editie van de ProostenKrant. Met men eigen server-infrastructuur ter Turnhout kan ik nu lekker gemakkelijk zelf de ProostenKrant website hosten en kunnen jullie allemaal nog gemakkelijker artikels indienen. Dus aan allen der Proosten, verdeel en rapporteer u!\par
|
||||
\end{minipage}
|
||||
\hfill
|
||||
\begin{minipage}[t]{0.34\linewidth}
|
||||
\vspace*{0pt}\setlength{\fboxsep}{3pt}\framebox{\includegraphics[max width=\dimexpr\linewidth-2\fboxsep-2\fboxrule\relax,max height=0.26\textheight,keepaspectratio]{/app/wwwroot/resources/images/articles/05568e0b_ScreenshotFrom20261009133307.png}}\par
|
||||
\end{minipage}
|
||||
\par\vspace{6pt}\centering\begin{minipage}[c]{103.0pt}\centering\begin{tikzpicture}\clip (0,0) circle (44.5pt);\node at (0,0) {\includegraphics[width=89.0pt,height=89.0pt,keepaspectratio]{/app/wwwroot/resources/images/profiles/Douwe.jpg}};\end{tikzpicture}\par\vspace{2pt}{\footnotesize Douwe}\end{minipage}\par
|
||||
}
|
||||
}}
|
||||
|
||||
\noindent
|
||||
\begin{minipage}[t]{356.0pt}
|
||||
\expandafter\usebox\csname blk1W\endcsname\par\vspace{14pt}
|
||||
\noindent
|
||||
\begin{minipage}[t]{172.0pt}
|
||||
\vspace*{0pt}
|
||||
\end{minipage}\colrule
|
||||
\begin{minipage}[t]{172.0pt}
|
||||
\vspace*{0pt}
|
||||
\end{minipage}
|
||||
\end{minipage}\colrule
|
||||
\begin{minipage}[t]{172.0pt}
|
||||
\vspace*{0pt}
|
||||
\end{minipage}
|
||||
\end{document}
|
||||
|
After Width: | Height: | Size: 339 KiB |
|
After Width: | Height: | Size: 53 KiB |
|
After Width: | Height: | Size: 156 KiB |
|
After Width: | Height: | Size: 124 KiB |
|
After Width: | Height: | Size: 733 KiB |
|
After Width: | Height: | Size: 168 KiB |
|
After Width: | Height: | Size: 482 KiB |
|
After Width: | Height: | Size: 52 KiB |
|
After Width: | Height: | Size: 63 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 6.5 KiB |
|
After Width: | Height: | Size: 118 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 71 KiB |
|
After Width: | Height: | Size: 745 KiB |
|
After Width: | Height: | Size: 269 KiB |
|
After Width: | Height: | Size: 97 KiB |
|
After Width: | Height: | Size: 12 KiB |
@@ -0,0 +1,54 @@
|
||||
\documentclass{article}
|
||||
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage{microtype}
|
||||
|
||||
\usepackage{newspaper}
|
||||
|
||||
\usepackage[dutch]{babel}
|
||||
|
||||
\date{\today}
|
||||
\currentvolume{1}
|
||||
\currentissue{1}
|
||||
|
||||
%% The banner headline on the first page
|
||||
%% (The colon after s: is to get a more
|
||||
%% modern majuscule s in this font instead of
|
||||
%% the medieval tall s.
|
||||
\SetPaperName{Proo{s:}tenKrant}
|
||||
|
||||
%% The name used in the running header after
|
||||
%% the first page
|
||||
\SetHeaderName{ProostenKrant}
|
||||
|
||||
%% and also...
|
||||
\SetPaperLocation{Regio Kempen}
|
||||
\SetPaperSlogan{``Een krant van en voor Proosten.''}
|
||||
\SetPaperPrice{NUL EURO}
|
||||
|
||||
\usepackage{graphicx}
|
||||
\usepackage{tikz}
|
||||
\usepackage{multicol}
|
||||
\usepackage{geometry}
|
||||
\usepackage{array}
|
||||
\usepackage{wrapfig}
|
||||
\usepackage{lipsum}
|
||||
\usepackage{newtxtext,newtxmath}
|
||||
\usepackage{etoolbox}
|
||||
|
||||
% Custom styling for better image handling
|
||||
\input{newspaper-mod}
|
||||
|
||||
%%%%%%%%% Front matter %%%%%%%%%%
|
||||
|
||||
\begin{document}
|
||||
\maketitle
|
||||
|
||||
\begin{multicols}{3}
|
||||
|
||||
% Articles will be inserted here by the PHP generator
|
||||
|
||||
\newpage
|
||||
\end{multicols}
|
||||
\end{document}
|
||||
@@ -0,0 +1,119 @@
|
||||
% Improved newspaper-mod.sty for ProostenKrant
|
||||
% Better image handling for different formats and sizes
|
||||
|
||||
\newcommand{\headlinestyle}{\itshape\huge}
|
||||
\newcommand{\bylinestyle}{\scshape\Large}
|
||||
\patchcmd{\headline}{#1}{\headlinestyle #1}{}{}
|
||||
\patchcmd{\byline}{#1}{\bylinestyle #1}{}{}
|
||||
|
||||
% Improved image commands with better handling of different aspect ratios
|
||||
|
||||
% Show inline image with caption (automatically handles landscape and portrait)
|
||||
\newcommand{\showInlineImage}[2]
|
||||
{
|
||||
\\\n \hspace*{0pt}% Ensure proper spacing
|
||||
\vspace*{10pt}% Add space before image
|
||||
\begin{center}
|
||||
\begin{minipage}{0.95\columnwidth}
|
||||
\centering
|
||||
% Use max dimensions that fit in column
|
||||
\setlength{\fboxsep}{5pt}
|
||||
\framebox{
|
||||
% Check image dimensions and scale appropriately
|
||||
\includegraphics[max width=\linewidth, max height=0.6\textheight, keepaspectratio]{#1}
|
||||
}
|
||||
\vspace*{5pt}
|
||||
{\small #2}
|
||||
\end{minipage}
|
||||
\end{center}
|
||||
\vspace*{10pt}% Add space after image
|
||||
\par
|
||||
}
|
||||
|
||||
% Show single writer with circular profile image
|
||||
\newcommand{\showOneWriter}[2]
|
||||
{
|
||||
\\\n \hfill
|
||||
\begin{minipage}[t]{0.4\columnwidth}
|
||||
\centering
|
||||
\begin{tikzpicture}
|
||||
% Circular clip for profile image
|
||||
\clip (0,0) circle (1.3cm);
|
||||
% Use square aspect ratio and scale to fit
|
||||
\node[anchor=center] at (0,0) {
|
||||
\includegraphics[width=2.8cm, height=2.8cm, keepaspectratio]{#1}
|
||||
};
|
||||
\end{tikzpicture}
|
||||
\vspace*{5pt}
|
||||
{\small #2}
|
||||
\end{minipage}
|
||||
\hfill
|
||||
\\\n}
|
||||
|
||||
% Show two writers with circular profile images
|
||||
\newcommand{\showTwoWriters}[4]
|
||||
{
|
||||
\\\n \begin{center}
|
||||
\begin{minipage}[t]{0.8\columnwidth}
|
||||
\centering
|
||||
\begin{tikzpicture}
|
||||
\clip (0,0) circle (1.1cm);
|
||||
\node[anchor=west] at (0,0) {
|
||||
\includegraphics[width=2.4cm, height=2.4cm, keepaspectratio]{#1}
|
||||
};
|
||||
\end{tikzpicture}
|
||||
\hspace*{15pt}
|
||||
\begin{tikzpicture}
|
||||
\clip (0,0) circle (1.1cm);
|
||||
\node[anchor=east] at (0,0) {
|
||||
\includegraphics[width=2.4cm, height=2.4cm, keepaspectratio]{#3}
|
||||
};
|
||||
\end{tikzpicture}
|
||||
\vspace*{8pt}
|
||||
{\small #2 \\quad #4}
|
||||
\end{minipage}
|
||||
\end{center}
|
||||
\\\n}
|
||||
|
||||
% Alternative commands for different layouts
|
||||
|
||||
% For portrait images - maintains aspect ratio
|
||||
\newcommand{\showPortraitImage}[2]
|
||||
{
|
||||
\\\n \begin{minipage}[t]{0.45\columnwidth}
|
||||
\centering
|
||||
\begin{tikzpicture}
|
||||
% For portrait images, use vertical layout
|
||||
\clip (0,-1.5cm) rectangle (2cm,1.5cm);
|
||||
\node[anchor=center] at (1cm,0) {
|
||||
\includegraphics[height=3cm, keepaspectratio]{#1}
|
||||
};
|
||||
\end{tikzpicture}
|
||||
\vspace*{5pt}
|
||||
{\small #2}
|
||||
\end{minipage}
|
||||
\\\n}
|
||||
|
||||
% For landscape images - maintains aspect ratio
|
||||
\newcommand{\showLandscapeImage}[2]
|
||||
{
|
||||
\\\n \begin{minipage}[t]{\columnwidth}
|
||||
\centering
|
||||
% For landscape images, use full width
|
||||
\includegraphics[width=\linewidth, height=0.4\textheight, keepaspectratio]{#1}
|
||||
\vspace*{5pt}
|
||||
{\small #2}
|
||||
\end{minipage}
|
||||
\\\n}
|
||||
|
||||
% Flexible image wrapper that automatically handles different orientations
|
||||
\newcommand{\showFlexibleImage}[2]
|
||||
{
|
||||
% First, we need to check the image dimensions
|
||||
% This requires the epstopdf package and shell-escape
|
||||
\IfFileExists{#1}{
|
||||
% Image exists, try to determine orientation
|
||||
% For now, we'll use a balanced approach that works for both
|
||||
\showInlineImage{#1}{#2}
|
||||
}{}
|
||||
}
|
||||