summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/draftfigure/draftfigure.sty
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/draftfigure/draftfigure.sty
Initial commit
Diffstat (limited to 'macros/latex/contrib/draftfigure/draftfigure.sty')
-rw-r--r--macros/latex/contrib/draftfigure/draftfigure.sty123
1 files changed, 123 insertions, 0 deletions
diff --git a/macros/latex/contrib/draftfigure/draftfigure.sty b/macros/latex/contrib/draftfigure/draftfigure.sty
new file mode 100644
index 0000000000..ab2bf74851
--- /dev/null
+++ b/macros/latex/contrib/draftfigure/draftfigure.sty
@@ -0,0 +1,123 @@
+% draftfigure --%
+% modifying drafted figures
+% Copyright (c) 2017 Lukas C. Bossert
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+ \def\df@date{2017/07/19}
+ \def\df@version{0.2}
+ \def\df@styid{\df@date\space v\df@version\space draftfigure (LCB)}
+ \let\dfdate\df@date
+ \let\dfversion\df@version
+
+\NeedsTeXFormat{LaTeX2e}[1994/06/01]
+\ProvidesPackage{draftfigure}[\df@styid]
+
+\RequirePackage{graphicx}
+\RequirePackage{etoolbox}
+\RequirePackage{xkeyval}
+\RequirePackage{calc}
+
+\newbool{df@filename}
+\newbool{df@content}
+\newbool{df@noframe}
+
+\newlength\df@height
+\newlength\df@length
+
+\providecommand*\df@size{}
+\providecommand*\df@style{}
+\providecommand*\df@font{}
+\providecommand*\df@position{}
+\providecommand*\df@content{}
+
+
+\patchcmd{\Gin@setfile}{\expandafter\strip@prefix\meaning\@tempa}{\@draftfigure}{}{}
+
+
+\providecommand\df@noframe
+
+%% Declare a package option
+\DeclareOptionX{content}{\def\df@content{#1}}
+\DeclareOptionX{filename}[true]{\csuse{bool#1}{df@filename}
+
+}
+\DeclareOptionX{size}[small]{\def\df@size{\csname df@size@#1\endcsname}}
+\DeclareOptionX{style}[sf]{\def\df@style{\csname df@style@#1\endcsname}}
+\DeclareOptionX{position}[right]{\def\df@position{\csname df@position@#1\endcsname}}
+\DeclareOptionX{allfiguresdraft}[true]{\setkeys{Gin}{draft=#1}}
+\DeclareOptionX{noframe}[true]{\csuse{bool#1}{df@noframe}
+ \ifbool{df@noframe}{%
+ \patchcmd\Gin@setfile{\vrule\hss}{\vrule\@width\z@\hss}{}{}%left
+ \patchcmd\Gin@setfile{\hss\vrule}{\hss\vrule\@width\z@}{}{}%right
+ \patchcmd\Gin@setfile{\hrule\@width}{\hrule\@height\z@\@width}{}{}%top
+ \patchcmd\Gin@setfile{\vss\hrule}{\vss\hrule\@height\z@}{}{}%bottom
+}{}}
+
+%% predefined styles
+\providecommand\df@style@normal{\normalfont}
+\providecommand\df@style@sf{\sffamily}
+\providecommand\df@style@sc{\scshape}
+\providecommand\df@style@bf{\bfseries}
+\providecommand\df@style@it{\itshape}
+\providecommand\df@style@tt{\ttfamily}
+\providecommand\df@style@rm{\rmfamily}
+
+\providecommand\df@size@tiny{\tiny}
+\providecommand\df@size@scriptsize{\scriptsize}
+\providecommand\df@size@small{\small}
+\providecommand\df@size@footnotesize{\footnotesize}
+\providecommand\df@size@normal{\normalsize}
+\providecommand\df@size@large{\large}
+\providecommand\df@size@Large{\Large}
+\providecommand\df@size@Large{\LARGE}
+\providecommand\df@size@huge{\huge}
+
+\providecommand\df@position@top{}%% fix me
+\providecommand\df@position@center{\centering}
+\providecommand\df@position@bottom{}%% fix me
+\providecommand\df@position@right{\raggedleft}
+\providecommand\df@position@left{\raggedright}
+
+%% Process the options given to the package
+\ProcessOptionsX
+
+\define@key{draftfigure}{code}{%
+ \def\df@style{#1}}
+\define@key{draftfigure}{noframe}[true]{%
+ \csuse{bool#1}{df@noframe}}
+\define@key{draftfigure}{filename}[true]{%
+ \csuse{bool#1}{df@filename}}
+\define@key{draftfigure}{content}[]{%
+ \def\df@content{#1}}
+\define@key{draftfigure}{style}[normal]{%
+ \def\df@style{\csname df@style@#1\endcsname}}
+\define@key{draftfigure}{position}[left]{%
+ \def\df@position{\csname df@position@#1\endcsname}}
+\define@key{draftfigure}{size}[normal]{%
+ \def\df@size{\csname df@size@#1\endcsname}}
+
+\newcommand\setdf[1]{\setkeys{draftfigure}{#1}}
+
+\def\@draftfigure{%
+\setlength\df@height{\Gin@nat@height}%
+\setlength\df@length{\Gin@req@width}%
+\begin{minipage}[c][\df@height-5pt][c]{\df@length-5pt}%
+ \sffamily%
+ \df@position%
+ \df@size%
+ \df@style%
+\df@content%
+ \ifbool{df@filename}{%
+ \ifdef{\df@content}%
+ {\par}%
+ {}%
+ \expandafter\strip@prefix\meaning\@tempa}%
+ {}%
+\end{minipage}}%
+\endinput