1# \DeclareLyXCiteEngine[biblatex.sty]{Biblatex}
2# DescriptionBegin
3#   Biblatex supports many author-year and numerical styles. It is mainly
4#   aimed at the Humanities. It is highly customizable, fully localized
5#   and provides many features that are not possible with BibTeX.
6#   The use of 'biber' as bibliography processor is advised.
7# DescriptionEnd
8
9# Author: Jürgen Spitzmüller <spitz@lyx.org>
10
11Format 66
12
13Requires biblatex
14
15# The framework (biblatex|bibtex)
16CiteFramework biblatex
17
18# Cite style variants (default|authoryear|natbib)
19# We provide both authoryear and numerical citations
20CiteEngineType authoryear|numerical
21
22# Default style files for either engine type
23DefaultBiblio  authoryear:authoryear|numerical:numeric
24
25# Maximum number of names before "et al." chimes in
26MaxCiteNames 3
27
28
29# The syntax of the cite command definitions below is:
30# LyXName|alias*<!_stardesc!_stardesctooltip>[][]=latexcmd
31#
32# * LyXName:  The LyX name as output in the LyX file. For
33#             portability reasons, we try to use the same
34#             name for same-formatted commands in the
35#             different engines (thus many names stem from
36#             natbib).
37# * Alias:    A (comma-separated) list of commands that fall
38#             back to the given LyX name in the current engine.
39#             This is a bit like "ObsoletedBy" in the layouts.
40# * latexcmd: The actual LaTeX command that is output.
41#
42# Alias and latexcmd are optional. If no latexcmd is given, the
43# LyXName will be output to LaTeX.
44#
45# Note further:
46#
47# * The LyXName "keyonly" has a special meaning: only the citation key,
48#   without any latex command, is output.
49# * Capitalization indicates that the command also has a capitalized
50#   form (\Latexcmd vs. \latexcmd). These usually enforce upcasing of
51#   name prefixes (von Goethe => Von Goethe).
52# * Brackets [] indicate the number of optional arguments (0, 1, 2).
53# * The star * indicates there is a starred version of the command
54#   (\latexcmd* vs. \latexcmd). By default, the starred version means:
55#   Expand the author list even if the maxnames setting would cause
56#   BibTeX/Biber to shorten it with "et al.".
57#   If the star has a different meaning for a command, it can be
58#   specified in angle brackets: <!_stardesc!_stardesctooltip>.
59#   Maximal two translatable macro keywords, marked by the prefix '!_',
60#   can be given. The first points to the string that replaces the
61#   "Full aut&hor list" checkbox label in the Citation dialog, the
62#   second one an optional tooltip for this checkbox. Note that these
63#   two macros have to be defined in the CiteFormat section, dropping
64#   the '!' from the prefix (see below), e.g.:
65#   _stardesc Starred command label
66#   _stardesctooltip Tooltip for the starred command checkbox.
67# * A trailing $ indicates that a command features "qualified citation
68#   lists" (a specific Biblatex feature)
69
70#
71# CITE COMMAND DEFINITIONS for either engine type
72#
73CiteEngine authoryear
74	Cite$|citealt,citealp[][]
75	Citet$[][]=textcite
76	Citep$[][]=parencite
77	Citeauthor*<!_citeauthorstar!_citeauthorstartooltip>[][]
78	citeyearpar[][]=parencite*
79	citeyear[][]=cite*
80	citebyear[][]=citeyear
81	Footcite$[][]=smartcite
82	Autocite$[][]
83	citetitle*<!_citetitlestar!_citetitlestartooltip>[][]
84	fullcite[][]
85	footfullcite[][]
86	nocite
87	keyonly
88End
89
90CiteEngine numerical
91	cite$|parencite,citep,citealt,citealp[][]
92	Citet$[][]=textcite
93	supercite
94	Footcite$[][]=smartcite
95	Autocite$[][]
96	Citeauthor*<!_citeauthorstar!_citeauthorstartooltip>[][]
97	citeyear|parencite*,citebyear[][]=citeyear*
98	citetitle*<!_citetitlestar!_citetitlestartooltip>[][]
99	fullcite[][]
100	footfullcite[][]
101	nocite
102	keyonly
103End
104
105
106#
107# CITE FORMAT
108#
109
110# The following defines how the commands are represented in the GUI
111# (inset button and citation dialog) as well as in XHTML, docbook and
112# plain text output.
113#
114# There are common definitions (default) and specific definitions for
115# either cite engine type (which overwrite existing defaults.
116#
117
118# Input standard format definitions for the bibliography
119Input stdciteformats.inc
120
121CiteFormat default
122	#
123	# MACROS
124	#
125	# 1. Translatable bits (need to be marked by _ prefix, if translated to the GUI language,
126	#    or B_, if translated to the buffer language)
127	#    Note that preceding and trailing spaces matter.
128	#
129	_notcited not cited
130	_addtobib Add to bibliography only.
131	_keyonly Key only.
132	_key Key
133	_footnote Footnote
134	_foot Foot
135	_fullcite bibliography entry
136	_bibentry Full bibliography entry.
137	_autocite Autocite
138	_auto Auto
139	# GUI strings for the starred commands
140	_citeauthorstar S&horten author list[[Possible substitute to All aut&hors]]
141	_citeauthorstartooltip Force a short author list (using et al.)
142	_citetitlestar F&orce full title[[Possible substitute to All aut&hors]]
143	_citetitlestartooltip Use full title even if shorttitle exists
144	# The following are handled by BiblioInfo
145	B_etal  et al.
146	B_namesep , [[separate author names in citation, except for last name]]
147	B_lastnamesep , and [[separate name of last author in citation]]
148	B_pairnamesep  and [[separate two authors in citation]]
149
150	#
151	# 2. Macros re-used in the style definitions
152	#
153	# A link that lets us jump to the bibliography entry in LyXHTML
154	# %clean:key% will be substituted by the cite key to give a unique id
155	!startlink {!<a href='#LyXCite-%clean:key%'>!}
156	!endlink {!</a>!}
157
158	# Add " , and " before the last item (but " and " if there are only two), else ", "
159	!smartsep {%second%[[{%next%[[%B_namesep%]][[%B_pairnamesep%]]}]][[{%next%[[%B_namesep%]][[%B_lastnamesep%]]}]]}
160
161	# A dummy year modifier. This just indicates that a modifier might be output,
162	# to differentiate \cite* and \citeyear
163	!dummymod [a]
164
165	# "...; Nextauthor ..."
166	!nextauthor {%next%[[%!sep% %!startlink%%!abbrvciteauthor%%!endlink%%!nextauthor%]]}
167	# Handle starred command: abbr. or full author list
168	!makenextauthor {%next%[[%!sep% %!startlink%%!makeauthor%%!endlink%%!makenextauthor%]]}
169	# "...; [NextID] ..."
170	!nextkey {%next%[[%!sep% %key%%!nextkey%]]}
171	# "...; Nextyear ..." (including extra label, as in 2017a)
172	!nextyear {%next%[[%!sep% %!startlink%%!year%%!endlink%%!nextyear%]]}
173	# "...; Nextyear ..." (including emulated extra label, as in 2017[a])
174	!nextmyear {%next%[[%!sep% %!startlink%%!myear%%!endlink%%!nextmyear%]]}
175	# "...; Nextyear ..." (without any extra label)
176	!nextbyear {%next%[[%!sep% %!startlink%%!byear%%!endlink%%!nextbyear%]]}
177	# "...; Nexttitle ..."
178	!makenexttitle {%next%[[%!sep% %!startlink%%!maketitle%%!endlink%%!makenexttitle%]]}
179	# "...; NextKey..."
180	!nextfullcite {%next%[[%!sep% %bibentry%%!nextfullcite%]]}
181
182	# "Author et al." (if > 3 authors) or "??"
183	!abbrvciteauthor {%abbrvciteauthor%[[%abbrvciteauthor%]][[??]]}
184	# "Author et al." (always) or "??"
185	!forceabbrvciteauthor {%forceabbrvciteauthor%[[%forceabbrvciteauthor%]][[??]]}
186	# Handle starred command: force of abbr. author list, independent of maxcitenames
187	!makeauthor {%ifstar%[[%!forceabbrvciteauthor%]][[%!abbrvciteauthor%]]}
188	# "prenote "
189	!textbefore {%textbefore%[[%textbefore% ]]}
190	# ", postnote"
191	!textafter {%textafter%[[, %textafter%]]}
192	# "prenote " (for qualified lists)
193	!ctextbefore {%curpretext%[[%curpretext% ]]}
194	# ", postnote" (for qualified lists)
195	!ctextafter {%curposttext%[[, %curposttext%]]}
196	# Add a year if it exists (else "??") and possibly a modifier (as in 2017a)
197	!year {%year%[[%year%]][[??]]}{%modifier%[[%modifier%]]}
198	# Add a year if it exists (else "??") and indicate a possible modifier (as in 2017[a])
199	!myear {%year%[[%year%]][[??]]}{%modifier%[[%modifier%]][[{%export%[[]][[%!dummymod%]]}]]}
200	# Add a year if it exists (else "??") without any modifier at all
201	!byear {%year%[[%year%]][[??]]}
202	# Add a shorttitle or title if it exists (else "??")
203	!makeshorttitle {%shorttitle%[[%shorttitle%]][[{%title%[[%title%]][[??]]}]]}
204	# Add a title (or "??")
205	!maketitle {%ifstar%[[{%title%[[%title%]][[??]]}]][[%!makeshorttitle%]]}
206	# "cf. Key..."
207	!fullcite %!startlink%%bibentry%%!endlink%%!nextfullcite%
208
209	#
210	# ACTUAL STYLE DEFINITIONS
211	#
212	# (identical in authoryear and numerical)
213	#
214
215	# "cf. Author; Nextautor, p. xx"
216	citeauthor %!textbefore%%!startlink%%!makeauthor%%!endlink%%!makenextauthor%%!textafter%
217	# "cf. Year; Nextyear, p. xx" (including extra label, as in 2017a)
218	citeyear %!textbefore%%!startlink%%!myear%%!endlink%%!nextyear%%!textafter%
219	# "cf. Year; Nextyear, p. xx" (without any extra label)
220	citebyear %!textbefore%%!startlink%%!byear%%!endlink%%!nextbyear%%!textafter%
221	# "cf. Year; Nextyear, p. xx" (without any extra label)
222	citetitle %!textbefore%%!startlink%%!maketitle%%!endlink%%!makenexttitle%%!textafter%
223	# "Bibliography entry." (dialog) / "cf. Key; NextKey..., p. xx (bibliography entry)" (button)
224	fullcite {%dialog%[[%_bibentry%]][[%!textbefore%{%label%[[%!fullcite%]][[%key%%!nextkey% (%_fullcite%)]]}%!textafter%}]]}
225	# "Footnote: Full bibliography entry." (dialog) / "Foot: Key (bibliography entry)"
226	footfullcite {%dialog%[[%_footnote%]][[%_foot%]]}: {%dialog%[[%_bibentry%]][[{%label%[[%!fullcite%]][[%key%%!nextkey% (%_fullcite%)]]}]]}
227	# "Add to bibliography only." (dialog) / "[ID] (not cited)" (button)
228	nocite {%dialog%[[%_addtobib%]][[%key%%!nextkey% (%_notcited%)]]}
229	# Output only the key
230	keyonly {%dialog%[[%_keyonly%]][[%_key%: %key%%!nextkey%]]}
231End
232
233CiteFormat authoryear
234	#
235	# MACROS
236	#
237	!open (
238	!sep ;
239	!close )
240
241	# "cf. Author et. al Year..."
242	!makecite %!ctextbefore%%!startlink%%!abbrvciteauthor% %!year%%!endlink%%!ctextafter%%!nextcite%
243	# Author et al. (cf. Year...
244	!maketextcite {%ifqualified%[[%!textbefore%]]}%!startlink%%!abbrvciteauthor%%!endlink% %!open%{%ifqualified%[[%!ctextbefore%]][[%!textbefore%]]}%!year%%!ctextafter%%!nexttextcite%
245
246	# "...; Nextauthor Year..."
247	!nextcite {%next%[[%!sep% %!makecite%]]}
248	# "...); Nextauthor (Year..."
249	!nexttextcite {%next%[[%!close%%!smartsep%%!startlink%%!abbrvciteauthor%%!endlink% %!open%%!ctextbefore%%!year%%!ctextafter%%!nexttextcite%]]}
250
251	# Add a year if it exists (else title, else "??") and possibly a modifier (as in 2017a)
252	!yeartitle {%year%[[%year%{%modifier%[[%modifier%]][[{%export%[[]][[%!dummymod%]]}]]}]][[{%title%[[%title%]][[??]]}]]}
253	# "...; Nextyear ..." (including extra label, as in 2017a)
254	!nextyeartitle {%next%[[%!sep% %!startlink%%!yeartitle%%!endlink%%!nextyeartitle%]]}
255
256	#
257	# ACTUAL STYLE DEFINITIONS
258	#
259	# (additions and modifications to default)
260	#
261
262	# "cf. Author A Year; Author B Year, p. xx"
263	cite %!textbefore%%!makecite%%!textafter%
264	# "cf. Author A (Year),[ and] Author B (Year, p. xx)"
265	citet %!maketextcite%%!textafter%%!close%
266	# "(cf. Author A Year; Author B Year, p. xx)"
267	citep %!open%%!textbefore%%!makecite%%!textafter%%!close%
268	# This prints year or title, if year is missing
269	citeyear %!textbefore%%!startlink%%!yeartitle%%!endlink%%!nextyeartitle%%!textafter%
270	# "(cf. Year; Nextyear, p. xx)"
271	citeyearpar %!open%%!textbefore%%!startlink%%!myear%%!endlink%%!nextmyear%%!textafter%%!close%
272	# "Footnote: cf. Author A Year; Author B Year, p. xx."
273	footcite {%dialog%[[%_footnote%]][[%_foot%]]}: %!textbefore%%!makecite%%!textafter%.
274	# "Auto: (cf. Author A Year; Author B Year, p. xx)"
275	autocite {%dialog%[[%_autocite%]][[%_auto%]]}: %!open%%!textbefore%%!makecite%%!textafter%%!close%
276End
277
278CiteFormat numerical
279	#
280	# MACROS
281	#
282	# 1. Translatable bits (need to be marked by _ prefix, if translated to the GUI language,
283	#    or B_, if translated to the buffer language)
284	#
285	_super Super
286	_superscript Superscript
287
288	#
289	# 2. Macros re-used in the style definitions
290	#
291	!open [
292	!sep ,
293	!close ]
294
295	# "Author [cf. ID..."
296	!maketextcite %!abbrvciteauthor% %!open%%!textbefore%{%dialog%[[#ID]][[%!startlink%{%numericallabel%[[%numericallabel%]][[#%key%]]}%!endlink%]]}%!nexttextcite%
297	# "ID"
298	!makekey %!ctextbefore%{%dialog%[[#ID]][[%!startlink%{%numericallabel%[[%numericallabel%]][[#%key%]]}%!endlink%]]}%!ctextafter%%!nextkey%
299
300	# "...); Nextauthor [ID..."
301	!nexttextcite {%next%[[%!close%%!smartsep%%!abbrvciteauthor% %!open%%!ctextbefore%{%dialog%[[#ID]][[%!startlink%{%numericallabel%[[%numericallabel%]][[#%key%]]}%!endlink%]]}%!nexttextcite%]]}
302	# "..., NextID..."
303	!nextkey {%next%[[%!sep% %!ctextbefore%{%dialog%[[#ID]][[%!startlink%{%numericallabel%[[%numericallabel%]][[#%key%]]}%!endlink%]]}%!ctextafter%%!nextkey%]]}
304
305	#
306	# ACTUAL STYLE DEFINITIONS
307	#
308	# (additions and modifications to default)
309	#
310
311	# "[cf. ID, NextID, p. xx]"
312	cite %!open%%!textbefore%%!makekey%%!textafter%%!close%
313	# "Author [cf. ID],[ and] Nextauthor [NextID, p. xx]"
314	citet %!maketextcite%%!textafter%%!close%
315	# "Footnote: cf. ID, NextID, p. xx."
316	footcite {%dialog%[[%_footnote%]][[%_foot%]]}: %!textbefore%%!makekey%%!textafter%.
317	# "Auto: (cf. Author A Year; Author B Year, p. xx)"
318	autocite {%dialog%[[%_autocite%]][[%_auto%]]}: %!open%%!textbefore%%!makekey%%!textafter%%!close%
319	# "Superscript: ID" (dialog) / "Super: ID" (button)
320	supercite {%dialog%[[%_superscript%]][[%_super%]]}: %!makekey%
321End
322