# \DeclareLyXCiteEngine[biblatex.sty]{Biblatex (natbib mode)} # DescriptionBegin # This Biblatex variety emulates the Natbib citation commands and # thus is best suited for switching from Natbib (or the pre-LyX 2.3 # Biblatex workaround) to Biblatex. # The natbib mode supports slightly different and a few more styles # than normal Biblatex. As with normal Biblatex, the use of 'biber' # as Bibliography processor is advised. # DescriptionEnd # Author: Jürgen Spitzmüller Format 66 Requires biblatex PackageOptions biblatex natbib=true # The framework (biblatex|bibtex) CiteFramework biblatex # Cite style variants (default|authoryear|natbib) # We provide both authoryear and numerical citations CiteEngineType authoryear|numerical # Default style files for either engine type DefaultBiblio authoryear:authoryear|numerical:numeric # Maximum number of names before "et al." chimes in MaxCiteNames 3 # The syntax of the cite command definitions below is: # LyXName|alias*[][]=latexcmd # # * LyXName: The LyX name as output in the LyX file. For # portability reasons, we try to use the same # name for same-formatted commands in the # different engines (thus many names stem from # natbib). # * Alias: A (comma-separated) list of commands that fall # back to the given LyX name in the current engine. # This is a bit like "ObsoletedBy" in the layouts. # * latexcmd: The actual LaTeX command that is output. # # Alias and latexcmd are optional. If no latexcmd is given, the # LyXName will be output to LaTeX. # # Note further: # # * The LyXName "keyonly" has a special meaning: only the citation key, # without any latex command, is output. # * Capitalization indicates that the command also has a capitalized # form (\Latexcmd vs. \latexcmd). These usually enforce upcasing of # name prefixes (von Goethe => Von Goethe). # * Brackets [] indicate the number of optional arguments (0, 1, 2). # * The star * indicates there is a starred version of the command # (\latexcmd* vs. \latexcmd). By default, the starred version means: # Expand the author list even if the maxnames setting would cause # BibTeX/Biber to shorten it with "et al.". # If the star has a different meaning for a command, it can be # specified in angle brackets: . # Maximal two translatable macro keywords, marked by the prefix '!_', # can be given. The first points to the string that replaces the # "Full aut&hor list" checkbox label in the Citation dialog, the # second one an optional tooltip for this checkbox. Note that these # two macros have to be defined in the CiteFormat section (see below), # dropping the '!' from the prefix (see below), e.g.: # _stardesc Starred command label # _stardesctooltip Tooltip for the starred command checkbox. # * A trailing $ indicates that a command features "qualified citation # lists" (a specific Biblatex feature) # # CITE COMMAND DEFINITIONS for either engine type # # We support the same cite command as natbib # and add biblatex citation commands on top. CiteEngine authoryear Citet|textcite*[][] Citep|parencite*[][] Citealt|cite*[][] Citealp*[][] Citeauthor*[][] citeyearpar[][] citeyear[][]=cite* citebyear[][]=citeyear Footcite$[][]=smartcite Autocite$[][] citetitle*[][] fullcite[][] footfullcite[][] nocite keyonly End CiteEngine numerical Citep|citealp,citealt*[][] Citet|textcite*[][] supercite Footcite$[][]=smartcite Autocite$[][] Citeauthor[][]* citeyearpar[][] citeyear|citebyear[][] citetitle*[][] fullcite[][] footfullcite[][] nocite keyonly End # # CITE FORMAT # # The following defines how the commands are represented in the GUI # (inset button and citation dialog) as well as in XHTML, docbook and # plain text output. # # There are common definitions (default) and specific definitions for # either cite engine type (which overwrite existing defaults. # # Input standard format definitions for the bibliography Input stdciteformats.inc CiteFormat default # # MACROS # # 1. Translatable bits (need to be marked by _ prefix, if translated to the GUI language, # or B_, if translated to the buffer language) # Note that preceding and trailing spaces matter. # _notcited not cited _addtobib Add to bibliography only. _keyonly Key only. _key Key B_finaland , and _footnote Footnote _foot Foot _fullcite bibliography entry _bibentry Full bibliography entry. _autocite Autocite _auto Auto # GUI strings for the starred commands _citetitlestar F&orce full title[[Possible substitute to All aut&hors]] _citetitlestartooltip Use full title even if shorttitle exists # The following are handled by BiblioInfo B_etal et al. B_namesep , [[separate author names in citation, except for last name]] B_lastnamesep , and [[separate name of last author in citation]] B_pairnamesep and [[separate two authors in citation]] # # 2. Macros re-used in the style definitions # # NOTE: Year is always in parens, also in numerical style !yearopen ( !yearclose ) # A dummy year modifier. This just indicates that a modifier might be output, # to differentiate \cite* and \citeyear !dummymod [a] # A link that lets us jump to the bibliography entry in LyXHTML # %clean:key% will be substituted by the cite key to give a unique id !startlink {!!} !endlink {!!} # Add " , and " before the last item (but " and " if there are only two), else ", " !smartsep {%second%[[{%next%[[%B_namesep%]][[%B_pairnamesep%]]}]][[{%next%[[%B_namesep%]][[%B_lastnamesep%]]}]]} # "Author et al." or "??" !abbrvciteauthor {%abbrvciteauthor%[[%abbrvciteauthor%]][[??]]} # "Author, ..." or "??" !fullciteauthor {%fullciteauthor%[[%fullciteauthor%]][[??]]} # Handle starred command: abbr. or full author list !makeauthor {%ifstar%[[%!fullciteauthor%]][[%!abbrvciteauthor%]]} # "prenote " !textbefore {%textbefore%[[%textbefore% ]]} # ", postnote" !textafter {%textafter%[[, %textafter%]]} # "prenote " (for qualified lists) !ctextbefore {%curpretext%[[%curpretext% ]]} # ", postnote" (for qualified lists) !ctextafter {%curposttext%[[, %curposttext%]]} # Add a year if it exists (else "??") and possibly a modifier (as in 2017a) !makeyear {%year%[[%year%]][[??]]}{%modifier%[[%modifier%]]} # Add a year if it exists (else "??") and indicate a possible modifier (as in 2017[a]) !myear {%year%[[%year%]][[??]]}{%modifier%[[%modifier%]][[{%export%[[]][[%!dummymod%]]}]]} # Add a year if it exists (else "??") without any modifier at all !byear {%year%[[%year%]][[??]]} # Add a shorttitle or title if it exists (else "??") !makeshorttitle {%shorttitle%[[%shorttitle%]][[{%title%[[%title%]][[??]]}]]} # Add a title (or "??") !maketitle {%ifstar%[[{%title%[[%title%]][[??]]}]][[%!makeshorttitle%]]} # "cf. Key..." !fullcite %bibentry%%!nextfullcite% # "...; Author..." !nextauthor {%next%[[%!sep% %!startlink%%!makeauthor%%!endlink%%!nextauthor%]]} # "..., CiteKey..." !nextkey {%next%[[%!sep% %key%%!nextkey%]]} # ".., Year..." (including extra label, as in 2017a) !nextyear {%next%[[%!sep% %!startlink%%!makeyear%%!endlink%%!nextyear%]]} # "...; Nextyear ..." (including emulated extra label, as in 2017[a]) !nextmyear {%next%[[%!sep% %!startlink%%!myear%%!endlink%%!nextmyear%]]} # "...; Nextyear ..." (without any extra label) !nextbyear {%next%[[%!sep% %!startlink%%!byear%%!endlink%%!nextbyear%]]} # "...; Nexttitle ..." !makenexttitle {%next%[[%!sep% %!startlink%%!maketitle%%!endlink%%!makenexttitle%]]} # "...; NextKey..." !nextfullcite {%next%[[%!sep% %bibentry%%!nextfullcite%]]} # # ACTUAL STYLE DEFINITIONS # # (identical in authoryear and numerical) # # "cf. Author; NextAuthor, p. xx" citeauthor %!textbefore%%!startlink%%!makeauthor%%!endlink%%!nextauthor%%!textafter% # "cf. Year; NextYear, S. xx" [Authoryear] / "cf. Year, NextYear, S. xx" [Numerical] citeyear %!textbefore%%!startlink%%!myear%%!endlink%%!nextmyear%%!textafter% # "cf. Year; Nextyear, p. xx" (without any extra label) citebyear %!textbefore%%!startlink%%!byear%%!endlink%%!nextbyear%%!textafter% # "(cf. Year; NextYear, p. xx)" [Authoryear] / "(cf. Year, NextYear, p. xx)" [Numerical] citeyearpar %!yearopen%%!textbefore%%!startlink%%!makeyear%%!endlink%%!nextyear%%!textafter%%!yearclose% # "cf. Year; Nextyear, p. xx" (without any extra label) citetitle %!textbefore%%!startlink%%!maketitle%%!endlink%%!makenexttitle%%!textafter% # "Bibliography entry." (dialog) / "cf. Key; NextKey..., p. xx (bibliography entry)" (button) fullcite {%dialog%[[%_bibentry%]][[%!textbefore%{%label%[[%!fullcite%]][[%key%%!nextkey% (%_fullcite%)]]}%!textafter%}]]} # "Footnote: Full bibliography entry." (dialog) / "Foot: Key (bibliography entry)" footfullcite {%dialog%[[%_footnote%]][[%_foot%]]}: {%dialog%[[%_bibentry%]][[{%label%[[%!fullcite%]][[%key%%!nextkey% (%_fullcite%)]]}]]} # "Add to bibliography only." (dialog) / "[ID] (not cited)" (button) nocite {%dialog%[[%_addtobib%]][[%key%%!nextkey% (%_notcited%)]]} # Output only the key keyonly {%dialog%[[%_keyonly%]][[%_key%: %key%%!nextkey%]]} End CiteFormat authoryear # # MACROS # !open ( !sep ; !close ) # "cf. Author et. al Year..." !makecite %!ctextbefore%%!startlink%%!abbrvciteauthor% %!makeyear%%!endlink%%!ctextafter%%!nextcite% # "Author et al. (cf. Year..." !makecitet %!startlink%%!makeauthor%%!endlink% %!open%%!textbefore%%!makeyear%%!nextcitet% # "cf. Author et al. Year..." !makecitealt %!textbefore%%!startlink%%!makeauthor% %!makeyear%%!endlink%%!nextcitealt% # "Author et al., Year..." !makecitealp %!startlink%%!makeauthor%, %!makeyear%%!endlink%%!nextcitealp% # "...; Nextauthor Year..." !nextcite {%next%[[%!sep% %!makecite%]]} # "...), [and] Nextauthor (Year..." !nextcitet {%next%[[%!close%%!smartsep%%!startlink%%!makeauthor%%!endlink% %!open%%!makeyear%%!nextcitet%]]} # "...; NextAuthor et al. Year..." !nextcitealt {%next%[[%!sep% %!startlink%%!makeauthor% %!makeyear%%!endlink%%!nextcitealt%]]} # "...; NextAuthor et al., Year..." !nextcitealp {%next%[[%!sep% %!makecitealp%]]} # # ACTUAL STYLE DEFINITIONS # # (additions and modifications to default) # # "Author (cf. Year),[ and] NextAuthor (Year, p. xx)" citet %!makecitet%%!textafter%%!close% # "(cf. Author et al., Year; NextAuthor et al., Year, p. xx)" citep %!open%%!textbefore%%!makecitealp%%!textafter%%!close% # "cf. Author et al., Year; NextAuthor et al., Year, p. xx" citealp %!textbefore%%!makecitealp%%!textafter% # "cf. Author Year; NextAuthor Year, p. xx" [NB: textbefore position differs from real natbib!] citealt %!makecitealt%%!textafter% # "Footnote: cf. Author A Year; Author B Year, p. xx." footcite {%dialog%[[%_footnote%]][[%_foot%]]}: %!textbefore%%!makecite%%!textafter%. # "Auto: (cf. Author A Year; Author B Year, p. xx)" autocite {%dialog%[[%_autocite%]][[%_auto%]]}: %!open%%!textbefore%%!makecite%%!textafter%%!close% # Fallback style: "Author A (cf. Year),[ and] Author B (Year, p. xx)" cite %!makecitet%%!textafter%%!close% End CiteFormat numerical # # MACROS # # 1. Translatable bits (need to be marked by _ prefix, if translated to the GUI language, # or B_, if translated to the buffer language) # _super Super _superscript Superscript # # 2. Macros re-used in the style definitions # !open [ !sep , !close ] # "Author [cf. ID..." !makecitet %!makeauthor% %!open%%!textbefore%{%dialog%[[#ID]][[%!startlink%{%numericallabel%[[%numericallabel%]][[#%key%]]}%!endlink%]]}%!nextcitet% # "ID..." !makecitealt {%dialog%[[#ID]][[%!startlink%{%numericallabel%[[%numericallabel%]][[#%key%]]}%!endlink%]]}%!nextcitealt% # "ID..." !hashkey {%dialog%[[#ID]][[%!startlink%{%numericallabel%[[%numericallabel%]][[#%key%]]}%!endlink%%!nexthashkey%]]} # "ID" !makekey %!ctextbefore%{%dialog%[[#ID]][[%!startlink%{%numericallabel%[[%numericallabel%]][[#%key%]]}%!endlink%]]}%!ctextafter%%!nextkey% # "...], [and] NextAuthor [ID..." !nextcitet {%next%[[%!close%%!smartsep%%!makeauthor% %!open%%!textbefore%{%dialog%[[#ID]][[%!startlink%{%numericallabel%[[%numericallabel%]][[#%key%]]}%!endlink%]]}%!nextcitet%]]} # "..., ID..." !nextcitealt {%next%[[%!sep% %!makecitealt%]]} # FIXME: What is this? !nexthashid {%next%[[%!sep% #ID%!nexthashid%]]} # "..., NextID..." !nexthashkey {%next%[[%!sep% %!startlink%{%numericallabel%[[%numericallabel%]][[#%key%]]}%!endlink%%!nexthashkey%]]} # "...); Nextauthor [ID..." !nextcitet {%next%[[%!close%%!smartsep%%!makeauthor% %!open%{%dialog%[[#ID]][[%!startlink%{%numericallabel%[[%numericallabel%]][[#%key%]]}%!endlink%]]}%!nextcitet%]]} # "..., NextID..." !nextkey {%next%[[%!sep% %!ctextbefore%{%dialog%[[#ID]][[%!startlink%{%numericallabel%[[%numericallabel%]][[#%key%]]}%!endlink%]]}%!ctextafter%%!nextkey%]]} # # ACTUAL STYLE DEFINITIONS # # (additions and modifications to default) # # "[cf. ID, NextID, p. xx]" citep %!open%%!textbefore%%!hashkey%%!textafter%%!close% # "Author [cf. ID],[ and] Nextauthor [NextID, p. xx]" citet %!makecitet%%!textafter%%!close% # "Footnote: cf. ID, NextID, p. xx." footcite {%dialog%[[%_footnote%]][[%_foot%]]}: %!textbefore%%!makekey%%!textafter%. # "Auto: (cf. Author A Year; Author B Year, p. xx)" autocite {%dialog%[[%_autocite%]][[%_auto%]]}: %!open%%!textbefore%%!makekey%%!textafter%%!close% # "Superscript: ID" (dialog) / "Super: ID" (button) supercite {%dialog%[[%_superscript%]][[%_super%]]}: %!makekey% # Fallback style: "[cf. ID, NextID..., p. xx]" cite %!open%%!textbefore%%!hashkey%%!textafter%%!close% End