summaryrefslogtreecommitdiff
path: root/tex/context/base/publ-imp-apa.lua
blob: 47d9a4b80db157674016212be1423c878ef7d4b8 (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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
-- category = {
--     sets     = {
--         authors = { "author", "editor" },
--     },
--     required = { "authors", "title" },
--     optional = { "year", "journal", "editor", "volume", "number", "pages" },
--     virtual  = { "authoryear", "authoryears", "authornum", "num", "suffix" },
-- }

-- category = {
--     sets     = {
--         author = { "author", "editor" },
--     },
--     required = { "author", "title" },
--     optional = { "year", "journal", "editor", "volume", "number", "pages" },
--     virtual  = { "authoryear", "authoryears", "authornum", "num", "suffix" },
-- }

return {
    name = "apa",
    version = "1.00",
    comment = "APA specification.",
    author = "Alan Braslau and Hans Hagen",
    copyright = "ConTeXt development team",
    virtual = {
        -- all share the same default set
        "authoryear", "authoryears", "authornum", "num", "suffix",
    },
    categories = {
        article = {
            sets     = {
                authors = { "author", "editor" },
                links   = { "doi", "url" },
            },
            required = { "authors", "title" },
            optional = { "year", "subtitle", "type", "journal", "volume", "number", "pages", "note", "links" },
        },
        magazine = {
            sets     = {
                authors = { "author", "editor" },
            },
            required = { "authors", "title", "journal", "year" },
            optional = { "volume", "number", "pages", "month", "day", "note", "url", "doi" },
        },
        newspaper = {
            sets     = {
                authors = { "author", "editor" },
            },
            required = { "authors", "title", "journal", "year" },
            optional = { "volume", "number", "pages", "month", "day", "note", "url", "doi" },
        },
        book = {
            sets     = {
                authors = { "author", "editor", "publisher" },
            },
            required = { "authors", "title" },
            optional = { "year", "month", "day", "title", "type", "edition", "series", "volume", "number", "pages", "address", "url", "note", "ISBN" },
        },
        booklet = {
            required = { "title" },
            optional = { "author", "howpublished", "address", "month", "year", "note" },
        },
        inbook = {
            sets     = {
                authors = { "author", "editor", "publisher" },
            },
            required = { "authors", "title", "chapter", "pages", "year" },
            optional = { "volume", "number", "series", "type", "address", "edition", "month", "note", "ISBN" },
        },
        incollection = {
            sets     = {
                authors = { "author", "editor", "publisher" },
            },
            required = { "authors", "title", "booktitle", "year" },
            optional = { "volume", "number", "series", "type", "chapter", "pages", "address", "edition", "month", "note", "ISBN" },
        },
        inproceedings = {
            sets     = {
                authors = { "author", "editor", "publisher" },
            },
            required = { "authors", "title", "booktitle", "year" },
            optional = { "volume", "number", "series", "pages", "address", "month", "organization", "note", "ISBN" },
        },
        conference =
            "inproceedings",
        manual = {
            required = { "title" },
            optional = { "author", "organization", "address", "edition", "month", "year", "note" },
        },
        mastersthesis = {
            required = { "author", "title", "school", "year" },
            optional = { "type", "address", "month", "note" },
        },
        phdthesis = {
            required = { "author", "title", "school", "year" },
            optional = { "type", "address", "month", "note" },
        },
        thesis = {
            required = { "author", "title", "school", "year", "type" },
            optional = { "address", "month", "note" },
        },
        misc = {
            required = { },
            optional = { "author", "title", "howpublished", "month", "year", "note" },
        },
        periodical = {
            sets     = {
                authors = { "editor", "publisher" },
            },
            required = { "title", "year" },
            optional = { "authors", "month", "note", "number", "organization", "series", "volume" },
        },
        proceedings = {
            required = { "title", "year" },
            optional = { "editor", "volume", "number", "series", "address", "month", "organization", "publisher", "note", "pages", "ISBN" },
        },
        techreport = {
            required = { "author", "title", "institution", "year" },
            optional = { "type", "number", "address", "month", "note" },
        },
        other = {
            required = { "author", "title", "year" },
            optional = { "note", "doi" },
        },
        patent = {
            required = { "nationality", "number", "year", "yearfiled" },
            optional = { "author", "title", "language", "assignee", "address", "type", "day", "dayfiled", "month", "monthfiled", "note", },
        },
        electronic = {
            required = { "title" },
            optional = { "address", "author", "howpublished", "month", "note", "organization", "year", "url", "doi", "type" },
        },
        -- check this!
        standard = {
            sets     = {
                authors = { "author", "institution", "organization" },
            },
            required = { "authors", "title", "year", "note", "url" },
            optional = { "doi", },
        },
        unpublished = {
            required = { "author", "title", "note" },
            optional = { "month", "year" },
        },
        literal = {
            required = { "key", "text", },
            optional = { },
            virtual  = false,
        },
        -- 
        -- the following fields are for documentation and testing purposes
        -- 
        ["demo-a"] = {
            sets     = {
                author  = { "author", "institution", "organization" },
            },
            required = { "author", "title", "year", "note", "url" },
            optional = { "doi", },
        },
        ["demo-b"] = {
            sets     = {
                authors = { "author", "institution", "organization" },
            },
            required = { "authors", "title", "year", "note", "url" },
            optional = { "doi", },
        },
    },
}