texlive[51127] Master: pdfarticle (14may19)

commits+karl at tug.org commits+karl at tug.org
Tue May 14 23:42:47 CEST 2019


Revision: 51127
          http://tug.org/svn/texlive?view=revision&revision=51127
Author:   karl
Date:     2019-05-14 23:42:47 +0200 (Tue, 14 May 2019)
Log Message:
-----------
pdfarticle (14may19)

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

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/lualatex/pdfarticle/
    trunk/Master/texmf-dist/doc/lualatex/pdfarticle/README
    trunk/Master/texmf-dist/doc/lualatex/pdfarticle/pdfArticle.pdf
    trunk/Master/texmf-dist/doc/lualatex/pdfarticle/pdfArticle.tex
    trunk/Master/texmf-dist/tex/lualatex/pdfarticle/
    trunk/Master/texmf-dist/tex/lualatex/pdfarticle/pdfArticle.cls
    trunk/Master/tlpkg/tlpsrc/pdfarticle.tlpsrc

Added: trunk/Master/texmf-dist/doc/lualatex/pdfarticle/README
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/pdfarticle/README	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/pdfarticle/README	2019-05-14 21:42:47 UTC (rev 51127)
@@ -0,0 +1,6 @@
+pdfArticle is simple document class dedicated
+for creating pdf documents with LuaLaTeX.
+
+Copyright (C) 2015-2019, Robert Ryszard Paciorek <rrp at opcode.eu.org>
+
+This is free software distributed under terms of The MIT License.


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

Index: trunk/Master/texmf-dist/doc/lualatex/pdfarticle/pdfArticle.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/pdfarticle/pdfArticle.pdf	2019-05-14 21:41:53 UTC (rev 51126)
+++ trunk/Master/texmf-dist/doc/lualatex/pdfarticle/pdfArticle.pdf	2019-05-14 21:42:47 UTC (rev 51127)

Property changes on: trunk/Master/texmf-dist/doc/lualatex/pdfarticle/pdfArticle.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/pdfarticle/pdfArticle.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/pdfarticle/pdfArticle.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/pdfarticle/pdfArticle.tex	2019-05-14 21:42:47 UTC (rev 51127)
@@ -0,0 +1,125 @@
+% Copyright (c) 2015-2019 Robert Ryszard Paciorek <rrp at opcode.eu.org>
+% 
+% MIT License
+% 
+% Permission is hereby granted, free of charge, to any person obtaining a copy
+% of this software and associated documentation files (the "Software"), to deal
+% in the Software without restriction, including without limitation the rights
+% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+% copies of the Software, and to permit persons to whom the Software is
+% furnished to do so, subject to the following conditions:
+% 
+% The above copyright notice and this permission notice shall be included in all
+% copies or substantial portions of the Software.
+% 
+% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+% SOFTWARE.
+
+\documentclass[ fontSize=10pt, ]{pdfArticle}
+
+
+\title {Features of \texttt{pdfArticle} document class}
+\author{Robert Ryszard Paciorek <rrp at opcode.eu.org>}
+\date  {2019-05-05}
+
+\makeatletter\hypersetup{
+	pdftitle = {\@title},
+	pdfauthor = {\@author}
+}\makeatother
+
+\setstretch{1.0} \setlength{\parindent}{0pt} \setlength{\parskip}{2pt}
+
+\usepackage{titling}
+\renewcommand{\maketitlehooka}{\vspace{-44pt}}
+\renewcommand{\maketitlehookb}{\vspace{-14pt}}
+\renewcommand{\maketitlehookd}{\vspace{-13pt}}
+\renewcommand{\maketitlehookd}{\vspace{-12pt}}
+
+\usepackage{hologo}
+\newcommand{\pkgLink}[1]{\texttt{\href{https://ctan.org/pkg/#1}{#1}}}
+
+\begin{document}
+
+\maketitle\thispagestyle{empty}
+
+Document class \texttt{pdfArticle} is simple document class dedicated for creating pdf documents with \hologo{LuaLaTeX}.
+This class:
+\begin{itemize}
+\item Use \texttt{extarticle} (from \pkgLink{extsizes}) as base document class (for support wide range of base font sizes).
+\item Require and configure \pkgLink{fontspec} package, that enable support for Unicode Open Type fonts.
+      Configure default document \textrm{sherif}, \textsf{sans} and \texttt{mono} fonts via \texttt{fontspec} according to class options.
+      By default use \textit{Latin Modern} fonts with support for \textsc{small caps} in sherif and mono fonts.
+\item Require and configure \pkgLink{graphicx} and \pkgLink{graphbox} packages (for including graphics).
+      Set file extensions for search graphics files to \texttt{.mp, .pdf, .png, .jpg, .jpeg} (in this order -- first \hologo{METAPOST}, last JPEG) and default image resolution to \texttt{imgResolution} class atribute (default 150).
+\item Require \pkgLink{xcolor} (for foreground and background colors) and \pkgLink{fifo-stack} packages and configure colours stack (you can use it with \Verb$\FSPush{colors}$, \Verb$\FSPop{colors}$ and \Verb$\FSTop{colors}$ commands).
+\item Require \pkgLink{hyperref} package (for internal and external links in pdfs) and configure color external (url) link as blue and internal (\Verb$\ref{}$) links as color from top of colours stack.
+      More setting (eg. set PDF title, author, etc) can be do via \Verb$\hypersetup{}$ command.
+\item Require \pkgLink{geometry} package and configure page gemetry (paper size, orientation and marings) according to class options. By default use portrait A4 paper.
+\item Provide \Verb$\forceNewPageGeometry$ commad for enforce new page geometry (like \Verb$\newgeometry$, but allow change paper size too).
+\item Require \pkgLink{fancyvrb} and \pkgLink{fvextra} (for good verbatim enviromet with line breaking, line numbering, titles, frames, etc).
+      Redefine standard \Verb$verbatim$ enviromet and \Verb$\verb$ commad to using fancyvrb. Allow break long lines on spaces, \Verb$/$ or \Verb$-$, set $\hookrightarrow$ as post break marker.
+\item Require \pkgLink{ulem}, \pkgLink{contour} and \pkgLink{shadowtext} (for text decorations).
+\item Is incompatible with \texttt{sout} package,
+      because define own \Verb$\ul[color]{text}$, \Verb$\st[color]{text}$ and \Verb$\hl[color]{text}$ commands (based on \texttt{ulem} package)
+      for \ul[blue]{underline}, \st[red]{strike out} and \hl[yellow]{highlight} text with selected color.
+\item Require \pkgLink{enumitem} (for better enumerate, itemize and description environments).
+\item Redefine \Verb$\alph$ and \Verb$\Alph$ with \pkgLink{alphalph} package (for converting big numbers to letters as \Verb[breaklines=true]$a, b, ..., x, y, z, aa, ab, ac, ..., az, ba, ..., zz, aaa, ...$).
+\item Require \pkgLink{pbox} and \pkgLink{varwidth} (for vertical box with automatic minimal width).
+\item Require \pkgLink{overpic} (for putting \hologo{LaTeXTeX} stuff on images).
+\item Require \pkgLink{wrapfig} (for wraping text around images).
+\item Require \pkgLink{array} and \pkgLink{dcolumn} (for useful extentions for tables).
+\item Require \pkgLink{tabto} (for tabbing to fixed positions).
+\item Require \pkgLink{ragged2e} (for \Verb$justify$ environment and configurable \Verb$Center$, \Verb$FlushLeft$, \Verb$FlushRight$).
+\item Require \pkgLink{changepage} (for changes margins via \Verb$adjustwidth$ environment).
+\item Require \pkgLink{setspace} (for setting line stretch -- global and via \Verb$spacing$ environment).
+\item Require \pkgLink{amsmath} and \pkgLink{unicode-math} (for better math with Unicode Open Type fonts).
+\item Require \pkgLink{adjustbox} (for scaling, rotating, clipping, etc boxes).
+\item Only when \Verb$extra$ option was given require: \pkgLink{minted} (code highlight), \pkgLink{tcolorbox} (nice framed boxes).
+\end{itemize}
+
+\clearpage
+Class can be simple used by: \Verb$\documentclass{pdfArticle}$. Below is example of class usage with all avalible options, all options in this example are set to default values:
+\begin{Verbatim}[xleftmargin=5mm]
+\documentclass[
+	fontSize=12pt,
+	
+	mainFont={Latin Modern Roman},
+	mainFontFeat={
+		UprightFeatures = { SmallCapsFont={ lmromancaps10regular } },
+		ItalicFeatures  = { SmallCapsFont={ lmromancaps10oblique } },
+		SlantedFont     = lmromanslant10regular,
+		BoldSlantedFont = lmromanslant10bold,
+		Ligatures=TeX
+	},
+	sansFont={Latin Modern Sans},
+	sansFontFeat={
+		Ligatures=TeX
+	},
+	monoFont={Latin Modern Mono},
+	monoFontFeat={
+		UprightFeatures = { SmallCapsFont={ lmmonocaps10regular } },
+		ItalicFont      = lmmono10italic,
+		ItalicFeatures  = { SmallCapsFont={ lmmonocaps10oblique } },
+		SlantedFont     = lmmonoslant10regular
+	},
+	
+	paperSize=a4paper, paperMode=portrait, twoside=true,
+	tmargin=2.2cm, bmargin=2.5cm, lmargin=2.2cm, rmargin=2.2cm,
+	
+	imgResolution=150, extra=false
+]{pdfArticle}
+\end{Verbatim}
+
+It's also possible load some packages (or do other things) right before load \texttt{hyperref} package (after load all other packages) via \Verb$\pdfArticlePreHyperRef$:
+\begin{Verbatim}[xleftmargin=5mm]
+\newcommand\pdfArticlePreHyperRef{
+% stuff to do before load hyperref
+}
+\documentclass{pdfArticle}
+\end{Verbatim}
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/pdfarticle/pdfArticle.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/lualatex/pdfarticle/pdfArticle.cls
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/pdfarticle/pdfArticle.cls	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/lualatex/pdfarticle/pdfArticle.cls	2019-05-14 21:42:47 UTC (rev 51127)
@@ -0,0 +1,162 @@
+% Copyright (c) 2015-2019 Robert Ryszard Paciorek <rrp at opcode.eu.org>
+% 
+% MIT License
+% 
+% Permission is hereby granted, free of charge, to any person obtaining a copy
+% of this software and associated documentation files (the "Software"), to deal
+% in the Software without restriction, including without limitation the rights
+% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+% copies of the Software, and to permit persons to whom the Software is
+% furnished to do so, subject to the following conditions:
+% 
+% The above copyright notice and this permission notice shall be included in all
+% copies or substantial portions of the Software.
+% 
+% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+% SOFTWARE.
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{pdfArticle}[2019/05/01 v1.0 simple class for creating PDF documents with LuaLaTeX]
+
+\RequirePackage{kvoptions} % key=value option for class ... use also by hyperref, so zero overhead
+	\SetupKeyvalOptions{family=KVP, prefix=KVP@} % KVP = Key Val Parameters
+	
+	% Fonts settings
+	\DeclareStringOption[11pt]                         {fontSize}       % base size of font (8pt, 9pt, 10pt, 11pt, 12pt, 14pt, 17pt, or 20pt with extarticle document class)
+	\DeclareStringOption[
+		UprightFeatures = { SmallCapsFont={ lmromancaps10regular } },
+		ItalicFeatures  = { SmallCapsFont={ lmromancaps10oblique } },
+		SlantedFont     = lmromanslant10regular,
+		BoldSlantedFont = lmromanslant10bold,
+		Ligatures=TeX
+	]                                                  {mainFontFeat}   % features settings for mainFont
+	\DeclareStringOption[Latin Modern Roman]           {mainFont}       % document default main (serif) fornt
+	\DeclareStringOption[
+		Ligatures=TeX
+	]                                                  {sansFontFeat}   % features settings for sansFont
+	\DeclareStringOption[Latin Modern Sans]            {sansFont}       % document default main sans-serif fornt
+	\DeclareStringOption[
+		UprightFeatures = { SmallCapsFont={ lmmonocaps10regular } },
+		ItalicFont      = lmmono10italic,
+		ItalicFeatures  = { SmallCapsFont={ lmmonocaps10oblique } },
+		SlantedFont     = lmmonoslant10regular
+	]                                                  {monoFontFeat}   % features settings for monoFont
+	\DeclareStringOption[Latin Modern Mono Light]      {monoFont}       % document default main mono-space fornt
+	
+	% Paper settings
+	\DeclareStringOption[a4paper]    {paperSize}      % paper size
+	\DeclareStringOption[portrait]   {paperMode}      % paper orientation: portrait lub landscape
+	\DeclareStringOption[2.2cm]      {tmargin}        % top margin size
+	\DeclareStringOption[2.5cm]      {bmargin}        % bottom margin size
+	\DeclareStringOption[2.2cm]      {lmargin}        % left margin size
+	\DeclareStringOption[2.2cm]      {rmargin}        % right margin size
+	\DeclareBoolOption  [true]       {twoside}        % two side mode (switch left/right margin size): true lub false
+	
+	% Other settings
+	\DeclareStringOption[150]        {imgResolution}  % default resolution (ppi) for raster images inserted into PDF files (override by file header info)
+	\DeclareBoolOption  [false]      {extra}          % enable load extra package set
+	
+	\ProcessKeyvalOptions*
+
+% disable automatic convert eps -> pdf
+\def\DoNotLoadEpstopdf{\relax}
+
+% use extarticle as base class
+\LoadClass[\KVP at fontSize]{extarticle}
+
+% advanced fonts for LuaLaTeX
+\RequirePackage{fontspec}
+	\defaultfontfeatures[\rmfamily,\sffamily, \ttfamily]{}
+	\setmainfont{\KVP at mainFont}[\KVP at mainFontFeat]
+	\setsansfont{\KVP at sansFont}[\KVP at sansFontFeat]
+	\setmonofont{\KVP at monoFont}[\KVP at monoFontFeat]
+
+% insert images, with extended key=value interface ... set some defaults
+\RequirePackage{graphicx, graphbox}
+	\DeclareGraphicsExtensions{.mp, .pdf, .png, .jpg, .jpeg}
+	\pdfvariable imageresolution \KVP at imgResolution
+
+% foreground and background colours ... use stack of colors
+\RequirePackage{xcolor, fifo-stack}
+	\FSCreate{colors}{black}
+
+% page size and settings
+\RequirePackage{geometry}
+	\geometry{
+		\KVP at paperSize, \KVP at paperMode,
+		tmargin=\KVP at tmargin, bmargin=\KVP at bmargin, lmargin=\KVP at lmargin, rmargin=\KVP at rmargin
+	}
+	\ifKVP at twoside \geometry{twoside=true} \else \geometry{twoside=false} \fi
+
+% command for enforce new page geometry inside document, in contrast to \newgeometry:
+%  * allow chage paper size and orientation (only pdf output)
+%  * don't reset current settings (but allow modifies it)
+\newcommand{\forceNewPageGeometry}[1]{%
+	\clearpage%
+	\Gm at clean\setkeys{Gm}{#1}\Gm at process%
+	\eject \pagewidth=\paperwidth \pageheight=\paperheight%
+	\Gm at changelayout%
+	\ifdefined\headwidth\headwidth=\textwidth\fi%
+}
+
+% better verbatim environment ... replace standard verbatim environment by fancyvrb package
+\RequirePackage{fancyvrb, fvextra}
+	\DefineVerbatimEnvironment{verbatim}{Verbatim}{}
+	\let\verb\Verb
+	\fvset{breaklines=true, breakafter={/-}, breakaftersymbolpre={}, breakaftersymbolpost={\tiny\ensuremath{\ \hookrightarrow\ }}}
+
+ % text decorations (under line, striking out, highlight, contours, shadows, ...)
+\RequirePackage[normalem]{ulem}
+	\newcommand{\ul}[1][blue]{\bgroup\markoverwith{\textcolor{#1}{\rule[-0.6ex]{2pt}{0.17ex}}}\ULon}
+	\newcommand{\st}[1][red]{\bgroup\markoverwith{\textcolor{#1}{\rule[0.5ex]{2pt}{0.25ex}}}\ULon}
+	\newcommand{\hl}[1][yellow]{\bgroup\markoverwith{\textcolor{#1}{\rule[-0.6ex]{1.02pt}{2.7ex}}}\ULon}
+\RequirePackage{contour, shadowtext}
+
+% items lists
+\RequirePackage{enumitem} % better enumerate, itemize and description environments
+\RequirePackage{alphalph} % use display counters as letters with support for big numbers (as: ... x, y, z, aa, ab, ac, ...)
+	\let\alph\relax \def\alph#1{\alphalph{\value{#1}}}
+	\let\Alph\relax \def\Alph#1{\AlphAlph{\value{#1}}}
+
+% other useful stuff ...
+\RequirePackage{pbox,varwidth} % vertical box with automatic minimal width
+\RequirePackage{overpic} % put LaTeX stuff on images
+\RequirePackage{wrapfig} % wrapfigure and wraptable environments for wraping text around images, tables, etc
+\RequirePackage{array,dcolumn} % extentions for tables
+\RequirePackage{tabto}  % tabbing to fixed positions
+\RequirePackage{changepage} % for adjustwidth environment
+\RequirePackage{ragged2e} % \justifying command, justify environment and alternative left, center and right ragged text 
+\RequirePackage{setspace} % set line stretch with \setstretch{} command (it's more powerful way than \linespread{}\selectfont or manualy set \baselineskip)
+\RequirePackage{amsmath,unicode-math} % math with unicode open-type fonts
+\RequirePackage{adjustbox} % scale, clip, rotate, etc boxes
+
+\ifKVP at extra
+	\typeout{Document class "pdfArticle" starting to load "EXTRA" packages ...}\typeout{}
+	\RequirePackage{minted}  % nice code highlight (use minted insted of listings, due to encoding problems in listings)
+	% \ifnum\pdf at shellescape=1 \RequirePackage{minted} \else \typeout{}\typeout{Warning: No -shell-escape, so DO NOT use minted package.} \fi
+	\RequirePackage[many,vignette,minted,magazine,poster,external]{tcolorbox} % nice framed boxes
+\fi
+
+% if \pdfArticlePreHyperRef is defined run it before load hyperref, but after load all other packages
+% (for loading packages and do other stuff than should be do before load hyperref)
+\ifdefined\pdfArticlePreHyperRef\pdfArticlePreHyperRef\fi
+
+% internal and external links ... use curent color from stack for refernces
+\RequirePackage[unicode=true, colorlinks=true, linkcolor=black, urlcolor=blue]{hyperref}
+	\let\oldref\ref
+	\AtBeginDocument{\renewcommand\ref[1]{\hyperref[#1]{\color{\FSTop{colors}}\oldref*{#1}}}}
+
+% create label with explicit provided name; usage: \namedLabel{label}{name}
+\newcommand\namedLabel[2]{\begingroup%
+	\let\@currentlabel\@currentlabelx%
+	\def\@currentlabel{#2}%
+	\label{#1}%
+	\let\@currentlabelx\@currentlabel%
+\endgroup}
+
+\typeout{Loading document class "pdfArticle" completed!}\typeout{}


Property changes on: trunk/Master/texmf-dist/tex/lualatex/pdfarticle/pdfArticle.cls
___________________________________________________________________
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	2019-05-14 21:41:53 UTC (rev 51126)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2019-05-14 21:42:47 UTC (rev 51127)
@@ -514,7 +514,7 @@
     patch patchcmd patgen2-tutorial path pauldoc pawpict pax
     pbibtex-base pbox pb-diagram pbsheet
     pdf14
-    pdf-trans pdfbook2 pdfcomment pdfcprot pdfcrop pdfjam
+    pdf-trans pdfarticle pdfbook2 pdfcomment pdfcprot pdfcrop pdfjam
     pdflatexpicscale pdfmarginpar pdfoverlay
     pdfpagediff pdfpages pdfpc-movie pdfprivacy pdfreview
     pdfscreen pdfslide pdfsync

Modified: trunk/Master/tlpkg/tlpsrc/collection-luatex.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-luatex.tlpsrc	2019-05-14 21:41:53 UTC (rev 51126)
+++ trunk/Master/tlpkg/tlpsrc/collection-luatex.tlpsrc	2019-05-14 21:42:47 UTC (rev 51127)
@@ -40,6 +40,7 @@
 depend luaxml
 depend nodetree
 depend odsfile
+depend pdfarticle
 depend placeat
 depend plantuml
 depend selnolig

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


More information about the tex-live-commits mailing list