X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fciteengines%2Fbiblatex-natbib.citeengine;h=7bcebae9fdf3b1775b6b7ba6643c1384a92f4854;hb=6c455707fe39a28edab8631d6ff973969b368bb1;hp=aedfb87b20c764366670225b484a88879e36984b;hpb=322808281ff449c542295c8e07d5b6c4c950b571;p=lyx.git diff --git a/lib/citeengines/biblatex-natbib.citeengine b/lib/citeengines/biblatex-natbib.citeengine index aedfb87b20..7bcebae9fd 100644 --- a/lib/citeengines/biblatex-natbib.citeengine +++ b/lib/citeengines/biblatex-natbib.citeengine @@ -10,7 +10,7 @@ # Author: Jürgen Spitzmüller -Format 63 +Format 66 Requires biblatex @@ -48,6 +48,8 @@ MaxCiteNames 3 # # 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). @@ -66,6 +68,8 @@ MaxCiteNames 3 # 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 @@ -82,20 +86,21 @@ CiteEngine authoryear citeyearpar[][] citeyear=cite* citebyear[][]=citeyear - Footcite[][]=smartcite - Autocite[][] + Footcite$[][]=smartcite + Autocite$[][] citetitle*[][] fullcite[][] footfullcite[][] nocite + keyonly End CiteEngine numerical Citep|citealp,citealt*[][] Citet|textcite*[][] supercite - Footcite[][]=smartcite - Autocite[][] + Footcite$[][]=smartcite + Autocite$[][] Citeauthor[][]* citeyearpar[][] citeyear|citebyear[][] @@ -103,6 +108,7 @@ CiteEngine numerical fullcite[][] footfullcite[][] nocite + keyonly End @@ -117,16 +123,23 @@ End # 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) + # 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. - _finaland , and + _keyonly Key only. + _key Key + B_finaland , and _footnote Footnote _foot Foot _fullcite bibliography entry @@ -137,10 +150,10 @@ CiteFormat default _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 - _etal et al. - _namesep , [[separate author names in citation, except for last name]] - _lastnamesep , and [[separate name of last author in citation]] - _pairnamesep and [[separate two authors in citation]] + 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 @@ -159,14 +172,22 @@ CiteFormat default !endlink {!!} # Add " , and " before the last item (but " and " if there are only two), else ", " - !smartsep {%second%[[{%next%[[%_namesep%]][[%_pairnamesep%]]}]][[{%next%[[%_namesep%]][[%_lastnamesep%]]}]]} + !smartsep {%second%[[{%next%[[%B_namesep%]][[%B_pairnamesep%]]}]][[{%next%[[%B_namesep%]][[%B_lastnamesep%]]}]]} # "Author et al." or "??" - !abbrvauthor {%abbrvauthor%[[%abbrvauthor%]][[??]]} + !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]) @@ -181,7 +202,7 @@ CiteFormat default !fullcite %bibentry%%!nextfullcite% # "...; Author..." - !nextauthor {%next%[[%!sep% %!startlink%%!abbrvauthor%%!endlink%%!nextauthor%]]} + !nextauthor {%next%[[%!sep% %!startlink%%!makeauthor%%!endlink%%!nextauthor%]]} # "..., CiteKey..." !nextkey {%next%[[%!sep% %key%%!nextkey%]]} # ".., Year..." (including extra label, as in 2017a) @@ -202,7 +223,7 @@ CiteFormat default # # "cf. Author; NextAuthor, p. xx" - citeauthor %!textbefore%%!startlink%%!abbrvauthor%%!endlink%%!nextauthor%%!textafter% + 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) @@ -217,6 +238,8 @@ CiteFormat default 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 @@ -227,17 +250,21 @@ CiteFormat authoryear !sep ; !close ) + # "cf. Author et. al Year..." + !makecite %!ctextbefore%%!startlink%%!abbrvciteauthor% %!makeyear%%!endlink%%!ctextafter%%!nextcite% # "Author et al. (cf. Year..." - !makecitet %!startlink%%!abbrvauthor%%!endlink% %!open%%!textbefore%%!makeyear%%!nextcitet% + !makecitet %!startlink%%!makeauthor%%!endlink% %!open%%!textbefore%%!makeyear%%!nextcitet% # "cf. Author et al. Year..." - !makecitealt %!textbefore%%!startlink%%!abbrvauthor% %!makeyear%%!endlink%%!nextcitealt% + !makecitealt %!textbefore%%!startlink%%!makeauthor% %!makeyear%%!endlink%%!nextcitealt% # "Author et al., Year..." - !makecitealp %!startlink%%!abbrvauthor%, %!makeyear%%!endlink%%!nextcitealp% + !makecitealp %!startlink%%!makeauthor%, %!makeyear%%!endlink%%!nextcitealp% + # "...; Nextauthor Year..." + !nextcite {%next%[[%!sep% %!makecite%]]} # "...), [and] Nextauthor (Year..." - !nextcitet {%next%[[%!close%%!smartsep%%!startlink%%!abbrvauthor%%!endlink% %!open%%!makeyear%%!nextcitet%]]} + !nextcitet {%next%[[%!close%%!smartsep%%!startlink%%!makeauthor%%!endlink% %!open%%!makeyear%%!nextcitet%]]} # "...; NextAuthor et al. Year..." - !nextcitealt {%next%[[%!sep% %!startlink%%!abbrvauthor% %!makeyear%%!endlink%%!nextcitealt%]]} + !nextcitealt {%next%[[%!sep% %!startlink%%!makeauthor% %!makeyear%%!endlink%%!nextcitealt%]]} # "...; NextAuthor et al., Year..." !nextcitealp {%next%[[%!sep% %!makecitealp%]]} @@ -256,9 +283,9 @@ CiteFormat authoryear # "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%%!makecitealp%%!textafter%. + footcite {%dialog%[[%_footnote%]][[%_foot%]]}: %!textbefore%%!makecite%%!textafter%. # "Auto: (cf. Author A Year; Author B Year, p. xx)" - autocite {%dialog%[[%_autocite%]][[%_auto%]]}: %!open%%!textbefore%%!makecitealp%%!textafter%%!close% + 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% @@ -268,7 +295,8 @@ CiteFormat numerical # # MACROS # - # 1. Translatable bits (need to be marked by _ prefix) + # 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 @@ -281,14 +309,16 @@ CiteFormat numerical !close ] # "Author [cf. ID..." - !makecitet %!abbrvauthor% %!open%%!textbefore%{%dialog%[[#ID]][[%!startlink%{%numericallabel%[[%numericallabel%]][[#%key%]]}%!endlink%]]}%!nextcitet% + !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%%!abbrvauthor% %!open%%!textbefore%{%dialog%[[#ID]][[%!startlink%{%numericallabel%[[%numericallabel%]][[#%key%]]}%!endlink%]]}%!nextcitet%]]} + !nextcitet {%next%[[%!close%%!smartsep%%!makeauthor% %!open%%!textbefore%{%dialog%[[#ID]][[%!startlink%{%numericallabel%[[%numericallabel%]][[#%key%]]}%!endlink%]]}%!nextcitet%]]} # "..., ID..." !nextcitealt {%next%[[%!sep% %!makecitealt%]]} # FIXME: What is this? @@ -296,7 +326,9 @@ CiteFormat numerical # "..., NextID..." !nexthashkey {%next%[[%!sep% %!startlink%{%numericallabel%[[%numericallabel%]][[#%key%]]}%!endlink%%!nexthashkey%]]} # "...); Nextauthor [ID..." - !nextcitet {%next%[[%!close%%!smartsep%%!abbrvauthor% %!open%{%dialog%[[#ID]][[%!startlink%{%numericallabel%[[%numericallabel%]][[#%key%]]}%!endlink%]]}%!nextcitet%]]} + !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