summaryrefslogtreecommitdiff
path: root/tex/context/base/publ-imp-definitions.mkiv
blob: 2cf2e3e8efebdc30c9803133610c73903ac17823 (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
56
57
58
59
60
61
62
63
64
65
66
67
68
%D \module
%D   [       file=publ-imp-def,
%D        version=2013.12.24,
%D          title=\CONTEXT\ Publication Support,
%D       subtitle=Definitions,
%D         author=Hans Hagen,
%D           date=\currentdate,
%D      copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
%C
%C This module is part of the \CONTEXT\ macro||package and is
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.

%D Here we collect some helper setups. We assume that checking of a field
%D happens in the calling setup, if only because that is the place where
%D fences are also dealt with.

\unprotect

\startxmlsetups btx:format:crossref
    \cite[\btxfield{crossref}]
\stopxmlsetups

\startxmlsetups btx:format:key
    \btxfield{short}
\stopxmlsetups

\startxmlsetups btx:format:doi
    \edef\currentbtxfielddoi{\btxfield{doi}}
    \ifx\currentbtxfielddoi\empty
        {\tttf no-doi}
    \else\ifconditional\btxinteractive
        \goto{\hyphenatedurl{\currentbtxfielddoi}}[url(http://dx.doi.org/\currentbtxfielddoi)]
    \else
        \hyphenatedurl{\currentbtxfielddoi}
    \fi\fi
\stopxmlsetups

\startxmlsetups btx:format:url
    \edef\currentbtxfieldurl{\btxfield{url}}
    \ifx\currentbtxfieldurl\empty
        {\tttf no-url}
    \else\ifconditional\btxinteractive
        \goto{\hyphenatedurl{\currentbtxfieldurl}}[url(\currentbtxfieldurl)]
    \else
        \hyphenatedurl{\currentbtxfieldurl}
    \fi\fi
\stopxmlsetups

\startxmlsetups btx:format:month
    \edef\currentbtxfieldmonth{\btxfield{month}}
    \ifx\currentbtxfieldmonth\empty
        {\tttf no-month}
    \else
        \edef\p_monthconversion{\btxlistvariantparameter\c!monthconversion}
        \ifx\p_monthconversion\empty % month month:mnem
            \currentbtxfieldmonth
        \else
            \doifnumberelse \currentbtxfieldmonth {
                \convertnumber\p_monthconversion\currentbtxfieldmonth
            } {
                \currentbtxfieldmonth
            }
        \fi
    \fi
\stopxmlsetups

\protect