summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/sdaps/sdapspdf.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/sdaps/sdapspdf.dtx')
-rw-r--r--macros/latex/contrib/sdaps/sdapspdf.dtx166
1 files changed, 166 insertions, 0 deletions
diff --git a/macros/latex/contrib/sdaps/sdapspdf.dtx b/macros/latex/contrib/sdaps/sdapspdf.dtx
new file mode 100644
index 0000000000..76d0546abf
--- /dev/null
+++ b/macros/latex/contrib/sdaps/sdapspdf.dtx
@@ -0,0 +1,166 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2014 by Henry Menke <henrimenke@gmail.com>
+% Copyright (C) 2015 by Benjamin Berg <benjamin@sipsolutions.net>
+%
+% 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.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Benjamin Berg.
+%
+% \fi
+%
+% \iffalse
+%<*driver>
+\ProvidesFile{sdapspdf.dtx}
+%</driver>
+%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+%<package>\ProvidesPackage{sdapspdf}
+%<*package>
+ [2015/04/10 v0.1 Initial version of SDAPS pdf package]
+%</package>
+%
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage{sdapspdf}[2015/04/10]
+%\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{sdapspdf.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{0}
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+%
+% \changes{v0.1}{2015/01/14}{Initial version}
+%
+% \GetFileInfo{sdapspdf.dtx}
+%
+% \DoNotIndex{\newcommand,\newenvironment}
+%
+%
+% \title{The \textsf{sdapspdf} package\thanks{This document
+% corresponds to \textsf{sdapspdf}~\fileversion, dated \filedate.}}
+% \author{Benjamin Berg \\ \texttt{benjamin@sipsolutions.net}}
+%
+% \maketitle
+%
+% \section{Documentation}
+%
+% Please refer to \url{https://sdaps.org/class-doc} for documentation.
+%
+% \StopEventually{\PrintChanges\PrintIndex}
+%
+% \section{Implementation}
+%
+% This package uses the \LaTeX3 language internally, so we need to enable it.
+% \begin{macrocode}
+% We need at least 2011-08-23 for \keys_set_known:nnN
+\RequirePackage{expl3}[2011/08/23]
+%\RequirePackage{xparse}
+\ExplSyntaxOn
+% \end{macrocode}
+%
+% And we need a number of other packages.
+% \begin{macrocode}
+\ExplSyntaxOff
+
+\RequirePackage{sdapsbase}
+\RequirePackage{hyperref}
+
+
+\ExplSyntaxOn
+
+% \end{macrocode}
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% \subsection{PDF Support}
+%
+% This package adds basic overlays to SDAPS boxes so that they become editable.
+% It is also possible to pre-fill them using overrides or the normal mechanism
+% to set variables for box drawing.
+%
+% \begin{macrocode}
+
+
+\bool_new:N \l__sdaps_pdf_form_bool
+\bool_new:N \l__sdaps_pdf_checkbox_default_bool
+\tl_new:N \l__sdaps_pdf_checkboxsymbol_tl
+
+\keys_define:nn { sdaps / checkbox / overlay / pdfform }
+{
+ pdf_form .bool_set:N = \l__sdaps_pdf_form_bool,
+ pdf_form .initial:n = false,
+
+ default .bool_set:N = \l__sdaps_pdf_checkbox_default_bool,
+ default .initial:n = false,
+
+ checkboxsymbol .tl_set:N = \l__sdaps_pdf_checkboxsymbol_tl,
+ checkboxsymbol .initial:n = 8,
+}
+
+\cs_new_protected_nopar:Nn \_sdaps_pdf_overlay_checkbox_form:
+{
+ \keys_set_known:nV { sdaps / checkbox / overlay / pdfform } { \l_sdaps_parse_unknown_tl } %
+
+ \bool_if:NT \l__sdaps_pdf_form_bool {
+ \node[anchor=center,inner~sep=0pt,outer~sep=0pt] at ($(\l_sdaps_x_dim, \l_sdaps_y_dim) + 0.5*(\l_sdaps_width_dim, -\l_sdaps_height_dim)$) {
+ \CheckBox[name=\l_sdaps_var_tl,bordersep=0,borderwidth=0pt,checkboxsymbol=\l__sdaps_pdf_checkboxsymbol_tl,bordercolor=,backgroundcolor=,checked=\bool_if:nTF\l__sdaps_pdf_checkbox_default_bool{true}{false},height=\l_sdaps_checkbox_height_dim,width=\l_sdaps_checkbox_width_dim]{\ignorespaces}
+ };
+ }
+}
+\seq_put_left:Nn \g__sdaps_checkbox_overlays_seq \_sdaps_pdf_overlay_checkbox_form:
+
+
+\cs_new_protected_nopar:Nn \_sdaps_pdf_overlay_text_form:
+{
+ \keys_set_known:nV { sdaps / checkbox / overlay / pdfform } { \l_sdaps_parse_unknown_tl } %
+
+ \bool_if:NT \l__sdaps_pdf_form_bool {
+ \node[anchor=center,inner~sep=2pt,outer~sep=0pt] at ($(\l_sdaps_x_dim, \l_sdaps_y_dim) + 0.5*(\l_sdaps_width_dim, -\l_sdaps_height_dim)$) {
+ \dim_set:Nn \l_sdaps_width_dim { \l_sdaps_width_dim - 4pt }
+ \dim_set:Nn \l_sdaps_height_dim { \l_sdaps_height_dim - 4pt }
+
+ \TextField[name=\l_sdaps_var_tl,bordersep=0pt,borderwidth=0pt,bordercolor=,backgroundcolor=,multiline=true,height=\l_sdaps_height_dim,width=\l_sdaps_width_dim]{\ignorespaces}
+ };
+ }
+}
+\seq_put_left:Nn \g__sdaps_textbox_overlays_seq \_sdaps_pdf_overlay_text_form:
+
+
+
+\ExplSyntaxOff
+
+%
+% \end{macrocode}
+%
+
+% \Finale
+\endinput