Ian Jauslin
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'doc/libs/dlmf.sty')
-rw-r--r--doc/libs/dlmf.sty55
1 files changed, 55 insertions, 0 deletions
diff --git a/doc/libs/dlmf.sty b/doc/libs/dlmf.sty
new file mode 100644
index 0000000..f435e96
--- /dev/null
+++ b/doc/libs/dlmf.sty
@@ -0,0 +1,55 @@
+%% Copyright 2021 Ian Jauslin
+%%
+%% Licensed under the Apache License, Version 2.0 (the "License");
+%% you may not use this file except in compliance with the License.
+%% You may obtain a copy of the License at
+%%
+%% http://www.apache.org/licenses/LICENSE-2.0
+%%
+%% Unless required by applicable law or agreed to in writing, software
+%% distributed under the License is distributed on an "AS IS" BASIS,
+%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+%% See the License for the specific language governing permissions and
+%% limitations under the License.
+
+%%
+%% DLMF package:
+%% cite equations from DLMF
+%%
+
+%% TeX format
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+
+%% package name
+\ProvidesPackage{dlmf}[2020/05/01]
+
+%% dependencies
+\RequirePackage{color}
+\RequirePackage{hyperref}
+
+% get the first two numbers in (a.b.c);
+\def\@sectionnr(#1.#2.#3){#1.#2}
+
+% get the last number in (a.b.c);
+\def\@eqnr(#1.#2.#3){#3}
+
+% remove parentheses around argument
+\def\@cleanparentheses(#1){#1}
+
+%% cite DLMF equation
+\def\dlmfcite#1#2{\leavevmode%
+ \let\@dlmfcite@separator\@empty%
+ \cite[%
+ % loop over ',' separated list
+ \@for\@dlmfcite:=#1\do{%
+ % put commas between entries
+ \@dlmfcite@separator\def\@dlmfcite@separator{,\ }%
+ ({\color{blue}\href{https://dlmf.nist.gov/\expandafter\@sectionnr\@dlmfcite\#E\expandafter\@eqnr\@dlmfcite}{\expandafter\@cleanparentheses\@dlmfcite}})%
+ }%
+ ]{DLMF#2}%
+}
+
+%% end
+\endinput
+
+