Ian Jauslin
summaryrefslogtreecommitdiff
blob: f66157b21eb711a23d45f08f82b257e83359f51d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
%% Copyright 2021-2023 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