summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/pixelart/CHANGELOG.md6
-rw-r--r--Master/texmf-dist/doc/latex/pixelart/pixelart.pdfbin148783 -> 152344 bytes
-rw-r--r--Master/texmf-dist/source/latex/pixelart/pixelart.dtx58
-rw-r--r--Master/texmf-dist/tex/latex/pixelart/pixelart.sty28
4 files changed, 64 insertions, 28 deletions
diff --git a/Master/texmf-dist/doc/latex/pixelart/CHANGELOG.md b/Master/texmf-dist/doc/latex/pixelart/CHANGELOG.md
index 18a56a43ab4..4a0fdfaee89 100644
--- a/Master/texmf-dist/doc/latex/pixelart/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/pixelart/CHANGELOG.md
@@ -1,3 +1,9 @@
+* pixelart 0.2.0 (2018-02-25)
+
+ * Add a `draft` package option.
+
+ -- Louis Paternault <spalax+ctan@gresille.org>
+
* pixelart 0.1.2 (2018-01-13)
* Fix bug: First line-break is now automatically ignored.
diff --git a/Master/texmf-dist/doc/latex/pixelart/pixelart.pdf b/Master/texmf-dist/doc/latex/pixelart/pixelart.pdf
index af4e7eeaba9..a651a085fe8 100644
--- a/Master/texmf-dist/doc/latex/pixelart/pixelart.pdf
+++ b/Master/texmf-dist/doc/latex/pixelart/pixelart.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/pixelart/pixelart.dtx b/Master/texmf-dist/source/latex/pixelart/pixelart.dtx
index 1f3e7396b85..472831348b4 100644
--- a/Master/texmf-dist/source/latex/pixelart/pixelart.dtx
+++ b/Master/texmf-dist/source/latex/pixelart/pixelart.dtx
@@ -25,7 +25,7 @@
%<package>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{pixelart}
%<*package>
- [2018/01/13 v0.1.2 A package to draw pixel-art pictures]
+ [2018/02/25 v0.2.0 A package to draw pixel-art pictures]
%</package>
%
%<*driver>
@@ -87,11 +87,12 @@
% \DoNotIndex{\@bwpa@newline}
% \DoNotIndex{\begin}
% \DoNotIndex{\coordinate}
-% \DoNotIndex{\end}
-% \DoNotIndex{\fill}
+% \DoNotIndex{\end, \else}
+% \DoNotIndex{\fill, \fi}
+% \DoNotIndex{\ifpixelart@draft}
% \DoNotIndex{\makeatletter, \makeatother}
-% \DoNotIndex{\newcommand}
-% \DoNotIndex{\pgfkeys, \pgfkeyssetvalue, \pgfkeysvalueof, \pgfparserdef, \pgfparserparse, \pgfparserswitch}
+% \DoNotIndex{\newcommand, \newif}
+% \DoNotIndex{\ProcessPgfPackageOptions, \pgfkeys, \pgfkeyssetvalue, \pgfkeysvalueof, \pgfparserdef, \pgfparserparse, \pgfparserswitch}
% \DoNotIndex{\raisebox, \RequirePackage}
% \DoNotIndex{\space}
% \DoNotIndex{\tikz}
@@ -177,8 +178,11 @@
% \label{sec:usage}
%
% \subsection{Package options}
+% \changes{v0.2.0}{2018/01/25}{Add package option \texttt{draft}.}
%
-% This package has no package options.
+% This package has a single package option: |draft|. If this option is set (\lstinline|\usepackage[draft]{pixelart}|), pixel-art pictures are ignored. This can make compilation \emph{way, way} faster\footnote{On a document I am writing, containing a lot of pixel-art pictures, option |draft| makes compilation time go from 6 minutes to 22 seconds.}.
+%
+% A downside is that since pixel-art pictures are ignored, this can mess up your document layout. A nicer option would be to have option |draft| guess the pixel-art size, and display a dummy picture with the same size. Patches are welcome! \smiley
%
% \subsection{Macros}
%
@@ -254,7 +258,7 @@
% \end{center}
% Its optional arguments are |color| and |scale|, used to set the color and scale of the picture.
%
-% Its first mandatory argument is the coordinate of the top left corner of the picture; the second one is the list of pixel (using the same syntax as teh |\bwpixelart| macro.
+% Its first mandatory argument is the coordinate of the top left corner of the picture; the second one is the list of pixels (using the same syntax as the |\bwpixelart| macro).
%
% For instance, this heart
%\begin{tikzpicture}[scale=.05, baseline=-1em]
@@ -316,12 +320,6 @@
%
% That's it. It takes alomst 30 seconds to compile a document containing only a $128\times128$ picture (about \numprint{16000} pixels). I have no idea how to fix it. Good luck.
%
-% \subsection{Package option \texttt{draft}}
-%
-% To (partially) fix the previous bug (slooooow), one could imaging adding a package option |draft|. With this option set, the pixel-art pictures would not be compiled, but would be replaced either by a dummy picture of an arbitrary size, or a dummy picture of the actual size of the picture, if an argument |size=(4, 5)| has been provided to the macro.
-%
-% This should not be that hard to implement. Patches welcome! \smiley{}
-%
% \subsection{Black and white}
%
% Right now, it is black and white only (or, to be more accurate, any single color on a transparent background).
@@ -514,6 +512,7 @@
% Load some packages.
% \begin{macrocode}
\RequirePackage{pgf}
+\RequirePackage{pgfopts}
\usepgfmodule{parser}
\RequirePackage{tikz}
\usetikzlibrary{calc}
@@ -529,6 +528,18 @@
% \end{macrocode}
%
+% Parse package options.
+%
+% \begin{macrocode}
+\newif\ifpixelart@draft
+\pgfkeys{
+ /PIXELART/.cd,
+ draft/.is if=pixelart@draft,
+ draft=false,
+}
+\ProcessPgfPackageOptions{/PIXELART}
+% \end{macrocode}
+%
% Define macro arguments
%
% \begin{macrocode}
@@ -584,6 +595,7 @@
% \end{macrocode}
%
% \begin{macro}{\bwpixelart}
+% \changes{v0.1.2}{2018/01/13}{First line-break of pixelart argument is now automatically ignored.}
% Define |\bwpixelart|, used to draw black-and-white pixelart.
% \begin{macrocode}
\newcommand{\bwpixelart}[2][]{{%
@@ -606,15 +618,19 @@
% \begin{macrocode}
\newcommand{\tikzbwpixelart}[3][]{
\pgfkeys{/PIXELART/TIKZBWPIXELART, #1}
- \begin{scope}[shift={#2}]
- \begin{scope}[#1]
- \coordinate (@pixelart) at (0, 1);
- \coordinate (@pixelart@startline) at (@pixelart);
+ \ifpixelart@draft
+ % Draft mode. Nothing to parse, nothing to show!
+ \else
+ \begin{scope}[shift={#2}]
+ \begin{scope}[#1]
+ \coordinate (@pixelart) at (0, 1);
+ \coordinate (@pixelart@startline) at (@pixelart);
- \pgfparserparse{@bwpixelart}
- #3 @
+ \pgfparserparse{@bwpixelart}
+ #3 @
+ \end{scope}
\end{scope}
- \end{scope}
+ \fi
}
% \end{macrocode}
@@ -625,6 +641,8 @@
% \end{macrocode}
% \end{macro}
%
+% \changes{v0.1.0}{2017/12/05}{First published version.}
+%
% \addcontentsline{toc}{section}{Change History}
% \PrintChanges
%
diff --git a/Master/texmf-dist/tex/latex/pixelart/pixelart.sty b/Master/texmf-dist/tex/latex/pixelart/pixelart.sty
index 229866d5146..ec702ee8036 100644
--- a/Master/texmf-dist/tex/latex/pixelart/pixelart.sty
+++ b/Master/texmf-dist/tex/latex/pixelart/pixelart.sty
@@ -23,9 +23,10 @@
%% and the derived file pixelart.sty.
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{pixelart}
- [2018/01/13 v0.1.2 A package to draw pixel-art pictures]
+ [2018/02/25 v0.2.0 A package to draw pixel-art pictures]
\RequirePackage{pgf}
+\RequirePackage{pgfopts}
\usepgfmodule{parser}
\RequirePackage{tikz}
\usetikzlibrary{calc}
@@ -34,6 +35,13 @@
\makeatletter
+\newif\ifpixelart@draft
+\pgfkeys{
+ /PIXELART/.cd,
+ draft/.is if=pixelart@draft,
+ draft=false,
+}
+\ProcessPgfPackageOptions{/PIXELART}
\pgfkeys{
/PIXELART/BWPIXELART/.is family,
/PIXELART/BWPIXELART,
@@ -93,15 +101,19 @@
\newcommand{\tikzbwpixelart}[3][]{
\pgfkeys{/PIXELART/TIKZBWPIXELART, #1}
- \begin{scope}[shift={#2}]
- \begin{scope}[#1]
- \coordinate (@pixelart) at (0, 1);
- \coordinate (@pixelart@startline) at (@pixelart);
+ \ifpixelart@draft
+ % Draft mode. Nothing to parse, nothing to show!
+ \else
+ \begin{scope}[shift={#2}]
+ \begin{scope}[#1]
+ \coordinate (@pixelart) at (0, 1);
+ \coordinate (@pixelart@startline) at (@pixelart);
- \pgfparserparse{@bwpixelart}
- #3 @
+ \pgfparserparse{@bwpixelart}
+ #3 @
+ \end{scope}
\end{scope}
- \end{scope}
+ \fi
}
\makeatother