]> git.lyx.org Git - lyx.git/blobdiff - lib/citeengines/biblatex-natbib.citeengine
update comment
[lyx.git] / lib / citeengines / biblatex-natbib.citeengine
index e5c01bdf1d8b638d735bbcfdb24054cbce07a5f8..bf8bcdcd319b5ee810fb9afe5b00b6b57aaa5711 100644 (file)
@@ -10,7 +10,7 @@
 
 # Author: Jürgen Spitzmüller <spitz@lyx.org>
 
-Format 92
+Format 104
 
 Requires biblatex
 
@@ -31,8 +31,12 @@ MaxCiteNames 3
 
 
 # The syntax of the cite command definitions below is:
-# LyXName|alias*<!_stardesc!_stardesctooltip>[][]=latexcmd
+# style@LyXName|alias*<!_stardesc!_stardesctooltip>[][]=latexcmd
 # 
+# * style:    A (comma-separated) list of citestyles to which
+#             this command is specific. If preceeded by '!',
+#             the list indicates citestyles for which the command
+#             is _not_ supported.
 # * 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
@@ -43,7 +47,7 @@ MaxCiteNames 3
 #             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
+# Style, alias and latexcmd are optional. If no latexcmd is given, the
 # LyXName will be output to LaTeX.
 #
 # Note further:
@@ -80,6 +84,7 @@ MaxCiteNames 3
 CiteEngine authoryear
        Citet|textcite*[][]
        Citep|parencite*[][]
+       apa,apa6@nptextcite$[][]
        Citealt|cite*[][]
        Citealp*[][]
        Citeauthor*[][]
@@ -87,9 +92,10 @@ CiteEngine authoryear
        citeyear[][]=cite*
        citebyear[][]=citeyear
        Footcite$[][]=smartcite
-       Autocite$[][]
+       !mla,mla-strict,mla-new,mla7@Autocite$|mlaautocite[][]
+       mla,mla-strict,mla-new,mla7@Mlaautocite|autocite,headlesscite*<!_mlaautocitestar!_mlaautocitetooltip>$[][]=autocite
        citetitle*<!_citetitlestar!_citetitlestartooltip>[][]
-       fullcite[][]
+       !mla,mla-strict,mla-new,mla7@fullcite[][]
        footfullcite[][]
        nocite
        keyonly
@@ -149,6 +155,8 @@ CiteFormat default
        # 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
+       _mlaautocitestar Omit aut&hors[[Possible substitute to All aut&hors]]
+       _mlaautocitestartooltip Omit authors or editors in the citation
        # The following are handled by BiblioInfo
        B_etal  et al.
        B_namesep , [[separate author names in citation, except for last name]]
@@ -174,6 +182,8 @@ CiteFormat default
        # 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." (if > 3 authors) or "??" (variant in parentheses)
+       !abbrvpciteauthor {%abbrvciteauthor%[[{%ifstyle:apa,apa6%[[%abbrvciteauthor&%]][[%abbrvciteauthor%]]}]][[??]]}
        # "Author et al." or "??"
        !abbrvciteauthor {%abbrvciteauthor%[[%abbrvciteauthor%]][[??]]}
        # "Author, ..." or "??"
@@ -182,18 +192,20 @@ CiteFormat default
        !makeauthor {%ifstar%[[%!fullciteauthor%]][[%!abbrvciteauthor%]]}
        # "prenote "
        !textbefore {%textbefore%[[%textbefore% ]]}
+       # Separator before textafter
+       !tasep {%ifstyle:mla,mla-strict,mla-new,mla7%[[]][[,]]}
        # ", postnote"
-       !textafter {%textafter%[[, %textafter%]]}
+       !textafter {%textafter%[[%!tasep% %textafter%]]}
        # "prenote " (for qualified lists)
        !ctextbefore {%curpretext%[[%curpretext% ]]}
        # ", postnote" (for qualified lists)
-       !ctextafter {%curposttext%[[, %curposttext%]]}
+       !ctextafter {%curposttext%[[%!tasep% %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 shorthand if it exists else myear (see above)
-       !shmyear {%shorthand%[[%shorthand%]][[%!myear%]]}
+       !shmyear {%shorthand%[[%shorthand%]][[{%ifstyle:mla,mla-strict,mla-new,mla7%[[%!makeshorttitle%]][[%!myear%]]}]]}
        # Add a year if it exists (else "??") without any modifier at all
        !byear {%year%[[%year%]][[??]]}
        # Add a shorttitle or title if it exists (else "??")
@@ -249,13 +261,20 @@ CiteFormat authoryear
        # MACROS
        #
        !open (
+       !tcopen {%ifstyle:mla,mla-strict,mla-new,mla7%[[]][[(]]}
        !sep ;
        !close )
+       !tcclose {%ifstyle:mla,mla-strict,mla-new,mla7%[[]][[)]]}
+       !aysep {%ifstyle:apa%[[,]]}
 
+       # Title (with MLA), else year
+       !mkyear {%ifstyle:mla,mla-strict,mla-new,mla7%[[, %!makeshorttitle%]][[%!makeyear%]]}
+       # "cf. Author et. al Year..."
+       !makecite %!ctextbefore%%!startlink%%!abbrvciteauthor%%!aysep% %!mkyear%%!endlink%%!ctextafter%%!nextcite%
        # "cf. Author et. al Year..."
-       !makecite %!ctextbefore%%!startlink%%!abbrvciteauthor% %!makeyear%%!endlink%%!ctextafter%%!nextcite%
+       !makepcite %!ctextbefore%%!startlink%%!abbrvpciteauthor%%!aysep% %!mkyear%%!endlink%%!ctextafter%%!nextpcite%
        # "Author et al. (cf. Year..."
-       !makecitet %!startlink%%!makeauthor%%!endlink% %!open%%!textbefore%%!makeyear%%!nextcitet%
+       !makecitet %!startlink%%!makeauthor%%!endlink% %!tcopen%%!textbefore%%!mkyear%%!nextcitet%
        # "cf. Author et al. Year..."
        !makecitealt %!textbefore%%!startlink%%!makeauthor% %!makeyear%%!endlink%%!nextcitealt%
        # "Author et al., Year..."
@@ -263,8 +282,10 @@ CiteFormat authoryear
 
        # "...; Nextauthor Year..."
        !nextcite {%next%[[%!sep% %!makecite%]]}
+       # "...; Nextauthor Year..."
+       !nextpcite {%next%[[%!sep% %!makepcite%]]}
        # "...), [and] Nextauthor (Year..."
-       !nextcitet {%next%[[%!close%%!smartsep%%!startlink%%!makeauthor%%!endlink% %!open%%!makeyear%%!nextcitet%]]}
+       !nextcitet {%next%[[%!tcclose%%!smartsep%%!startlink%%!makeauthor%%!endlink% %!tcopen%%!mkyear%%!nextcitet%]]}
        # "...; NextAuthor et al. Year..."
        !nextcitealt {%next%[[%!sep% %!startlink%%!makeauthor% %!makeyear%%!endlink%%!nextcitealt%]]}
        # "...; NextAuthor et al., Year..."
@@ -277,9 +298,9 @@ CiteFormat authoryear
        #
 
        # "Author (cf. Year),[ and] NextAuthor (Year, p. xx)"
-       citet %!makecitet%%!textafter%%!close%
+       citet %!makecitet%%!textafter%%!tcclose%
        # "(cf. Author et al., Year; NextAuthor et al., Year, p. xx)"
-       citep %!open%%!textbefore%%!makecitealp%%!textafter%%!close%
+       citep %!open%%!textbefore%%!makepcite%%!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!]
@@ -287,10 +308,18 @@ CiteFormat authoryear
        # "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%
+       autocite {%dialog%[[%_autocite%]][[%_auto%]]}: %!open%%!textbefore%%!makepcite%%!textafter%%!close%
 
        # Fallback style: "Author A (cf. Year),[ and] Author B (Year, p. xx)"
        cite %!makecitet%%!textafter%%!close%
+       
+       # Style-specifics
+       # 1. APA
+       # "cf. Author A Year; Author B Year, p. xx"
+       nptextcite %!textbefore%%!makepcite%%!textafter%
+       # 2. MLA
+       # "Auto: (cf. Author A Year; Author B Year, p. xx)"
+       mlaautocite {%dialog%[[%_autocite%]][[%_auto%]]}: %!open%%!textbefore%%!makepcite%%!textafter%%!close%
 End
 
 CiteFormat numerical