summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/datax
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-11-19 03:02:56 +0000
committerNorbert Preining <norbert@preining.info>2020-11-19 03:02:56 +0000
commit760d89b8378840fd2799ef792b5300b760723bff (patch)
treed1e2cd4d09121d1307151aff10f36720c03f37f1 /macros/latex/contrib/datax
parenta1f21689acf2d63ab8b813a55c5bf4374a06d964 (diff)
CTAN sync 202011190302
Diffstat (limited to 'macros/latex/contrib/datax')
-rw-r--r--macros/latex/contrib/datax/README.md30
-rw-r--r--macros/latex/contrib/datax/datax.dtx156
-rw-r--r--macros/latex/contrib/datax/datax.ins54
-rw-r--r--macros/latex/contrib/datax/datax.pdfbin0 -> 178392 bytes
4 files changed, 240 insertions, 0 deletions
diff --git a/macros/latex/contrib/datax/README.md b/macros/latex/contrib/datax/README.md
new file mode 100644
index 0000000000..369088c3e5
--- /dev/null
+++ b/macros/latex/contrib/datax/README.md
@@ -0,0 +1,30 @@
+# The datax package
+A LaTeX package to insert data from a script in a document. Interacting plugins available at [Github, Datax-package](https://github.com/Datax-package).
+
+## Example usage
+Julia script:
+```julia
+using Datax
+# ... later ...
+@datax a b c
+```
+
+LaTeX document
+```tex
+\usepackage{datax}
+% ... later ...
+The calculated length was \(a=\datax{a}\).
+```
+
+## Copyright and license
+Copyright 2020 David Gustavsson (david.e.gustavsson@gmail.com)
+
+This package 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.
diff --git a/macros/latex/contrib/datax/datax.dtx b/macros/latex/contrib/datax/datax.dtx
new file mode 100644
index 0000000000..469f8afcf5
--- /dev/null
+++ b/macros/latex/contrib/datax/datax.dtx
@@ -0,0 +1,156 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2020 by David Gustavsson
+%
+% This file 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.
+%
+% \fi
+%
+% \iffalse
+%<package>\NeedsTeXFormat{LaTeX2e}[2020/02/02]
+%<package>\ProvidesPackage{datax}
+%<package> [2020/11/17 v1.1 data import into LaTeX]
+%<package>\RequirePackage{pgfkeys}
+%<package>\RequirePackage{pgfopts}
+%
+%<*driver>
+\begin{filecontents}{datax-example-data.tex}
+ \pgfkeyssetvalue{/datax/s}{A literal string}
+ \pgfkeyssetvalue{/datax/x}{\num{2.4}}
+ \pgfkeyssetvalue{/datax/c}{\SI{3e8}{\meter\per\second}}
+\end{filecontents}
+\documentclass{ltxdoc}
+\usepackage[dataxfile=datax-example-data.tex]{datax}
+\usepackage{booktabs}
+\usepackage{siunitx}
+\usepackage[hidelinks]{hyperref}
+
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+\DocInput{datax.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+%\CheckSum{19}
+%
+% \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{v1.0}{2020/11/15}{Initial version}
+%
+% \GetFileInfo{datax.sty}
+% \DoNotIndex{}
+%
+% \title{The \textsf{datax} package\thanks{This document
+% corresponds to \textsf{datax}~\fileversion,
+% dated~\filedate.}}
+% \author{David Gustavsson \texttt{david.e.gustavsson@gmail.com}}
+%
+% \maketitle
+%
+% \section{Motivation}
+% \textsf{datax} allows you to export data from your scripts, and import them as \textsf{siunitx} commands.
+% This is analogous to how the author uses \textsf{graphicx} to programmatically generate graphics and include
+% in a document.
+%
+% \section{Installation}
+% Place |datax.sty| in a place where \LaTeX{} can find it (often |~/texmf/tex/latex/datax/datax.sty|). Run |texhash| if needed.
+%
+% \section{Usage}
+% The package is loaded with |\usepackage[dataxfile=|\meta{data.tex}|]{datax}|, which reads the file specified as
+% \meta{dataxfile}.
+%
+% \DescribeMacro{\datax}
+% From then on data can be inserted as |\datax|\marg{tag}. If the file |data.tex| contains references
+% to a string \(s\), a number \(x\) and a physical constant \(c\), then the macro produces this output:
+%
+% \begin{center}
+% \begin{tabular}{rl}\toprule
+% Input & Output \\\midrule
+% |\datax{s}| & \datax{s} \\
+% |\datax{x}| & \datax{x} \\
+% |\datax{c}| & \datax{c} \\
+% |\datax{undefined}| & \datax{undefined} \\
+% \bottomrule
+% \end{tabular}
+% \end{center}
+%
+% \section{Interactions}
+% Technically, \textsf{datax} only needs a data file consisting of a number of assignments:
+% |\pgfkeyssetvalue{/datax/|\meta{tag}|}{|\meta{value}|}|
+% but of course the entire point of the package is automation. For this, you need an interaction plugin for your script
+% language. If your language is not listed below, you might need to write this plugin for yourself, or request it.
+% \begin{center}
+% \begin{tabular}{rlp{5cm}}\toprule
+% Language & Plugin & Comments\\\midrule
+% |julia| & \href{https://github.com/Datax-package/Datax.jl}{Datax.jl} & By the current author \\
+% |Matlab| & \href{https://github.com/Datax-package/Datax.m}{Datax.m} & By the current author \\
+% \bottomrule
+% \end{tabular}
+% \end{center}
+%
+% \StopEventually{\PrintIndex}
+% \section{Implementation}
+%
+% \begin{macrocode}
+\pgfkeys{ %
+ /packageoptions/dataxfile/.initial=data.tex, %
+}
+\ProcessPgfPackageOptions{/packageoptions}
+
+\pgfkeys{ %
+ /datax/.is family, datax, %
+ .unknown/.code={ %
+ \pgfkeyssetvalue{ %
+ \pgfkeyscurrentpath/\pgfkeyscurrentname %
+ }{ %
+ #1 %
+ } %
+ }, %
+}
+
+\def\dataxfile{./\pgfkeysvalueof{/packageoptions/dataxfile}}
+\InputIfFileExists{%
+ \dataxfile
+ }{}{
+ \PackageWarning{datax}{Cannot read file `\dataxfile'}
+}
+% \end{macrocode}
+% \begin{macro}{\datax}
+% Include datum from the specified data file.
+% \begin{macrocode}
+\newcommand{\datax}[1]{
+ \pgfkeysifdefined{/datax/#1}{ %
+ \pgfkeysvalueof{/datax/#1} %
+ }{ %
+ \PackageWarning{datax}{Data value `#1' undefined}\textbf{??} %
+ } %
+}
+% \end{macrocode}
+% \end{macro}
+% \Finale
+\endinput
diff --git a/macros/latex/contrib/datax/datax.ins b/macros/latex/contrib/datax/datax.ins
new file mode 100644
index 0000000000..7e27b7a6f6
--- /dev/null
+++ b/macros/latex/contrib/datax/datax.ins
@@ -0,0 +1,54 @@
+%%
+%% Copyright (C) 2020 by David Gustavsson
+%%
+%% This file 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.
+%%
+
+\input docstrip.tex
+\keepsilent
+\usedir{tex/latex/datax}
+
+\preamble
+This is a generated file.
+
+Copyright (C) 2020 by David Gustavsson
+
+This file 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.
+
+\endpreamble
+
+
+\generate{\file{datax.sty}{\from{datax.dtx}{package}}}
+
+\obeyspaces
+\Msg{****************************************************}
+\Msg{* *}
+\Msg{* To finish the installation you have to move the *}
+\Msg{* following file into a directory searched by TeX: *}
+\Msg{* *}
+\Msg{* datax.sty *}
+\Msg{* *}
+\Msg{* To produce the documentation run the file *}
+\Msg{* datax.dtx through LaTeX. *}
+\Msg{* *}
+\Msg{* Happy TeXing! *}
+\Msg{* *}
+\Msg{****************************************************}
+
+\endbatchfile
diff --git a/macros/latex/contrib/datax/datax.pdf b/macros/latex/contrib/datax/datax.pdf
new file mode 100644
index 0000000000..3af039653c
--- /dev/null
+++ b/macros/latex/contrib/datax/datax.pdf
Binary files differ