diff options
author | Karl Berry <karl@freefriends.org> | 2017-11-29 22:08:15 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-11-29 22:08:15 +0000 |
commit | c10b224e35e41cba021f9ba70ab1fa1fce07b692 (patch) | |
tree | 16f6b26bf7ec760249b13d077ece102a490528d2 /Master/texmf-dist/source/latex | |
parent | fb866ac81cc69015802089c7def6109c0bed1c95 (diff) |
biblatex-philosophy (29nov17)
git-svn-id: svn://tug.org/texlive/trunk@45944 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex')
-rw-r--r-- | Master/texmf-dist/source/latex/biblatex-philosophy/biblatex-philosophy.dtx | 483 |
1 files changed, 319 insertions, 164 deletions
diff --git a/Master/texmf-dist/source/latex/biblatex-philosophy/biblatex-philosophy.dtx b/Master/texmf-dist/source/latex/biblatex-philosophy/biblatex-philosophy.dtx index 98eb66090db..0aa260995af 100644 --- a/Master/texmf-dist/source/latex/biblatex-philosophy/biblatex-philosophy.dtx +++ b/Master/texmf-dist/source/latex/biblatex-philosophy/biblatex-philosophy.dtx @@ -101,7 +101,7 @@ This work has the LPPL maintenance status "author-maintained". %<spanish-lbx>\ProvidesFile{spanish-philosophy.lbx} %<french-lbx>\ProvidesFile{french-philosophy.lbx} %<*standard-bbx|classic-bbx|modern-bbx|verbose-bbx|classic-cbx|modern-cbx|verbose-cbx|italian-lbx|english-lbx|spanish-lbx|french-lbx> -[2017/10/05 v1.9.7 A set of styles for biblatex] +[2017/11/29 v1.9.8 A set of styles for biblatex] %</standard-bbx|classic-bbx|modern-bbx|verbose-bbx|classic-cbx|modern-cbx|verbose-cbx|italian-lbx|english-lbx|spanish-lbx|french-lbx> %<*driver> \documentclass[10pt]{ltxdoc} @@ -272,7 +272,7 @@ hidelinks, %</driver> % \fi % -% \CheckSum{4321} +% \CheckSum{4458} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -290,6 +290,7 @@ hidelinks, % Grave accent \` Left brace \{ Vertical bar \| % Right brace \} Tilde \~} % +% \changes{v1.9.8}{2017/11/29}{Maintenance release. Updated macros involving \texttt{extrayear} component.} % \changes{v1.9.7}{2017/10/05}{Maintenance release. Fixed a bug in the \bibtype{set} bibliography driver.} % \changes{v1.9.6}{2017/09/14}{Maintenance release. Fixed a bug in the \cmd{fullcite} command.} % \changes{v1.9.5}{2017/04/13}{Styles completely revised. Provided support for the \opt{mergedate} default option. \opt{latinemph} option defined globally. New values for \opt{scauthors} option. Support for the \bibtype{set} entries for \sty{modern} style. \opt{classical} option removed for Spanish. Provided experimental French localization module. Improved \opt{annotation} option. Updated documentation.} @@ -425,7 +426,7 @@ hidelinks, %\section{Use} % % -%The styles can be loaded as usual, but to ensure language-specific quotation marks you need \sty{babel} or \sty{polyglossia} and \sty{csquotes} \parencite[see][]{babel,polyglossia,csquotes}. Biber in place of Bib\TeX{} is also required as backend bibliography processor \parencite{kime:biber}. The example below shows a typical code for an Italian document. Replace \meta{style} with \sty{classic}, \sty{modern} or \sty{verbose}, and \meta{bibfile} with the name of your bibliography database (``.bib'' must be declared). For other languages you can choose to use or not the Italian-style quotation marks provided by \sty{csquotes}. +%The styles can be loaded as usual, but to ensure language-specific quotation marks you need \sty{babel} (or \sty{polyglossia}) and \sty{csquotes} \parencite[see][]{babel,polyglossia,csquotes}. Biber in place of Bib\TeX{} is also required as backend bibliography processor \parencite{kime:biber}. The example below shows a typical code for an Italian document. Replace \meta{style} with \sty{classic}, \sty{modern} or \sty{verbose}, and \meta{bibfile} with the name of your bibliography database (``.bib'' must be declared). For other languages you can choose to use or not the Italian-style quotation marks provided by \sty{csquotes}. %\begin{ttquote} %\cmd{usepackage}\oar{italian}\ar{babel}\\ %\cmd{usepackage}\oar{style=italian}\ar{csquotes}\\ @@ -439,9 +440,9 @@ hidelinks, % % %\section{The styles}\label{sec:introduction} -% This bundle provides three styles: a verbose style (\sty{philosophy-verbose}) and two author-year styles (\sty{philosophy-classic} and \sty{philosophy-modern}). The first simple and trivial characteristic of these style is that they use commas instead of dots to separate the parts of the entry, according to the most common Italian tradition. But they do much more, of course. The other features, some of which are style-dependent, are described in the next sections and can be easily examined looking at the examples at the end of this documentation or typesetting the example files in the \TeX Live folder \texttt{texmf-dist/doc/latex/biblatex-philosophy/examples.zip}. +% This bundle provides two author-year styles (\sty{philosophy-classic} and \sty{philosophy-modern}) and a verbose style (\sty{philosophy-verbose}) and. The first simple and trivial characteristic of these style is that they use commas instead of dots to separate the parts of the entry, according to the most common Italian tradition. But they do much more, of course. The other features, some of which are style-dependent, are described in the next sections and can be easily examined looking at the examples at the end of this documentation or typesetting the example files in the \TeX Live folder \texttt{texmf-dist/doc/latex/biblatex-philosophy/examples.zip}. % -% Note that \sty{biblatex} adopts by default a very rational criterion for the ordering of the list of namens in multi-authors/editors entries. Only for the first author/editor the surname precedes the name while the other authors/editors are typeset in the form ``Name Surname'' (e.g. ``Eco, Umberto and Gianni Vattimo''). The Italian (academic) writers often see this feature like a sort of inconsistency. Actually it is inconsistent to typeset all the authors in the form ``Surname, Name'' when this is useless. +% Note that \sty{biblatex} adopts by default a very rational criterion for the ordering of the list of names in multi-authors/editors entries. Only for the first author/editor the surname precedes the name while the other authors/editors are typeset in the form ``Name Surname'' (e.g. ``Eco, Umberto and Gianni Vattimo''). The Italian (academic) writers often see this feature like a sort of inconsistency. Actually it is inconsistent to typeset all the authors in the form ``Surname, Name'' when this is useless. % %\subsection[\sty{philosophy-classic}]{The \sty{philosophy-classic} style} % @@ -520,7 +521,7 @@ hidelinks, % \textsuperscript{2} \emph{Ivi}, p. 26. \\ % \textsuperscript{3} \emph{Ibidem}. \\ % \textsuperscript{4} \fullcite{heidegger:sz}.\\ -% \textsuperscript{5} Valbusa, \emph{Psicologia e sistema} cit., p. 35. +% \textsuperscript{5} Valbusa, ``Psicologia e sistema'' cit., p. 35. % \end{bibexample} %\smallskip % @@ -757,7 +758,10 @@ hidelinks, % % \fielditem{entrysubtype}{literal\makebox[0pt][l]{\hspace*{2cm}[\sty{philosophy-classic} and \sty{philosophy-modern} only]}} % With the \opt{classic} value the citation commands will produce an -% author-title label. This is useful for citing works from classical antiquity, such as \cite{aristotle:ethics}. +% author-title label. This is useful for citing works from classical antiquity. +%\begin{bibexample} +% This topic is examined in \cite{aristotle:ethics} and in Rogers (2015). +%\end{bibexample} %\begin{latexcode}\begin{verbatim} %@book{aristotle:ethics, % entrysubtype = {classic}, @@ -792,14 +796,14 @@ hidelinks, % %This field is printed in a new paragraph at the very end of the entry. It requires the \opt{annotation} option. The default font can be changed redefining the \cmd{annotationfont} command (section \ref{sec:customization}): %\begin{bibexamplelist} -%\item \fullcite{lehman:biblatex}.\\[.5ex] -%{\footnotesize \emphasize{This package provides advanced bibliographic facilities +%\item \fullcite{lehman:biblatex}.\\ +% \emphasize{This package provides advanced bibliographic facilities % for use with \LaTeX. The package is a complete % reimplementation of the bibliographic facilities provided % by \LaTeX. The biblatex package works with the “backend” % (program) \texttt{biber}, which is used to process Bib\TeX{} % format data files and them performs all sorting, label -% generation (and a great deal more).}\par} +% generation (and a great deal more).} %\end{bibexamplelist} %\begin{latexcode}\begin{verbatim} %@online{lehman:biblatex, @@ -828,29 +832,33 @@ hidelinks, %\cmditem{sdcite}{key}\hfill[\sty{philosophy-classic} and \sty{philosophy-modern} only] % %Uses an author-title label instead of an author-year label. -%It is useful for some classical or undated works. Anyway you should prefer the \opt{entrysubtype=classic} field. -% Writing \verb!\sdcite[15]{guzman:sd}! you will obtain: \sdcite{guzman:sd}. +%It is useful for some classical or undated works. Anyway you should prefer the \opt{entrysubtype=classic} field (see above). +%\begin{bibexample} +% See \sdcite{guzman:sd} and Rogers (2015) for details. +%\end{bibexample} % %\cmditem{footcitet}{key} \hfill[\sty{philosophy-classic} and \sty{philosophy-modern} only] -% +% Same as \cmd{footcite} but with the \cmd{textcite} style.\textsuperscript{b} +%\begin{bibexample} %\begin{minipage}{.9\textwidth} % \begin{NoHyper} -% Same as \cmd{footcite},\footcite[12-13]{corrocher:2009} but with the \cmd{textcite} style.\footcitet[12-13]{corrocher:2009} +% Medicine is an art\footnote{\emphasize{\cite[12-13]{corrocher:2009}.}} but it is also a science.\footnote{\emphasize{\textcite[12-13]{corrocher:2009}.}} %\end{NoHyper} %\end{minipage} +%\end{bibexample} % %\cmditem{ccite}{key}\hfill[\sty{philosophy-verbose} only] % %The same as \cmd{cite}, but omits the author's (editor's) name (defined only for the \sty{verbose} style). Here is an example: +%\begin{bibexample} +%This topic is discussed in P. Rossi, \emph{History of Types}, La TeXnica, Verona 2007 and in the recent \emph{Types of History}, Typographica, Milano 2008. +%\end{bibexample} %\begin{latexcode} %\begin{verbatim} %This topic is discussed in \cite{Rossi:2007} and in the recent %\ccite{Rossi:2008}. %\end{verbatim} %\end{latexcode} -%\begin{bibexample} -%This topic is discussed in P. Rossi, \emph{History of Types}, La TeXnica, Verona 2007 and in the recent \emph{Types of History}, Typographica, Milano 2008. -%\end{bibexample} %\end{ltxsyntax} % % @@ -1034,7 +1042,7 @@ hidelinks, % %\boolitem[true]{restoreclassic} % -% [\sty{philosophy-modern} and \sty{philosophy-classic} only] +% [\sty{philosophy-modern} only] % %This option can be given in the optional argument of \cmd{printbibliography}. %It restores the \sty{classic} style within a document typeset using the \sty{modern} style. It is useful to compose a ``Web List'' like that at the end of this document. For example: @@ -1063,7 +1071,7 @@ hidelinks, % %\section{Customizations}\label{sec:customization} % Here we introduce the new commands and lenghts provided by \sty{biblatex-philosophy}. The \sty{biblatex} package offers other commands, lenghts and options to modify many aspects of citations and bibliography. See the \sty{biblatex} documentation for details. -%\subsection{Fonts and punctuation} +%\subsection{Fonts} %\begin{ltxsyntax} %\cmditem{annotationfont} \hfill default: \cmd{footnotesize} % @@ -1085,6 +1093,8 @@ hidelinks, %\end{latexcode} %\end{ltxsyntax} % +%\subsection{Punctuation} +% %\begin{ltxsyntax} %\cmditem{volnumpunct} \hfill default: \cmd{addcomma}\cmd{space} % @@ -1312,13 +1322,14 @@ hidelinks, %\defbibnote{philosophy-examples}{\sffamily\small The source of this bibliography, typeset in the \sty{modern} style, is the \file{biblatex-philosophy.bib} database, distributed with the \sty{biblatex-philosophy} package. It is provided for checking all the style-specific features. This list should not highlight any bugs.} % % -%\printbibliography[heading=bibintoc,keyword=primaria,restoreclassic,prenote=restoreclassic] -% +%\printbibliography[heading=bibintoc,keyword=primaria, +% restoreclassic,prenote=restoreclassic] %\printbibheading[heading=bibintoc,title=Examples] -% -%\printbibliography[heading=subbibliography,title=A Web List,keyword=web,restoreclassic,prenote=weblist,annotation=false] -% -%\printbibliography[heading=subbibliography,title=Philosophy examples,prenote=philosophy-examples,keyword=esempio] +%\printshorthands[heading=subbibliography] +%\printbibliography[heading=subbibliography,title=A Web +% List,keyword=web,restoreclassic,prenote=weblist,annotation=false] +%\printbibliography[heading=subbibliography,title=Philosophy +% examples,prenote=philosophy-examples,keyword=esempio] % %\nocite{set,stdmodel,matuz:doody,vizedom:related,britannica,gaonkar,jaffe,westfahl:frontier,cms,ctan,jcg,yoon,worman,wilde,westfahl:space,weinberg,wassenberg,vazques-de-parga,springer,spiegelberg,sorace,sigfridsson,shore,sarfraz,salam,reese,pines,piccato,padhye,nussbaum,nietzsche:ksa,nietzsche:ksa1,nietzsche:historie,moraux,moore,moore:related,massa,maron,markey,malinowski,loh,laufenberg,kullback,kullback:reprint,kullback:related,kowalik,knuth:ct,knuth:ct:a,knuth:ct:b,knuth:ct:c,knuth:ct:d,knuth:ct:e,knuth:ct:related,kastenholz,kant:kpv,kant:ku,itzhaki,hyman,murray,iliad,herrmann,hammond,companion,gonzalez,glashow,gillies,gerhardt,vangennep,vangennep:trans,vangennep:related,geer,gaonkar:in,doody,cotton,coleridge,cicero,chiu,brandt,bertram,baez/article,baez/online,averroes/bland,averroes/hannes,averroes/hercz,augustine,aristotle:anima,aristotle:physics,aristotle:poetics,aristotle:rhetoric,angenendt,almendro,aksin} % @@ -3099,9 +3110,7 @@ hidelinks, \usebibmacro{in:}% \usebibmacro{maintitle+booktitle}% \newunit\newblock -\printtext{% - \printfield{labelyear}% - \printfield{extrayear}} +\printdateextra \usebibmacro{byeditor+others}% \newunit\newblock \printfield{edition}% @@ -3662,151 +3671,294 @@ hidelinks, \ifstrequal{#1}{false}{\togglefalse{bbx:nodate}}{}}% % \end{macrocode} % The \opt{mergedate} option from \file{authoryear.bbx} must be completely redefined. -% We actually revise only the \texttt{date+extrayear} macro and all the \texttt{issue+date} macros +% We actually revise only the \texttt{date+extradate} macro and all the \texttt{issue+date} macros % except for that one in the \cmd{bbx@opt@mergedate@maximum}. % The test \cmd{ifboolexpr} is required to make \texttt{bbx:nodate} macro work properly and % the \cmd{postsepyear} command is used to surround the date label with a box of fixed width. % \begin{macrocode} +%\def\bbx@opt@mergedate@maximum{% +% \renewbibmacro*{date+extradate}{% +% \ifboolexpr{% +% test {\iffieldundef{date}} +% and +% test {\iffieldundef{year}} +% }% +% {\usebibmacro{bbx:nodate}} +% {\postsepyear{% +% \printfield{issue}% +% \setunit*{\addspace}% +% \iffieldsequal{year}{labelyear} +% {\printlabeldateextra}% +% {\printdateextra}% +% }}}% +% \renewbibmacro*{date}{}% +% \renewbibmacro*{issue+date}{}} \def\bbx@opt@mergedate@maximum{% - \renewbibmacro*{date+extrayear}{% - \ifboolexpr{% - test {\iffieldundef{date}} - and - test {\iffieldundef{year}} - }% - {\usebibmacro{bbx:nodate}} - {\postsepyear{% - \printfield{issue}% - \setunit*{\addspace}% - \iffieldsequal{year}{labelyear} - {\printlabeldateextra}% - {\printfield{labelyear}% - \printfield{extrayear}}% - }}}% - \renewbibmacro*{date}{}% - \renewbibmacro*{issue+date}{}} + \renewbibmacro*{date+extradate}{% + \iffieldundef{labelyear} + {\usebibmacro{bbx:nodate}} + {\postsepyear{% + \iflabeldateisdate + {\printfield{issue}% + \setunit*{\addspace}% + \printdateextra} + {\printlabeldateextra}}}}% + \renewbibmacro*{date}{% + \iflabeldateisdate + {} + {\printdate}}% + \renewbibmacro*{issue+date}{% + \iflabeldateisdate + {} + {\ifdefstring{\bbx@volnumformat}{parens}% + {\printtext{% + \printfield{issue}% + \setunit*{\addspace}% + \printdate}} + {\printtext[pureparens]{% + \printfield{issue}% + \setunit*{\addspace}% + \printdate}}}}} + % merge date with date label +%\def\bbx@opt@mergedate@compact{% +% \renewbibmacro*{date+extradate}{% +% \ifboolexpr{% +% test {\iffieldundef{date}} +% and +% test {\iffieldundef{year}} +% }% +% {\usebibmacro{bbx:nodate}} +% {\postsepyear{% +% \iffieldsequal{year}{labelyear} +% {\printlabeldateextra}% +% {\printdateextra}% +% }}}% +% \renewbibmacro*{date}{}% +% \renewbibmacro*{issue+date}{% +% \iffieldundef{issue} +% {} +% {\ifdefstring{\bbx@volnumformat}{parens}% +% {\printtext{% +% \printfield{issue}% +% \printdate}}% +% {\printtext[pureparens]{% +% \printfield{issue}}}}% +% \newunit}} \def\bbx@opt@mergedate@compact{% - \renewbibmacro*{date+extrayear}{% - \ifboolexpr{% - test {\iffieldundef{date}} - and - test {\iffieldundef{year}} - }% - {\usebibmacro{bbx:nodate}} - {\postsepyear{% - \iffieldsequal{year}{labelyear} - {\printlabeldateextra}% - {\printfield{labelyear}% - \printfield{extrayear}}% - }}}% - \renewbibmacro*{date}{}% + \renewbibmacro*{date+extradate}{% + \iffieldundef{labelyear} + {\usebibmacro{bbx:nodate}} + {\postsepyear{% + \iflabeldateisdate + {\printdateextra} + {\printlabeldateextra}}}}% + \renewbibmacro*{date}{% + \iflabeldateisdate + {} + {\printdate}}% \renewbibmacro*{issue+date}{% - \iffieldundef{issue} - {} + \ifboolexpr{not test {\iffieldundef{issue}} + or not test {\iflabeldateisdate}} {\ifdefstring{\bbx@volnumformat}{parens}% - {\printtext{% - \printfield{issue}% - \printdate}}% - {\printtext[pureparens]{% - \printfield{issue}}}}% - \newunit}} + {\printtext{% + \printfield{issue}% + \setunit*{\addspace}% + \iflabeldateisdate + {} + {\printdate}% + }}% + {\printtext[pureparens]{% + \printfield{issue}% + \setunit*{\addspace}% + \iflabeldateisdate + {} + {\printdate}% + }}} + {}% + \newunit}} % merge year-only date with date label +%\def\bbx@opt@mergedate@basic{% +% \renewbibmacro*{date+extradate}{% +% \ifboolexpr{% +% test {\iffieldundef{date}} +% and +% test {\iffieldundef{year}} +% }% +% {\usebibmacro{bbx:nodate}} +% {\postsepyear{% +% \printdateextra% +% }}}% +% \renewbibmacro*{date}{% +% \iffieldundef{month} +% {} +% {\printdate}}% +% \renewbibmacro*{issue+date}{% +% \ifboolexpr{ +% test {\iffieldundef{issue}} +% and +% test {\iffieldundef{month}} +% } +% {} +% {\ifdefstring{\bbx@volnumformat}{parens}% +% {\printtext{% +% \printfield{issue}\setunit*{\addspace}% +% \printdate}}% +% {\printtext[pureparens]{% +% \printfield{issue}\setunit*{\addspace}% +% \printdate}}}% +% \newunit}} + \def\bbx@opt@mergedate@basic{% - \renewbibmacro*{date+extrayear}{% - \ifboolexpr{% - test {\iffieldundef{date}} - and - test {\iffieldundef{year}} - }% - {\usebibmacro{bbx:nodate}} - {\postsepyear{% - \printfield{labelyear}% - \printfield{extrayear}% - }}}% + \renewbibmacro*{date+extradate}{% + \iffieldundef{labelyear} + {\usebibmacro{bbx:nodate}} + {\postsepyear{\printlabeldateextra}}}% \renewbibmacro*{date}{% - \iffieldundef{month} - {} - {\printdate}}% + \ifboolexpr{ + test {\iflabeldateisdate} + and + not test {\ifdateshavedifferentprecision{label}{}} + } + {} + {\printdate}}% \renewbibmacro*{issue+date}{% \ifboolexpr{ - test {\iffieldundef{issue}} + test {\iflabeldateisdate} and - test {\iffieldundef{month}} + not test {\ifdateshavedifferentprecision{label}{}} + and + test {\iffieldundef{issue}} } - {} + {} {\ifdefstring{\bbx@volnumformat}{parens}% {\printtext{% - \printfield{issue}\setunit*{\addspace}% - \printdate}}% - {\printtext[pureparens]{% - \printfield{issue}\setunit*{\addspace}% - \printdate}}}% + \printfield{issue}% + \setunit*{\addspace}% + \printdate}} + {\printtext[parens]{% + \printfield{issue}% + \setunit*{\addspace}% + \printdate}}}% \newunit}} % merge year-only date with year-only date label +%\def\bbx@opt@mergedate@minimum{% +% \renewbibmacro*{date+extradate}{% +% \ifboolexpr{% +% test {\iffieldundef{date}} +% and +% test {\iffieldundef{year}} +% }% +% {\usebibmacro{bbx:nodate}} +% {\postsepyear{% +% \printdateextra% +% }}}% +% \renewbibmacro*{date}{% +% \ifboolexpr{ +% test {\iffieldundef{month}} +% and +% test {\iffieldundef{extrayear}} +% } +% {} +% {\printdate}}% +% \renewbibmacro*{issue+date}{% +% \ifboolexpr{ +% test {\iffieldundef{issue}} +% and +% test {\iffieldundef{month}} +% and +% test {\iffieldundef{extrayear}} +% } +% {} +% {\ifdefstring{\bbx@volnumformat}{parens}% +% {\printtext{% +% \printfield{issue}\setunit*{\addspace}% +% \printdate}}% +% {\printtext[pureparens]{% +% \printfield{issue}\setunit*{\addspace}% +% \printdate}}}% +% \newunit}} + + \def\bbx@opt@mergedate@minimum{% - \renewbibmacro*{date+extrayear}{% - \ifboolexpr{% - test {\iffieldundef{date}} - and - test {\iffieldundef{year}} - }% - {\usebibmacro{bbx:nodate}} - {\postsepyear{% - \printfield{labelyear}% - \printfield{extrayear}% - }}}% + \renewbibmacro*{date+extradate}{% + \iffieldundef{labelyear} + {\usebibmacro{bbx:nodate}} + {\postsepyear{\printlabeldateextra}}}% \renewbibmacro*{date}{% \ifboolexpr{ - test {\iffieldundef{month}} + test {\iflabeldateisdate} + and + not test {\ifdateshavedifferentprecision{label}{}} and - test {\iffieldundef{extrayear}} + test {\iffieldundef{extradate}} } - {} - {\printdate}}% + {} + {\printdate}}% \renewbibmacro*{issue+date}{% \ifboolexpr{ - test {\iffieldundef{issue}} + test {\iflabeldateisdate} and - test {\iffieldundef{month}} + not test {\ifdateshavedifferentprecision{label}{}} and - test {\iffieldundef{extrayear}} + test {\iffieldundef{extradate}} + and + test {\iffieldundef{issue}} } - {} + {} {\ifdefstring{\bbx@volnumformat}{parens}% {\printtext{% - \printfield{issue}\setunit*{\addspace}% - \printdate}}% + \printfield{issue}% + \setunit*{\addspace}% + \printdate}} {\printtext[pureparens]{% - \printfield{issue}\setunit*{\addspace}% - \printdate}}}% + \printfield{issue}% + \setunit*{\addspace}% + \printdate}}}% \newunit}} % don't merge date/issue with date label +%\def\bbx@opt@mergedate@false{% +% \renewbibmacro*{date+extradate}{% +% \ifboolexpr{% +% test {\iffieldundef{date}} +% and +% test {\iffieldundef{year}} +% }% +% {\usebibmacro{bbx:nodate}} +% {\postsepyear{% +% \printdateextra% +% }}}% +% \renewbibmacro*{date}{\printdate}% +% \renewbibmacro*{issue+date}{% +% {\ifdefstring{\bbx@volnumformat}{parens}% +% {\printtext{% +% \printfield{issue}\setunit*{\addspace}% +% \printdate}}% +% {\printtext[pureparens]{% +% \printfield{issue}\setunit*{\addspace}% +% \printdate}}}}} + \def\bbx@opt@mergedate@false{% - \renewbibmacro*{date+extrayear}{% - \ifboolexpr{% - test {\iffieldundef{date}} - and - test {\iffieldundef{year}} - }% - {\usebibmacro{bbx:nodate}} - {\postsepyear{% - \printfield{labelyear}% - \printfield{extrayear}% - }}}% + \renewbibmacro*{date+extradate}{% + \iffieldundef{labelyear} + {\usebibmacro{bbx:nodate}} + {\postsepyear{\printlabeldateextra}}}% \renewbibmacro*{date}{\printdate}% \renewbibmacro*{issue+date}{% - {\ifdefstring{\bbx@volnumformat}{parens}% - {\printtext{% - \printfield{issue}\setunit*{\addspace}% - \printdate}}% - {\printtext[pureparens]{% - \printfield{issue}\setunit*{\addspace}% - \printdate}}}}} + \ifdefstring{\bbx@volnumformat}{parens}% + {\printtext{% + \printfield{issue}% + \setunit*{\addspace}% + \usebibmacro{date}}} + {\printtext[pureparens]{% + \printfield{issue}% + \setunit*{\addspace}% + \usebibmacro{date}}}% + \newunit}} % \end{macrocode} % Now we can execute all the style-specific options previously defined. % We also define other default options according to the style features. @@ -3848,16 +4000,16 @@ hidelinks, % \end{macrocode} % In the list of shorthands the author-date format is useless % but the cross-referenced entries still require this format. -% So we first save the \texttt{date+extrayear} then we redefine it +% So we first save the \texttt{date+extradate} then we redefine it % so that it print nothing and finally we restore it in the definition of \cmd{bbx@crossref@inbook} % command. The redefinition of \cmd{postsepyear} is also required here because the next codes are inherited % by the \sty{modern} style which globally define \cmd{postsepyear}. % \begin{macrocode} -\savebibmacro{date+extrayear} -\renewbibmacro*{date+extrayear}{} +\savebibmacro{date+extradate} +\renewbibmacro*{date+extradate}{} \DeclareCiteCommand{\bbx@crossref@inbook} {\renewcommand*{\postsepyear}{\printtext[parens]}% - \restorebibmacro{date+extrayear}}% + \restorebibmacro{date+extradate}}% {\iffieldundef{shorthand}{% \usebibmacro{citeindex}% \ifuseeditor{% @@ -3866,13 +4018,13 @@ hidelinks, {\printnames[][-\value{minnamesincross}]{labelname}}}% {\usebibmacro{labeltitle}}% \setunit*{\addspace}% - \usebibmacro{date+extrayear}}% + \usebibmacro{date+extradate}}% {\usebibmacro{cite:shorthand}}}% {}% {}% \DeclareCiteCommand{\bbx@crossref@incollection}% {\renewcommand*{\postsepyear}{\printtext[parens]}% - \restorebibmacro{date+extrayear}}% + \restorebibmacro{date+extradate}}% {\iffieldundef{shorthand}{% \usebibmacro{citeindex}% \ifuseeditor{% @@ -3881,7 +4033,7 @@ hidelinks, {\printnames[][-\value{minnamesincross}]{labelname}}}% {\usebibmacro{labeltitle}}% \setunit*{\addspace}% - \usebibmacro{date+extrayear}}% + \usebibmacro{date+extradate}}% {\usebibmacro{cite:shorthand}}}% {}% {}% @@ -3942,7 +4094,7 @@ hidelinks, {\global\undef\bbx@lasthash \usebibmacro{labeltitle}% \setunit*{\printdelim{nonameyeardelim}}}% - \usebibmacro{date+extrayear}} + \usebibmacro{date+extradate}} \renewbibmacro*{bbx:editor}[1]{% \ifboolexpr{ @@ -3961,7 +4113,7 @@ hidelinks, {\global\undef\bbx@lasthash \usebibmacro{labeltitle}% \setunit*{\printdelim{nonameyeardelim}}}% - \usebibmacro{date+extrayear}} + \usebibmacro{date+extradate}} \renewbibmacro*{bbx:translator}[1]{% \ifboolexpr{ @@ -3980,7 +4132,7 @@ hidelinks, {\global\undef\bbx@lasthash \usebibmacro{labeltitle}% \setunit*{\printdelim{nonameyeardelim}}}% - \usebibmacro{date+extrayear}} + \usebibmacro{date+extradate}} % \end{macrocode} % When the \bibtype{incollection}s entries have no author, editor or translator the title is used in place of the label. As the title is printed inside quotes by default, the closing quotes end on a new line when using the \sty{modern} style. This is strange and, at least for me, unexpected. To avoid it we add \cmd{blx@postpunct}. % \begin{macrocode} @@ -4003,7 +4155,7 @@ hidelinks, {\printnames[][-\value{minnamesincross}]{labelname}}}% {\usebibmacro{labeltitle}}% \setunit*{\addspace}% - \printtext[bibhyperref]{\usebibmacro{date+extrayear}}}% + \printtext[bibhyperref]{\usebibmacro{date+extradate}}}% {}% {}% \DeclareCiteCommand{\bbx@crossref@incollection}% @@ -4015,7 +4167,7 @@ hidelinks, {\printnames[][-\value{minnamesincross}]{labelname}}}% {\usebibmacro{labeltitle}}% \setunit*{\addspace}% - \printtext[bibhyperref]{\usebibmacro{date+extrayear}}}% + \printtext[bibhyperref]{\usebibmacro{date+extradate}}}% {}% {}% % \end{macrocode} @@ -4073,7 +4225,7 @@ hidelinks, {\global\undef\bbx@lasthash \usebibmacro{labeltitle}% \setunit*{\printdelim{nonameyeardelim}}}% - \usebibmacro{date+extrayear}}% + \usebibmacro{date+extradate}}% \renewbibmacro*{bbx:editor}[1]{% \ifboolexpr{ test \ifuseeditor @@ -4091,7 +4243,7 @@ hidelinks, {\global\undef\bbx@lasthash \usebibmacro{labeltitle}% \setunit*{\printdelim{nonameyeardelim}}}% - \usebibmacro{date+extrayear}}% + \usebibmacro{date+extradate}}% \renewbibmacro*{bbx:translator}[1]{% \ifboolexpr{ test \ifusetranslator @@ -4109,7 +4261,7 @@ hidelinks, {\global\undef\bbx@lasthash \usebibmacro{labeltitle}% \setunit*{\printdelim{nonameyeardelim}}}% - \usebibmacro{date+extrayear}}% + \usebibmacro{date+extradate}}% }{}}% % \end{macrocode} % Execute default options. @@ -4177,7 +4329,7 @@ hidelinks, {\setunit{\addspace}% \printfield{nameaddon}}%* \postsep}% - \usebibmacro{date+extrayear}% + \usebibmacro{date+extradate}% \iffieldundef{authortype} {}% {\usebibmacro{authorstrg}% @@ -4185,7 +4337,7 @@ hidelinks, {\global\undef\bbx@lasthash \usebibmacro{labeltitle}% \postsep% - \usebibmacro{date+extrayear}% + \usebibmacro{date+extradate}% }% } @@ -4200,7 +4352,7 @@ hidelinks, {\printnames{editor}% \postsep% \usebibmacro{bbx:savehash}}% - \usebibmacro{date+extrayear}% + \usebibmacro{date+extradate}% \usebibmacro{#1}% \clearname{editor}% \printtext{\addcomma\space}% @@ -4208,7 +4360,7 @@ hidelinks, {\global\undef\bbx@lasthash% \usebibmacro{labeltitle}% \postsep% - \usebibmacro{date+extrayear}% + \usebibmacro{date+extradate}% }% }% @@ -4223,7 +4375,7 @@ hidelinks, {\printnames{translator}% \postsep% \usebibmacro{bbx:savehash}}% - \usebibmacro{date+extrayear}% + \usebibmacro{date+extradate}% \usebibmacro{#1}% \clearname{translator}% \printtext{\addcomma\space}% @@ -4231,7 +4383,7 @@ hidelinks, {\global\undef\bbx@lasthash% \usebibmacro{labeltitle}% \postsep% - \usebibmacro{date+extrayear}% + \usebibmacro{date+extradate}% }% }% % \end{macrocode} @@ -4246,7 +4398,7 @@ hidelinks, {\printnames[][-\value{minnamesincross}]{labelname}}}% {\usebibmacro{labeltitle}}% \setunit*{\addspace}% - \printtext[bibhyperref]{\usebibmacro{date+extrayear}}}% + \printtext[bibhyperref]{\usebibmacro{date+extradate}}}% {}% {}% \DeclareCiteCommand{\bbx@crossref@incollection}% @@ -4258,10 +4410,13 @@ hidelinks, {\printnames[][-\value{minnamesincross}]{labelname}}}% {\usebibmacro{labeltitle}}% \setunit*{\addspace}% - \printtext[bibhyperref]{\usebibmacro{date+extrayear}}}% + \printtext[bibhyperref]{\usebibmacro{date+extradate}}}% {}% {}% % \end{macrocode} +% +%\subsection{Bibliography drivers} +% % In the \bibtype{set} entry type we restore the \sty{classic} style % from the second entry onward, using the |entrysetcount| counter. The \bibfield{annotation} % field is cleared before the first entry is processed and restored at the end of the set. @@ -4276,7 +4431,7 @@ hidelinks, \usebibmacro{pageref}% \usebibmacro{finentry}} % \end{macrocode} -% \iffalse +% \iffalse %</modern-bbx> % \fi % @@ -4541,19 +4696,19 @@ hidelinks, \ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}} {\usebibmacro{cite:label}% \setunit{\printdelim{nonameyeardelim}}% - \usebibmacro{cite:labelyear+extrayear}% + \usebibmacro{cite:labeldate+extradate}% \usebibmacro{cite:reinit}} {\iffieldequals{namehash}{\cbx@lasthash} {\ifthenelse{\iffieldequals{labelyear}{\cbx@lastyear}\AND \(\value{multicitecount}=0\OR\iffieldundef{postnote}\)} {\setunit{\addcomma}% - \usebibmacro{cite:extrayear}} + \usebibmacro{cite:extradate}} {\setunit{\compcitedelim}% - \usebibmacro{cite:labelyear+extrayear}% + \usebibmacro{cite:labeldate+extradate}% \savefield{labelyear}{\cbx@lastyear}}} {\printnames{labelname}% \setunit{\printdelim{nameyeardelim}}% - \usebibmacro{cite:labelyear+extrayear}% + \usebibmacro{cite:labeldate+extradate}% \savefield{namehash}{\cbx@lasthash}% \savefield{labelyear}{\cbx@lastyear}}}} @@ -4568,9 +4723,9 @@ hidelinks, \ifthenelse{\iffieldequals{labelyear}{\cbx@lastyear}\AND \(\value{multicitecount}=0\OR\iffieldundef{postnote}\)} {\setunit{\addcomma}% - \usebibmacro{cite:extrayear}} + \usebibmacro{cite:extradate}} {\setunit{\compcitedelim}% - \usebibmacro{cite:labelyear+extrayear}% + \usebibmacro{cite:labeldate+extradate}% \savefield{labelyear}{\cbx@lastyear}}} \newbibmacro*{textcite:AY:noshorthand:B}{% @@ -4581,12 +4736,12 @@ hidelinks, \ifnumequal{\value{citecount}}{1} {\usebibmacro{prenote}} {}% - \usebibmacro{cite:labelyear+extrayear}} + \usebibmacro{cite:labeldate+extradate}} \newbibmacro*{textcite:AY:noshorthand:C}{% \iffieldundef{labelyear} {\usebibmacro{cite:label}} - {\usebibmacro{cite:labelyear+extrayear}}% + {\usebibmacro{cite:labeldate+extradate}}% \savefield{labelyear}{\cbx@lastyear}} \newbibmacro*{textcite:AY}{% @@ -4702,7 +4857,7 @@ hidelinks, {\boolfalse{citetracker}% \boolfalse{pagetracker}% \usebibmacro{prenote}} - {\printtext[bibhyperref]{\printfield{year}\printfield{extrayear}}} + {\printtext[bibhyperref]{\printdateextra}} {\multicitedelim} {\usebibmacro{postnote}} |