texlive[47893] Master: postage (31may18)

commits+karl at tug.org commits+karl at tug.org
Thu May 31 23:53:24 CEST 2018


Revision: 47893
          http://tug.org/svn/texlive?view=revision&revision=47893
Author:   karl
Date:     2018-05-31 23:53:23 +0200 (Thu, 31 May 2018)
Log Message:
-----------
postage (31may18)

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/postage/
    trunk/Master/texmf-dist/doc/latex/postage/README.txt
    trunk/Master/texmf-dist/doc/latex/postage/postage.pdf
    trunk/Master/texmf-dist/doc/latex/postage/sample-stamps.pdf
    trunk/Master/texmf-dist/source/latex/postage/
    trunk/Master/texmf-dist/source/latex/postage/postage.dtx
    trunk/Master/texmf-dist/source/latex/postage/postage.ins
    trunk/Master/texmf-dist/tex/latex/postage/
    trunk/Master/texmf-dist/tex/latex/postage/postage.sty
    trunk/Master/tlpkg/tlpsrc/postage.tlpsrc

Added: trunk/Master/texmf-dist/doc/latex/postage/README.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/postage/README.txt	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/postage/README.txt	2018-05-31 21:53:23 UTC (rev 47893)
@@ -0,0 +1,8 @@
+----------------------------------------------------------------
+postage --- Franking letters with »Deutsche Post«'s online postage service »Internetmarke«
+E-mail: heinrich at heinrichreimer.com
+Released under the LaTeX Project Public License v1.3c or later
+See http://www.latex-project.org/lppl.txt
+----------------------------------------------------------------
+
+Franking letters with »Deutsche Post«'s online postage service »Internetmarke«.


Property changes on: trunk/Master/texmf-dist/doc/latex/postage/README.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/postage/postage.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/postage/postage.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/postage/postage.pdf	2018-05-31 21:52:21 UTC (rev 47892)
+++ trunk/Master/texmf-dist/doc/latex/postage/postage.pdf	2018-05-31 21:53:23 UTC (rev 47893)

Property changes on: trunk/Master/texmf-dist/doc/latex/postage/postage.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/postage/sample-stamps.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/postage/sample-stamps.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/postage/sample-stamps.pdf	2018-05-31 21:52:21 UTC (rev 47892)
+++ trunk/Master/texmf-dist/doc/latex/postage/sample-stamps.pdf	2018-05-31 21:53:23 UTC (rev 47893)

Property changes on: trunk/Master/texmf-dist/doc/latex/postage/sample-stamps.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/source/latex/postage/postage.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/postage/postage.dtx	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/postage/postage.dtx	2018-05-31 21:53:23 UTC (rev 47893)
@@ -0,0 +1,569 @@
+% \iffalse meta-comment
+% !TEX program  = pdfLaTeX
+%<*internal>
+\iffalse
+%</internal>
+%<*readme>
+----------------------------------------------------------------
+postage --- Franking letters with »Deutsche Post«'s online postage service »Internetmarke«
+E-mail: heinrich at heinrichreimer.com
+Released under the LaTeX Project Public License v1.3c or later
+See http://www.latex-project.org/lppl.txt
+----------------------------------------------------------------
+
+Franking letters with »Deutsche Post«'s online postage service »Internetmarke«.
+%</readme>
+%<*internal>
+\fi
+\def\nameofplainTeX{plain}
+\ifx\fmtname\nameofplainTeX\else
+  \expandafter\begingroup
+\fi
+%</internal>
+%<*install>
+\input docstrip.tex
+\keepsilent
+\askforoverwritefalse
+\preamble
+----------------------------------------------------------------
+postage --- Franking letters with »Deutsche Post«'s online postage service »Internetmarke«
+E-mail: heinrich at heinrichreimer.com
+Released under the LaTeX Project Public License v1.3c or later
+See http://www.latex-project.org/lppl.txt
+----------------------------------------------------------------
+
+\endpreamble
+\postamble
+
+Copyright (C) 2018 by Jan Heinrich Reimer <heinrich at heinrichreimer.com>
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License (LPPL), either
+version 1.3c of this license or (at your option) any later
+version.  The latest version of this license is in the file:
+
+http://www.latex-project.org/lppl.txt
+
+This work is "maintained" (as per LPPL maintenance status) by
+Jan Heinrich Reimer.
+
+This work consists of the file  postage.dtx
+and the derived files           postage.ins,
+                                postage.pdf and
+                                postage.sty.
+
+\endpostamble
+\usedir{tex/latex/postage}
+\generate{
+  \file{\jobname.sty}{\from{\jobname.dtx}{package}}
+}
+%</install>
+%<install>\endbatchfile
+%<*internal>
+\usedir{source/latex/postage}
+\generate{
+  \file{\jobname.ins}{\from{\jobname.dtx}{install}}
+}
+\nopreamble\nopostamble
+\usedir{doc/latex/postage}
+\generate{
+  \file{README.txt}{\from{\jobname.dtx}{readme}}
+}
+\ifx\fmtname\nameofplainTeX
+  \expandafter\endbatchfile
+\else
+  \expandafter\endgroup
+\fi
+%</internal>
+%<*package>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{postage}[2018/05/29 v1.0 Franking letters with »Deutsche Post«'s online postage service »Internetmarke«]
+
+\RequirePackage{graphicx}
+\RequirePackage{tikz}
+\RequirePackage{calc}
+\RequirePackage{keyval}
+%</package>
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage[a4paper,top=3cm,bottom=3cm,left=5cm,right=3cm]{geometry}
+\usepackage[english]{babel} 
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage[default,regular,bold]{sourceserifpro}
+\usepackage[semibold]{sourcesanspro}
+\usepackage{sourcecodepro}
+\usepackage{\jobname}
+\usepackage[numbered]{hypdoc}
+\usepackage{hyperref}
+\usepackage{xcolor}
+\usepackage{titlesec}
+\usepackage{listings}
+\usepackage{float}
+\hypersetup{
+    colorlinks = false,
+}
+\lstset{
+    language=TeX,
+    basicstyle=\ttfamily,
+    breakatwhitespace=false,
+    breaklines=true,
+    prebreak={\mbox{$\hookleftarrow$}},
+    numbers=left,
+    numberstyle=\scriptsize,
+    numbersep=1pt,
+    % commentstyle=\color{lscomment},
+    keepspaces=true,
+    % keywordstyle=\bfseries\color{lskeyword},
+    stringstyle=\color{lsstring},
+    tabsize=4,
+    xleftmargin=1em,
+}
+\titleformat{\section}{\sf\LARGE\bfseries}{\thesection}{1em}{}
+\titleformat{\subsection}{\sf\Large\bfseries}{\thesubsection}{1em}{}
+\titleformat{\subsubsection}{\sf\large\bfseries}{\thesubsubsection}{1em}{}
+\setlength{\parindent}{0pt}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+  \DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+%\GetFileInfo{\jobname.sty}
+%
+%\title{\sf\fontseries{sb}^^A
+%   The \textbf{postage} package^^A
+%   \footnote{This document describes version \fileversion, last revised \filedate.}^^A
+%}
+%\author{\sf ^^A
+%   Jan Heinrich Reimer^^A
+%   \footnote{Address: Barfüßerstraße 7, 06108 Halle (Saale), Germany} \\
+%   \texttt{\small heinrich at heinrichreimer.com}^^A
+%}
+%\date{\sf^^A
+%    Released \filedate
+%}
+%
+%\maketitle
+%
+%\tableofcontents
+%
+%\section{Introduction}
+%
+%   The \textsf{postage} package is used for franking letters 
+%   with \frqq Deutsche Post\flqq's 
+%   online postage service \frqq Internetmarke\flqq.
+%
+%\changes{v1.0}{2018/05/29}{First public release}
+%
+%\section{Usage}
+%
+%\subsection{Requirements}
+%
+%    Note that in order to print valid stamps 
+%    the \marg{file} argument of any of this package's commands 
+%    \emph{must} point to a valid PDF 
+%    of \frqq Deutsche Post\flqq's \frqq Ausdruck 4-spaltig (DIN A4)\flqq{} format.^^A
+%    \footnote{See also section \ref{outlook}.}
+%
+%\subsection{Commands}
+%
+%\addcontentsline{toc}{subsection}{\cs{includestamp}}\label{sec:includestamp}
+%\DescribeMacro{\includestamp}
+%    The \cs{includestamp}\oarg{options}\marg{file} command loads a single stamp 
+%    from the file spceified in its mandatory \marg{file} argument
+%    and draws it on the page.
+%    The additional \hyperref[sec:includestamp:options]{\oarg{options}} can be used to
+%    specify the stamps position in the \marg{file} 
+%    and the stamp's appearance.
+%
+%\subsubsection*{Options \oarg{options}}\label{sec:includestamp:options}
+%
+%\DescribeMacro{style=$\langle$normal$\vert$compact$\rangle$}
+%    The stamp's appearance; may either be \texttt{normal} or \texttt{compact}.
+%
+%\DescribeMacro{normal}
+%    Set the stamp's appearance to \texttt{normal}. Same as \texttt{style=normal}.
+%
+%\DescribeMacro{compact}
+%    Set the stamp's appearance to \texttt{compact}. Same as \texttt{style=compact}.
+%
+%\DescribeMacro{page=$\langle$1\textellipsis$\rangle$}
+%    The stamp's page from which to copy the stamp from the stamps PDF file. Pages count from 1.
+%
+%\DescribeMacro{row=$\langle$1\textellipsis8$\rangle$}
+%    The stamp's row on the page. Rows count from 1 to 8.
+%
+%\DescribeMacro{column=$\langle$1\textellipsis4$\rangle$}
+%    The stamp's column on the page. Rows count from 1 to 4.
+%
+%\subsubsection*{Example}
+%
+%    The following code generates figure \ref{fig:sample:1}:
+%    \iffalse
+%<*example>
+%    \fi
+\begin{lstlisting}[language=tex]
+\includestamp{sample-stamps}
+\end{lstlisting}
+%    \iffalse
+%<*example>
+%    \fi
+%    or
+%    \iffalse
+%</example>
+%    \fi
+\begin{lstlisting}[language=tex]
+\includestamp[page=1,row=1,column=1,normal]{sample-stamps}
+\end{lstlisting}
+%    \iffalse
+%</example>
+%    \fi
+%
+%    \begin{figure}[H]
+%        \centering
+%        \includestamp{sample-stamps}%
+%        \quad%
+%        \frame{\includestamp{sample-stamps}}
+%        \caption{A normal-sized stamp (taken from \frqq Deutsche Post\flqq's sample PDF).}\label{fig:sample:1}
+%    \end{figure}
+%
+%    The following code generates figure \ref{fig:sample:2}:
+%    \iffalse
+%<*example>
+%    \fi
+\begin{lstlisting}[language=tex]
+\includestamp[compact]{sample-stamps}
+\end{lstlisting}
+%    \iffalse
+%</example>
+%    \fi
+%    or
+%    \iffalse
+%<*example>
+%    \fi
+\begin{lstlisting}[language=tex]
+\includestamp[row=1,column=1,style=normal]{sample-stamps}
+\end{lstlisting}
+%    \iffalse
+%</example>
+%    \fi
+%
+%    \begin{figure}[H]
+%        \centering
+%        \includestamp[compact]{sample-stamps}%
+%        \quad%
+%        \frame{\includestamp[compact]{sample-stamps}}
+%        \caption{The same stamp in its compact representation.}\label{fig:sample:2}
+%    \end{figure}
+%
+%\iffalse
+%<*package>
+%\fi
+%
+%\section{Implementation}
+%
+%\subsection{Initialization}
+%
+%\subsubsection{Options}
+%
+%    Define the stamp's display styles, the default display style 
+%    and the according command options 
+%    \texttt{style}, \texttt{compact} and \texttt{normal}.
+%    \begin{macrocode}
+\def\postage at stamp@style at normal{normal}
+\def\postage at stamp@style at compact{compact}
+\let\postage at current@stamp at style\postage at stamp@style at normal
+\define at key{postage}{style}{%
+    \def\postage at current@stamp at style{#1}%
+}
+\define at key{postage}{compact}[true]{%
+    \let\postage at current@stamp at style\postage at stamp@style at compact%
+}
+\define at key{postage}{normal}[true]{%
+    \let\postage at current@stamp at style\postage at stamp@style at compact%
+}
+%    \end{macrocode}
+%
+%    Define the stamp's page, row and column 
+%    on the \frqq Internetmarke\flqq{} PDF,
+%    their defaults and the according command options 
+%    \texttt{page}, \texttt{row} and \texttt{column}.
+%    \begin{macrocode}
+\def\postage at current@stamp at page{1}
+\def\postage at current@stamp at row{1}
+\def\postage at current@stamp at column{1}
+\define at key{postage}{page}{%
+    \def\postage at current@stamp at page{#1}%
+}
+\define at key{postage}{row}{%
+    \def\postage at current@stamp at row{#1}%
+}
+\define at key{postage}{column}{%
+    \def\postage at current@stamp at column{#1}%
+}
+%    \end{macrocode}
+%
+%\subsubsection{Lengths}
+%
+%    Create the lengths describing the stamp's 
+%    position, height and width on the PDF page
+%    as well as each stamp's parts relative to 
+%    the stamp's position.
+%    \begin{macrocode}
+\newlength{\postage at page@width}
+\newlength{\postage at page@height}
+\newlength{\postage at grid@width}
+\newlength{\postage at grid@height}
+\newlength{\postage at grid@x}
+\newlength{\postage at grid@y}
+\newlength{\postage at stamp@content at width}
+\newlength{\postage at stamp@content at height}
+\newlength{\postage at stamp@content at x}
+\newlength{\postage at stamp@content at y}
+\newlength{\postage at stamp@barcode at width}
+\newlength{\postage at stamp@barcode at height}
+\newlength{\postage at stamp@barcode at x}
+\newlength{\postage at stamp@barcode at y}
+\newlength{\postage at stamp@barcode at text@width}
+\newlength{\postage at stamp@logo at width}
+\newlength{\postage at stamp@logo at height}
+\newlength{\postage at stamp@logo at x}
+\newlength{\postage at stamp@logo at y}
+%    \end{macrocode}
+%
+%    Save the lengths describing 
+%    \frqq Deutsche Post\flqq's \frqq Internetmarke\flqq
+%    in its \frqq Ausdruck 4-spaltig (DIN A4)\flqq{} format.
+%    All measurments below have been taken 
+%    from \frqq Deutsche Post\flqq's 
+%    official sample PDF using the Inkscape vector editor
+%    with a precision of $\pm$0.0005mm
+%    \begin{macrocode}
+\setlength{\postage at page@width}{209.99979mm}
+\setlength{\postage at page@height}{296.99973mm}
+\setlength{\postage at grid@width}{40mm}
+\setlength{\postage at grid@height}{32.999mm}
+\setlength{\postage at grid@x}{22.5mm}
+\setlength{\postage at grid@y}{14.05473mm}
+\setlength{\postage at stamp@content at width}{31.639mm}
+\setlength{\postage at stamp@content at height}{22.473mm}
+\setlength{\postage at stamp@content at x}{3.024mm}
+\setlength{\postage at stamp@content at y}{2.855mm}
+\setlength{\postage at stamp@barcode at width}{30.862mm}
+\setlength{\postage at stamp@barcode at height}{11.01mm}
+\setlength{\postage at stamp@barcode at x}{3.009mm}
+\setlength{\postage at stamp@barcode at y}{11.029mm}
+\setlength{\postage at stamp@barcode at text@width}{15.732mm}
+\setlength{\postage at stamp@logo at width}{31.639mm}
+\setlength{\postage at stamp@logo at height}{5.282mm}
+\setlength{\postage at stamp@logo at x}{3.024mm}
+\setlength{\postage at stamp@logo at y}{2.855mm}
+%    \end{macrocode}
+%
+%    Create temporary lengths that are calculated individually 
+%    for each stamp.
+%    \begin{macrocode}
+\newlength{\postage at current@stamp at x}
+\newlength{\postage at current@stamp at y}
+\newlength{\postage at current@stamp at trim@left}
+\newlength{\postage at current@stamp at trim@bottom}
+\newlength{\postage at current@stamp at trim@right}
+\newlength{\postage at current@stamp at trim@top}
+%    \end{macrocode}
+%
+%\subsection{Calculating position}
+%
+%\begin{macro}{\postage at calculate@current at stamp@position}
+%    Calculate the current stamp's position on the page 
+%    based on its \texttt{row} 
+%    and \texttt{column} options.
+%    \begin{macrocode}
+\newcommand{\postage at calculate@current at stamp@position}{
+    \setlength{\postage at current@stamp at x}{
+        \postage at grid@x + 
+        \postage at grid@width * 
+        (\postage at current@stamp at column - 1)
+    }%
+    \setlength{\postage at current@stamp at y}{
+        \postage at grid@y + 
+        \postage at grid@height *  
+        (\postage at current@stamp at row - 1)
+    }%
+}
+%    \end{macrocode}
+%\end{macro}
+%
+%\subsection{Drawing}
+%
+%\begin{macro}{\postage at draw@current at stamp@part}
+%    Draw a part of the current stamp whose trim offsets 
+%    were previously calculated using \cs{postage at calculate@current at stamp@position}.
+%    \begin{macrocode}
+\newcommand{\postage at draw@current at stamp@part}[1][]{%
+    \includegraphics[page=\postage at current@stamp at page, trim={
+        {1\postage at current@stamp at trim@left}
+        {1\postage at current@stamp at trim@bottom}
+        {1\postage at current@stamp at trim@right}
+        {1\postage at current@stamp at trim@top}
+    }, clip, #1]{\postage at current@stamp at file}%
+}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\postage at draw@current at stamp@content}
+%    Draw the current stamp's whole content trimming whitespace around it.
+%    \begin{macrocode}
+\newcommand{\postage at draw@current at stamp@content}{%
+    \setlength{\postage at current@stamp at trim@top}{
+        \postage at current@stamp at y + 
+        \postage at stamp@content at y
+    }%
+    \setlength{\postage at current@stamp at trim@left}{
+        \postage at current@stamp at x + 
+        \postage at stamp@content at x
+    }%
+    \setlength{\postage at current@stamp at trim@bottom}{
+        \postage at page@height - 
+        \postage at current@stamp at trim@top -
+        \postage at stamp@content at height
+    }%
+    \setlength{\postage at current@stamp at trim@right}{
+        \postage at page@width - 
+        \postage at current@stamp at trim@left - 
+        \postage at stamp@content at width
+    }%
+    \postage at draw@current at stamp@part%
+}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\postage at draw@current at stamp@barcode}
+%    Draw only the current stamp's barcode (and the included number code).
+%    \begin{macrocode}
+\newcommand{\postage at draw@current at stamp@barcode}{%
+    \setlength{\postage at current@stamp at trim@top}{
+        \postage at current@stamp at y + 
+        \postage at stamp@barcode at y
+    }%
+    \setlength{\postage at current@stamp at trim@left}{
+        \postage at current@stamp at x + 
+        \postage at stamp@barcode at x
+    }%
+    \setlength{\postage at current@stamp at trim@bottom}{
+        \postage at page@height - 
+        \postage at current@stamp at trim@top - 
+        \postage at stamp@barcode at height}%
+    \setlength{\postage at current@stamp at trim@right}{
+        \postage at page@width - 
+        \postage at current@stamp at trim@left - 
+        \postage at stamp@barcode at width
+    }%
+    \postage at draw@current at stamp@part%
+}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\postage at draw@current at stamp@logo}
+%    Draw only the current stamp's \frqq Deutsche Post\flqq{} logo.
+%    \begin{macrocode}
+\newcommand{\postage at draw@current at stamp@logo}{%
+    \setlength{\postage at current@stamp at trim@top}{
+        \postage at current@stamp at y + 
+        \postage at stamp@logo at y
+    }%
+    \setlength{\postage at current@stamp at trim@left}{
+        \postage at current@stamp at x + 
+        \postage at stamp@logo at x
+    }%
+    \setlength{\postage at current@stamp at trim@bottom}{
+        \postage at page@height - 
+        \postage at current@stamp at trim@top - 
+        \postage at stamp@logo at height
+    }%
+    \setlength{\postage at current@stamp at trim@right}{
+        \postage at page@width - 
+        \postage at current@stamp at trim@left - 
+        \postage at stamp@logo at width
+    }%
+    \postage at draw@current at stamp@part[%
+        width={1\postage at stamp@barcode at text@width}
+    ]%
+}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\postage at draw@current at stamp@style at compact}
+%    Draw the current stamp's compact representation. 
+%    This will print a scaled-down version of the 
+%    \frqq Deutsche Post\flqq{} logo in the upper-right corner
+%    of the barcode and trim the big logo 
+%    and \frqq Internetmarke\flqq{} URL instead.
+%    \begin{macrocode}
+\newcommand{\postage at draw@current at stamp@style at compact}{%
+    \begin{tikzpicture}
+    \node[anchor=north east, inner sep=0] at (0,0) 
+    {\postage at draw@current at stamp@barcode};
+    \node[anchor=north east, inner sep=0] at (0,0) 
+    {\postage at draw@current at stamp@logo};
+    \end{tikzpicture}%
+}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\postage at draw@current at stamp@style at normal}
+%    Draw the current stamp's whole content 
+%    including the big \frqq Deutsche Post\flqq{} logo
+%    and \frqq Internetmarke\flqq{} URL, 
+%    yet trimming whitespace around it.
+%    \begin{macrocode}
+\newcommand{\postage at draw@current at stamp@style at normal}{%
+    \postage at draw@current at stamp@content%
+}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\includestamp}
+%    See the \hyperref[sec:includestamp]{usage documentation}.
+%    \begin{macrocode}
+\newcommand{\includestamp}[2][]{%
+    \setkeys{postage}{#1}%
+    \def\postage at current@stamp at file{#2}%
+    \postage at calculate@current at stamp@position%
+    %
+    \ifx\postage at current@stamp at style\postage at stamp@style at compact%
+    \postage at draw@current at stamp@style at compact%
+    \else%
+    \postage at draw@current at stamp@style at normal%
+    \fi%
+}
+%    \end{macrocode}
+%\end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\section{Outlook}\label{outlook}
+%
+%    In future this library may be extended 
+%    to other postage service (potentially outside Germany).
+%    Then a \texttt{service} option could be set up to decide 
+%    which format to use.
+%
+%    Speaking of formats one could also think about implementing 
+%    \frqq Deutsche Post\flqq's \frqq Ausdruck 3-spaltig (DIN A4)\flqq{} format
+%    to support more stamp types such as enrolls and/or mail tracking,
+%    which at the time of writing this package aren't supported in
+%    the \frqq Deutsche Post\flqq's \frqq Internetmarke\flqq{}
+%    in \frqq Ausdruck 4-spaltig (DIN A4)\flqq{} format.
+%
+%\StopEventually{^^A
+%    \PrintChanges
+%    \PrintIndex
+%}
+%
+%\Finale
+\endinput


Property changes on: trunk/Master/texmf-dist/source/latex/postage/postage.dtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/source/latex/postage/postage.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/postage/postage.ins	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/postage/postage.ins	2018-05-31 21:53:23 UTC (rev 47893)
@@ -0,0 +1,71 @@
+%%
+%% This is file `postage.ins',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% postage.dtx  (with options: `install')
+%% ----------------------------------------------------------------
+%% postage --- Franking letters with »Deutsche Post«'s online postage service »Internetmarke«
+%% E-mail: heinrich at heinrichreimer.com
+%% Released under the LaTeX Project Public License v1.3c or later
+%% See http://www.latex-project.org/lppl.txt
+%% ----------------------------------------------------------------
+%% 
+\input docstrip.tex
+\keepsilent
+\askforoverwritefalse
+\preamble
+----------------------------------------------------------------
+postage --- Franking letters with »Deutsche Post«'s online postage service »Internetmarke«
+E-mail: heinrich at heinrichreimer.com
+Released under the LaTeX Project Public License v1.3c or later
+See http://www.latex-project.org/lppl.txt
+----------------------------------------------------------------
+
+\endpreamble
+\postamble
+
+Copyright (C) 2018 by Jan Heinrich Reimer <heinrich at heinrichreimer.com>
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License (LPPL), either
+version 1.3c of this license or (at your option) any later
+version.  The latest version of this license is in the file:
+
+http://www.latex-project.org/lppl.txt
+
+This work is "maintained" (as per LPPL maintenance status) by
+Jan Heinrich Reimer.
+
+This work consists of the file  postage.dtx
+and the derived files           postage.ins,
+                                postage.pdf and
+                                postage.sty.
+
+\endpostamble
+\usedir{tex/latex/postage}
+\generate{
+  \file{\jobname.sty}{\from{\jobname.dtx}{package}}
+}
+\endbatchfile
+%% 
+%% Copyright (C) 2018 by Jan Heinrich Reimer <heinrich at heinrichreimer.com>
+%% 
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License (LPPL), either
+%% version 1.3c of this license or (at your option) any later
+%% version.  The latest version of this license is in the file:
+%% 
+%% http://www.latex-project.org/lppl.txt
+%% 
+%% This work is "maintained" (as per LPPL maintenance status) by
+%% Jan Heinrich Reimer.
+%% 
+%% This work consists of the file  postage.dtx
+%% and the derived files           postage.ins,
+%%                                 postage.pdf and
+%%                                 postage.sty.
+%% 
+%%
+%% End of file `postage.ins'.

Added: trunk/Master/texmf-dist/tex/latex/postage/postage.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/postage/postage.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/postage/postage.sty	2018-05-31 21:53:23 UTC (rev 47893)
@@ -0,0 +1,215 @@
+%%
+%% This is file `postage.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% postage.dtx  (with options: `package')
+%% ----------------------------------------------------------------
+%% postage --- Franking letters with »Deutsche Post«'s online postage service »Internetmarke«
+%% E-mail: heinrich at heinrichreimer.com
+%% Released under the LaTeX Project Public License v1.3c or later
+%% See http://www.latex-project.org/lppl.txt
+%% ----------------------------------------------------------------
+%% 
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{postage}[2018/05/29 v1.0 Franking letters with »Deutsche Post«'s online postage service »Internetmarke«]
+
+\RequirePackage{graphicx}
+\RequirePackage{tikz}
+\RequirePackage{calc}
+\RequirePackage{keyval}
+\def\postage at stamp@style at normal{normal}
+\def\postage at stamp@style at compact{compact}
+\let\postage at current@stamp at style\postage at stamp@style at normal
+\define at key{postage}{style}{%
+    \def\postage at current@stamp at style{#1}%
+}
+\define at key{postage}{compact}[true]{%
+    \let\postage at current@stamp at style\postage at stamp@style at compact%
+}
+\define at key{postage}{normal}[true]{%
+    \let\postage at current@stamp at style\postage at stamp@style at compact%
+}
+\def\postage at current@stamp at page{1}
+\def\postage at current@stamp at row{1}
+\def\postage at current@stamp at column{1}
+\define at key{postage}{page}{%
+    \def\postage at current@stamp at page{#1}%
+}
+\define at key{postage}{row}{%
+    \def\postage at current@stamp at row{#1}%
+}
+\define at key{postage}{column}{%
+    \def\postage at current@stamp at column{#1}%
+}
+\newlength{\postage at page@width}
+\newlength{\postage at page@height}
+\newlength{\postage at grid@width}
+\newlength{\postage at grid@height}
+\newlength{\postage at grid@x}
+\newlength{\postage at grid@y}
+\newlength{\postage at stamp@content at width}
+\newlength{\postage at stamp@content at height}
+\newlength{\postage at stamp@content at x}
+\newlength{\postage at stamp@content at y}
+\newlength{\postage at stamp@barcode at width}
+\newlength{\postage at stamp@barcode at height}
+\newlength{\postage at stamp@barcode at x}
+\newlength{\postage at stamp@barcode at y}
+\newlength{\postage at stamp@barcode at text@width}
+\newlength{\postage at stamp@logo at width}
+\newlength{\postage at stamp@logo at height}
+\newlength{\postage at stamp@logo at x}
+\newlength{\postage at stamp@logo at y}
+\setlength{\postage at page@width}{209.99979mm}
+\setlength{\postage at page@height}{296.99973mm}
+\setlength{\postage at grid@width}{40mm}
+\setlength{\postage at grid@height}{32.999mm}
+\setlength{\postage at grid@x}{22.5mm}
+\setlength{\postage at grid@y}{14.05473mm}
+\setlength{\postage at stamp@content at width}{31.639mm}
+\setlength{\postage at stamp@content at height}{22.473mm}
+\setlength{\postage at stamp@content at x}{3.024mm}
+\setlength{\postage at stamp@content at y}{2.855mm}
+\setlength{\postage at stamp@barcode at width}{30.862mm}
+\setlength{\postage at stamp@barcode at height}{11.01mm}
+\setlength{\postage at stamp@barcode at x}{3.009mm}
+\setlength{\postage at stamp@barcode at y}{11.029mm}
+\setlength{\postage at stamp@barcode at text@width}{15.732mm}
+\setlength{\postage at stamp@logo at width}{31.639mm}
+\setlength{\postage at stamp@logo at height}{5.282mm}
+\setlength{\postage at stamp@logo at x}{3.024mm}
+\setlength{\postage at stamp@logo at y}{2.855mm}
+\newlength{\postage at current@stamp at x}
+\newlength{\postage at current@stamp at y}
+\newlength{\postage at current@stamp at trim@left}
+\newlength{\postage at current@stamp at trim@bottom}
+\newlength{\postage at current@stamp at trim@right}
+\newlength{\postage at current@stamp at trim@top}
+\newcommand{\postage at calculate@current at stamp@position}{
+    \setlength{\postage at current@stamp at x}{
+        \postage at grid@x +
+        \postage at grid@width *
+        (\postage at current@stamp at column - 1)
+    }%
+    \setlength{\postage at current@stamp at y}{
+        \postage at grid@y +
+        \postage at grid@height *
+        (\postage at current@stamp at row - 1)
+    }%
+}
+\newcommand{\postage at draw@current at stamp@part}[1][]{%
+    \includegraphics[page=\postage at current@stamp at page, trim={
+        {1\postage at current@stamp at trim@left}
+        {1\postage at current@stamp at trim@bottom}
+        {1\postage at current@stamp at trim@right}
+        {1\postage at current@stamp at trim@top}
+    }, clip, #1]{\postage at current@stamp at file}%
+}
+\newcommand{\postage at draw@current at stamp@content}{%
+    \setlength{\postage at current@stamp at trim@top}{
+        \postage at current@stamp at y +
+        \postage at stamp@content at y
+    }%
+    \setlength{\postage at current@stamp at trim@left}{
+        \postage at current@stamp at x +
+        \postage at stamp@content at x
+    }%
+    \setlength{\postage at current@stamp at trim@bottom}{
+        \postage at page@height -
+        \postage at current@stamp at trim@top -
+        \postage at stamp@content at height
+    }%
+    \setlength{\postage at current@stamp at trim@right}{
+        \postage at page@width -
+        \postage at current@stamp at trim@left -
+        \postage at stamp@content at width
+    }%
+    \postage at draw@current at stamp@part%
+}
+\newcommand{\postage at draw@current at stamp@barcode}{%
+    \setlength{\postage at current@stamp at trim@top}{
+        \postage at current@stamp at y +
+        \postage at stamp@barcode at y
+    }%
+    \setlength{\postage at current@stamp at trim@left}{
+        \postage at current@stamp at x +
+        \postage at stamp@barcode at x
+    }%
+    \setlength{\postage at current@stamp at trim@bottom}{
+        \postage at page@height -
+        \postage at current@stamp at trim@top -
+        \postage at stamp@barcode at height}%
+    \setlength{\postage at current@stamp at trim@right}{
+        \postage at page@width -
+        \postage at current@stamp at trim@left -
+        \postage at stamp@barcode at width
+    }%
+    \postage at draw@current at stamp@part%
+}
+\newcommand{\postage at draw@current at stamp@logo}{%
+    \setlength{\postage at current@stamp at trim@top}{
+        \postage at current@stamp at y +
+        \postage at stamp@logo at y
+    }%
+    \setlength{\postage at current@stamp at trim@left}{
+        \postage at current@stamp at x +
+        \postage at stamp@logo at x
+    }%
+    \setlength{\postage at current@stamp at trim@bottom}{
+        \postage at page@height -
+        \postage at current@stamp at trim@top -
+        \postage at stamp@logo at height
+    }%
+    \setlength{\postage at current@stamp at trim@right}{
+        \postage at page@width -
+        \postage at current@stamp at trim@left -
+        \postage at stamp@logo at width
+    }%
+    \postage at draw@current at stamp@part[%
+        width={1\postage at stamp@barcode at text@width}
+    ]%
+}
+\newcommand{\postage at draw@current at stamp@style at compact}{%
+    \begin{tikzpicture}
+    \node[anchor=north east, inner sep=0] at (0,0)
+    {\postage at draw@current at stamp@barcode};
+    \node[anchor=north east, inner sep=0] at (0,0)
+    {\postage at draw@current at stamp@logo};
+    \end{tikzpicture}%
+}
+\newcommand{\postage at draw@current at stamp@style at normal}{%
+    \postage at draw@current at stamp@content%
+}
+\newcommand{\includestamp}[2][]{%
+    \setkeys{postage}{#1}%
+    \def\postage at current@stamp at file{#2}%
+    \postage at calculate@current at stamp@position%
+    %
+    \ifx\postage at current@stamp at style\postage at stamp@style at compact%
+    \postage at draw@current at stamp@style at compact%
+    \else%
+    \postage at draw@current at stamp@style at normal%
+    \fi%
+}
+%% 
+%% Copyright (C) 2018 by Jan Heinrich Reimer <heinrich at heinrichreimer.com>
+%% 
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License (LPPL), either
+%% version 1.3c of this license or (at your option) any later
+%% version.  The latest version of this license is in the file:
+%% 
+%% http://www.latex-project.org/lppl.txt
+%% 
+%% This work is "maintained" (as per LPPL maintenance status) by
+%% Jan Heinrich Reimer.
+%% 
+%% This work consists of the file  postage.dtx
+%% and the derived files           postage.ins,
+%%                                 postage.pdf and
+%%                                 postage.sty.
+%% 
+%%
+%% End of file `postage.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/postage/postage.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2018-05-31 21:52:21 UTC (rev 47892)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2018-05-31 21:53:23 UTC (rev 47893)
@@ -507,7 +507,7 @@
     plnfss plstmary plweb pm-isomath pmgraph pmx pmxchords pnas2009
     poemscol poetry poetrytex polexpr polski poltawski
     polyglossia polynom polynomial
-    polytable postcards poster-mac powerdot powerdot-FUBerlin
+    polytable postage postcards poster-mac powerdot powerdot-FUBerlin
     ppr-prv pracjourn preprint prerex present presentations presentations-en
     pressrelease prettyref preview prftree printlen proba probsoln procIAGssymp
     prodint productbox program

Modified: trunk/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc	2018-05-31 21:52:21 UTC (rev 47892)
+++ trunk/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc	2018-05-31 21:53:23 UTC (rev 47893)
@@ -106,6 +106,7 @@
 depend pinlabel
 depend pixelart
 depend pmgraph
+depend postage
 depend prerex
 depend productbox
 depend pxpgfmark

Added: trunk/Master/tlpkg/tlpsrc/postage.tlpsrc
===================================================================


More information about the tex-live-commits mailing list