X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=lib%2Fciteengines%2Fjurabib.citeengine;h=881deeef2aa776c944df86f7b2a25b940a3c2f61;hb=d4e30ad88f2967a2e464fd3a54a52feeb25e72f1;hp=13bbc6f9d39ab84346e9d8ad4f9c78835aaa748b;hpb=97aea7e5b1707d662d6d7146d53adc97045c44c9;p=lyx.git diff --git a/lib/citeengines/jurabib.citeengine b/lib/citeengines/jurabib.citeengine index 13bbc6f9d3..881deeef2a 100644 --- a/lib/citeengines/jurabib.citeengine +++ b/lib/citeengines/jurabib.citeengine @@ -1,20 +1,71 @@ -# \DeclareLyXCiteEngine[jurabib.sty]{Jurabib} +# \DeclareLyXCiteEngine[jurabib.sty]{Jurabib (BibTeX)} # DescriptionBegin -# Loads the LaTeX package jurabib, a citation engine. Jurabib supports annotations, -# author-year style citations and hyphenation patterns for bibliography entries in -# English, German, French, Dutch, Spanish and Italian. +# Jurabib supports a range of author-year styles primarily suitable for law studies +# and the Humanities. It includes localizations for English, German, French, Dutch, +# Spanish and Italian. # DescriptionEnd -# Excludes: basic | natbib # Author: Julien Rioux -Format 62 +Format 64 Requires jurabib +# The framework (biblatex|bibtex) +CiteFramework bibtex + +# Cite style variants (default|authoryear|natbib) +# We provide only authoryear citations CiteEngineType authoryear + +# Default style file DefaultBiblio jurabib +# 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. + + + # FIXME: support for these jurabib styles (fileformat) # citefield []{} # footcite [][] @@ -28,6 +79,9 @@ DefaultBiblio jurabib # footciteyearpar [][] # footfullcite [][] +# +# CITE COMMAND DEFINITIONS +# CiteEngine authoryear # \cite* is not implemented: use \cite instead, it's the same cite [][] @@ -41,65 +95,145 @@ CiteEngine authoryear citeyearpar [][] fullcite [][] 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. +# + +# Input standard format definitions for the bibliography +Input stdciteformats.inc + CiteFormat authoryear - # translatable bits + # + # MACROS + # + # 1. Translatable bits (need to be marked by _ prefix) + # Note that preceding and trailing spaces matter. + # _notcited not cited _addtobib Add to bibliography only. + _keyonly Key only. + _key Key _fullcite bibliography entry _bibentry Bibliography entry. _before before _shorttitle short title + # The following are handled by BiblioInfo + _etal et al. + _namesep / + _lastnamesep / + _pairnamesep / - # macros + # + # 2. Macros re-used in the style definitions + # !open ( !sep ; !close ) + !obracket [ + !cbracket ] + # 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 {!!} + # "ShortAuthor", "Author" or "??" + !shortauthor {%shortauthor%[[%shortauthor%]][[{%abbrvciteauthor%[[%abbrvciteauthor%]][[??]]}]]} + # "... ShortTitle" + !shorttitle {%shorttitle%[[ %shorttitle%]][[{%dialog%[[ <%_shorttitle%>]][[%!makejurashorttitle%]]}]]} + # Title or "??" + !maketitle {%title%[[ %title%]][[ ??]]} + # "Journal Volume [Year]" + !jurashorttitle {%journal%[[ %journal%]]}{%volume%[[ %volume%]]}{%year%[[ %!obracket%%year%%!cbracket%]]} + # Handle short title fallback + !makejurashorttitle {%ifentrytype:article%[[%!jurashorttitle%]][[{%ifentrytype:periodical%[[%!jurashorttitle%]][[ %!maketitle%]]}]]} + # "prenote " + !textbefore {%textbefore%[[%textbefore% ]]} + # "/prenote" (button) / "/prenote/" (dialog) + !textbefore2 {%textbefore%[[/%textbefore%]][[{%dialog%[[/<%_before%>]]}]]} + # ", postnote" + !textafter {%textafter%[[, %textafter%]]} + # " postnote" + !textafter2 {%textafter%[[ %textafter%]]} + # Add a year if it exists (else "??") and possibly a modifier (as in 2017a) + !year {%year%[[%year%]][[??]]}{%modifier%[[%modifier%]]} + + # "ShortAuthor/prenote postnote..." !cite %!startlink%%!shortauthor%%!endlink%%!textbefore2%%!textafter2%%!nextcite% + # "ShortAuthor/prenote ShortTitle postnote..." !citetitle %!startlink%%!shortauthor%%!endlink%%!textbefore2%%!shorttitle%%!textafter2%%!nextcitetitle% + # "prenote ShortAuthor (Year, postnote)..." !citet %!textbefore%%!startlink%%!shortauthor%%!endlink% %!open%%!year%%!textafter%%!close%%!nextcitet% + # "(prenote ShortAuthor, Year, postnote)" !citep %!open%%!citealp%%!close% + # "prenote ShortAuthor Year, postnote..." !citealt %!textbefore%%!startlink%%!shortauthor% %!year%%!endlink%%!textafter%%!nextcitealt% + # "prenote ShortAuthor, Year, postnote..." !citealp %!textbefore%%!startlink%%!shortauthor%, %!year%%!endlink%%!textafter%%!nextcitealp% + # "prenote ShortAuthor, postnote..." !citeauthor %!textbefore%%!startlink%%!shortauthor%%!endlink%%!textafter%%!nextauthor% + # "prenote Year, postnote..." !citeyear %!textbefore%%!startlink%%!year%%!endlink%%!textafter%%!nextyear% + # "prenote (Year), postnote..." !citeyearpar %!textbefore%%!open%%!startlink%%!year%%!endlink%%!close%%!textafter%%!nextyearpar% + # "prenote in: Key, postnote..." !fullcite {%textbefore%[[%textbefore% in: ]]}%bibentry%{%textafter%[[ %textafter%]]}%!nextfullcite% + # "...; ShortAuthor postnote..." !nextcite {%next%[[%!sep% %!startlink%%!shortauthor%%!endlink%%!textafter2%%!nextcite%]]} + # "...; ShortAuthor ShortTitle postnote..." !nextcitetitle {%next%[[%!sep% %!startlink%%!shortauthor%%!endlink%%!shorttitle%%!textafter2%%!nextcitetitle%]]} + # "...; prenote ShortAuthor (Year, postnote)..." !nextcitet {%next%[[%!sep% %!citet%]]} + # "...; prenote ShortAuthor Year, postnote..." !nextcitealt {%next%[[%!sep% %!citealt%]]} + # "...; prenote ShortAuthor, Year, postnote..." !nextcitealp {%next%[[%!sep% %!citealp%]]} + # "...; prenote ShortAuthor, postnote..." !nextauthor {%next%[[%!sep% %!citeauthor%]]} + # "...; prenote Year, postnote..." !nextyear {%next%[[%!sep% %!citeyear%]]} + # "...; prenote (Year), postnote..." !nextyearpar {%next%[[%!sep% %!citeyearpar%]]} - !nextfullcite {%next%[[%!sep% %bibentry%{%textafter%[[ %textafter%]]}%!nextfullcite%]]} + # "...; Key, postnote..." + !nextfullcite {%next%[[%!sep% %bibentry%%textafter%%!nextfullcite%]]} + # "...; Key..." !nextkey {%next%[[%!sep% %key%%!nextkey%]]} - !shortauthor {%shortauthor%[[%shortauthor%]][[??]]} - !shorttitle {%shorttitle%[[ %shorttitle%]][[{%dialog%[[ <%_shorttitle%>]]}]]} - !textbefore {%textbefore%[[%textbefore% ]]} - !textbefore2 {%textbefore%[[/%textbefore%]][[{%dialog%[[/<%_before%>]]}]]} - !textafter {%textafter%[[, %textafter%]]} - !textafter2 {%textafter%[[ %textafter%]]} - !year {%year%[[%year%]][[??]]}{%modifier%[[%modifier%]]} + # + # ACTUAL STYLE DEFINITIONS + # - # cite styles + # "ShortAuthor/prenote postnote; NextShortAuthor postnote..." cite %!cite% + # "ShortAuthor/prenote ShortTitle postnote; NextShortAuthor ShortTitle postnote..." citetitle %!citetitle% + # "prenote ShortAuthor (Year, postnote); prenote NextShortAuthor (Year, postnote)..." citet %!citet% + # "(prenote ShortAuthor, Year, postnote)" citep %!citep% + # "prenote ShortAuthor Year, postnote; prenote NextShortAuthor Year, postnote..." citealt %!citealt% + # "prenote ShortAuthor, Year, postnote.; prenote NextShortAuthor, Year, postnote..." citealp %!citealp% + # "prenote ShortAuthor, postnote; prenote NextShortAuthor, postnote..." citeauthor %!citeauthor% + # "prenote Year, postnote; prenote Year, postnote..." citeyear %!citeyear% + # "prenote (Year), postnote; prenote (Year), postnote..." citeyearpar %!citeyearpar% + # "Bibliography entry." (dialog) / "Key; Key ... (full cite)" (button) fullcite {%dialog%[[%_bibentry%]][[{%label%[[%!fullcite%]][[%key%%!nextkey% (%_fullcite%)]]}]]} + # "Add to bibliography only." (dialog) / "Key; Key ... (not cited)" (button) nocite {%dialog%[[%_addtobib%]][[%key%%!nextkey% (%_notcited%)]]} + # Output only the key + keyonly {%dialog%[[%_keyonly%]][[%_key%: %key%%!nextkey%]]} End