summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/biblatex-philosophy
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-04-13 22:55:37 +0000
committerKarl Berry <karl@freefriends.org>2013-04-13 22:55:37 +0000
commitbf689f9057fa5b4deab72d085b6e483c480aefa7 (patch)
tree3ca895a3099338054fe382a6efe2c7d7ba8c2619 /Master/texmf-dist/source/latex/biblatex-philosophy
parenta3027590d416e99da1de28c8669669614850c97e (diff)
biblatex-philosophy (13apr13)
git-svn-id: svn://tug.org/texlive/trunk@29893 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/biblatex-philosophy')
-rw-r--r--Master/texmf-dist/source/latex/biblatex-philosophy/biblatex-philosophy.dtx148
1 files changed, 103 insertions, 45 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 1284c6900ec..101683970a8 100644
--- a/Master/texmf-dist/source/latex/biblatex-philosophy/biblatex-philosophy.dtx
+++ b/Master/texmf-dist/source/latex/biblatex-philosophy/biblatex-philosophy.dtx
@@ -93,7 +93,7 @@
%<verbose-cbx>\ProvidesFile{philosophy-verbose.cbx}
%<italian-lbx>\ProvidesFile{italian-philosophy.lbx}
%<english-lbx>\ProvidesFile{english-philosophy.lbx}
- [2013/03/30 v0.8d valbusa beta]
+ [2013/04/13 v0.8e valbusa beta]
%<*driver>
\documentclass{ltxdoc}
@@ -182,7 +182,7 @@
%</driver>
% \fi
%
-% \CheckSum{2994}
+% \CheckSum{3040}
%
% \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
@@ -200,6 +200,7 @@
% Grave accent \` Left brace \{ Vertical bar \|
% Right brace \} Tilde \~}
%
+% \changes{v0.8e}{2013/04/13}{Improved \opt{relatedformat} option for cascading entries. Implemented cross-referencing mechanism for \bibtype{inproceedings} entries. Improved \cmd{ccite} command. Changed the values for the \bibfield{entrysubtype} from \bibfield{classical} to \bibfield{classic}. Added \opt{nodate} package option.}
% \changes{v0.8d}{2013/03/30}{Fixed some bugs related to \cmd{DeclareDriverSourcemap}, \cmd{ccite}, and \bibtype{review} entry type}
% \changes{v0.8c}{2013/03/27}{Removed \sty{biber.conf} configuration file. Added internal \file{biber} settings with \cmd{DeclareDriverSourcemap} command. Added \bibfield{trans-} field alias}
% \changes{v0.8b}{2013/03/22}{Added \sty{biber.conf} configuration file}
@@ -483,11 +484,11 @@
%
% \fielditem{entrysubtype}{literal}
% This feature is active only for the \sty{classic} and \sty{modern} styles.
-% With the \opt{classical} value the citation commands will produce an
+% 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[\lefthand][]{aristotle:physics}:
%\begin{verbatim}
%@book{aristotle:physics,
-% entrysubtype = {classical},
+% entrysubtype = {classic},
% author = {Aristotle},
% title = {Physics},
% ...
@@ -636,6 +637,7 @@
%\printbibliography[restoreclassic]
%\end{verbatim}
%It restores the \sty{classic} style in a document typeset using the \sty{modern} style. It is useful to compose a ``Web List'' like that at the end of this document (active only for the \sty{philosophy-modern}).
+%\boolitem[true]{nodate} Prints the \texttt{nodate} string when \bibfield{year} or \bibfield{date} is missing.
%
%\subsubsection{\sty{philosophy-verbose}}\label{sec:options-verbose}
%
@@ -765,7 +767,7 @@
%The treatment of the classical works and other writings with uncertain or omitted date is particularly difficult and inevitably imposes some choices.
%
%If there is a critical edition you should cite it directly, such as \lefthand\textcite{heidegger:sz}. If you do not like this anachronistic label you may use the \bibfield{shorthand} field, such as \lefthand\textcite{kant:kpv}.
-% Note that a ``shorthand intro'' is automatically printed when the entry is cited for the first time and omitted afterwards. To turn off this capability load the option \opt{shorthandintro=false}. In this case you will need a list of shorthands (\cmd{printshorthands} command). If you do not like these solutions you can use the \bibfield{entrysubtype} field with \texttt{classical} value (see section \ref{sec:specific-fields}) or the \cmd{sdcite} command (section \ref{sec:commands:citations}).
+% Note that a ``shorthand intro'' is automatically printed when the entry is cited for the first time and omitted afterwards. To turn off this capability load the option \opt{shorthandintro=false}. In this case you will need a list of shorthands (\cmd{printshorthands} command). If you do not like these solutions you can use the \bibfield{entrysubtype} field with \texttt{classic} value (see section \ref{sec:specific-fields}) or the \cmd{sdcite} command (section \ref{sec:commands:citations}).
%
%
%
@@ -1151,7 +1153,7 @@
{\textsc{\Rn{#1}}~\bibstring{edition}}%
{\mkbibordedition{#1}~\bibstring{edition}}}}}
{#1}}%\isdot??
-\DeclareFieldFormat{related:translatedas}{%
+\DeclareFieldFormat{related}{%
\ifdefstring{\bbx@relatedformat}{parens}%
{\mkpureparens{#1}}%
{\ifdefstring{\bbx@relatedformat}{brackets}%
@@ -1555,13 +1557,11 @@
\newbibmacro*{commarelateddate}{%
\setunit*{\addcomma\space}%
\printdate}
-
-\DeclareCiteCommand{\relatedcite}
- {}%
- {\usedriver
- {\DeclareNameAlias{sortname}{default}%
- % trucco per modificare due righe in ogni driver
- % e togliere l'autore/curatore nelle voci 'related'
+% \end{macrocode}
+% A trick to delete the author/editor list for related
+% entries and \cmd{ccite} command:
+% \begin{macrocode}
+\newbibmacro*{related:clearauthors}{%
\renewbibmacro*{author/translator+others}{\usebibmacro{bbx:savehash}}%
\renewbibmacro*{author/editor+others/translator+others}{\usebibmacro{bbx:savehash}}%
\renewbibmacro*{editor+others}{\usebibmacro{bbx:savehash}}%
@@ -1569,7 +1569,13 @@
\renewbibmacro*{author/editor}{\usebibmacro{bbx:savehash}}%
\renewbibmacro*{author}{\usebibmacro{bbx:savehash}}%
\renewbibmacro*{editor}{\usebibmacro{bbx:savehash}}%
- \renewcommand*{\labelnamepunct}{}%
+ \renewcommand*{\labelnamepunct}{}}
+
+\DeclareCiteCommand{\relatedcite}
+ {}%
+ {\usedriver
+ {\DeclareNameAlias{sortname}{default}%
+ \usebibmacro{related:clearauthors}%
\renewbibmacro*{relateddate}{%
\setunit*{\addspace}\printdate}%
\renewbibmacro*{commarelateddate}{%
@@ -1578,16 +1584,15 @@
{}%
{}%
-\newbibmacro*{related:translatedas}[1]{%
+\renewbibmacro*{related:default}[1]{%
\togglefalse{cbx:scauthorscite}%
\togglefalse{bbx:annotation}%
\iffieldundef{relatedstring}%
{\bibstring{translationas}\space}%
{\setunit{\bibstring{translationas}\space}}%
+ \renewcommand{\mkpureparens}{}%
+ \renewcommand*{\mkbibbrackets}{}%
\relatedcite{\thefield{related}}}
-
-\renewbibmacro*{related:default}{%
- \usebibmacro{related:translatedas}}
% \end{macrocode}
% \subsubsection{Bibliography drivers}
% \begin{macrocode}
@@ -1874,6 +1879,16 @@
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{in:}%
+ \iffieldundef{xref}%
+ {\iffieldundef{crossref}{\usebibmacro{inproceedings:full}}%
+ {\bbx@crossref@incollection{\thefield{crossref}}%
+ \newunit\newblock
+ \usebibmacro{crossrefdata}}}%
+ {\bbx@crossref@incollection{\thefield{xref}}%
+ \newunit\newblock
+ \usebibmacro{xrefdata}}}
+
+\newbibmacro*{inproceedings:full}{%
\usebibmacro{maintitle+booktitle}%
\newunit\newblock
\usebibmacro{event+venue+date}%
@@ -1903,7 +1918,7 @@
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
- \usebibmacro{addendum+pubstate}%
+ \usebibmacro{addendum+pubstate:article-inbook-incoll}%
\setunit{\addsemicolon\space}\newblock
\usebibmacro{related}%
\newunit\newblock
@@ -2247,12 +2262,12 @@
\usebibmacro{byeditor+others}%
\newunit\newblock
\printfield{edition}%
- \newunit
+% \newunit
% \iffieldundef{maintitle}
% {\printfield{volume}%
% \printfield{part}}
% {}%
-% \newunit
+ \newunit
\printfield{volumes}%
\newunit\newblock
\usebibmacro{series+number}%
@@ -2282,8 +2297,6 @@
\printfield{part}}
{}%
\newunit\newblock
- \printfield{note}%
- \newunit\newblock
\usebibmacro{chapter+pages}%
\newunit\newblock
\iftoggle{bbx:isbn}
@@ -2291,8 +2304,6 @@
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
- \newunit\newblock
- \usebibmacro{addendum+pubstate:article-inbook-incoll}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{related}%
\newunit\newblock
@@ -2432,11 +2443,15 @@
\RequireBibliographyStyle{philosophy-standard}
\newtoggle{bbx:square}
+\newtoggle{bbx:nodate}
\DeclareBibliographyOption{square}[true]{%
\settoggle{bbx:square}{#1}}
+\DeclareBibliographyOption{nodate}[true]{%
+ \settoggle{bbx:nodate}{#1}}
\ExecuteBibliographyOptions{%
+ nodate = true,
uniquename = false,
pagetracker = true,
singletitle = false,
@@ -2492,10 +2507,16 @@
\newbibmacro*{date+extrayear:crossref}{%
\begingroup%
\clearfield{month}%
- \iffieldundef{labelyear}
- {\printtext[parens]{\midsentence\bibstring{nodate}}}
+ \ifboolexpr{
+ test {\iffieldundef{date}}
+ and
+ test {\iffieldundef{year}}
+ }%
+ {\iftoggle{bbx:nodate}{\printtext[parens]{%
+ \midsentence\bibstring{nodate}}}{}}
{\printtext[parens]{\printdateextra}}%
\endgroup}%
+\newbibmacro*{date+extrayear}{}%
}
\AtBeginDocument{%
@@ -2506,6 +2527,11 @@
\setcounter{maxnamesincross}{\value{maxnames}}%
\setcounter{minnamesincross}{\value{minnames}}%
}
+
+\AtEveryBibitem{%
+\iffieldequalstr{entrysubtype}{classic}{%
+ \togglefalse{bbx:nodate}}}
+
% \end{macrocode}
% \subsubsection{New macros}
%
@@ -2539,8 +2565,13 @@
\renewbibmacro*{date+extrayear}{%
\begingroup%
\clearfield{month}%
- \iffieldundef{labelyear}
- {\printtext[parens]{\midsentence\bibstring{nodate}}}
+ \ifboolexpr{
+ test {\iffieldundef{date}}
+ and
+ test {\iffieldundef{year}}
+ }%
+ {\iftoggle{bbx:nodate}{\printtext[parens]{%
+ \midsentence\bibstring{nodate}}}{}}
{\printtext[parens]{\printdateextra}}%
\endgroup}%
% \end{macrocode}
@@ -2683,8 +2714,13 @@
\begingroup%
\clearfield{month}%
\makebox[\bibhang][r]{\printtext{%
- \iffieldundef{labelyear}%
- {\printtext{\midsentence\bibstring{nodate}}}%
+ \ifboolexpr{
+ test {\iffieldundef{date}}
+ and
+ test {\iffieldundef{year}}
+ }%
+ {\iftoggle{bbx:nodate}{\printtext{%
+ \midsentence\bibstring{nodate}}}{}}%
{\printtext{\printdateextra}}%
\hskip\yeartitle}}%
\endgroup}%
@@ -2776,8 +2812,13 @@
\newbibmacro*{classic:date+extrayear}{%
\begingroup%
\clearfield{month}%
- \iffieldundef{labelyear}
- {\printtext[parens]{\midsentence\bibstring{nodate}}}%
+ \ifboolexpr{
+ test {\iffieldundef{date}}
+ and
+ test {\iffieldundef{year}}
+ }%
+ {\iftoggle{bbx:nodate}{\printtext[parens]{%
+ \midsentence\bibstring{nodate}}}{}}%
{\printtext[parens]{%
\printfield{labelyear}%
\printfield{extrayear}}}%
@@ -2793,8 +2834,13 @@
\renewbibmacro*{date+extrayear}{%
\begingroup%
\clearfield{month}%
- \iffieldundef{labelyear}
- {\printtext[parens]{\midsentence\bibstring{nodate}}}%
+ \ifboolexpr{
+ test {\iffieldundef{date}}
+ and
+ test {\iffieldundef{year}}
+ }%
+ {\iftoggle{bbx:nodate}{\printtext[parens]{%
+ \midsentence\bibstring{nodate}}}{}}%
{\printtext[parens]{\printdateextra}}%
\endgroup}%
\renewbibmacro*{author}{%
@@ -2936,7 +2982,8 @@
% \begin{macrocode}
\DeclareCiteCommand{\bbx@crossref@inbook}
{}%
- {\ifthenelse{\value{listtotal}=2}%
+ {\ifciteseen{%
+ \ifthenelse{\value{listtotal}=2}%
{\printnames[][-\value{maxnamesincross}]{labelname}}%
{\printnames[][-\value{minnamesincross}]{labelname}}%
\setunit*{\addcomma\space}\printtext[bibhyperlink]{%
@@ -2944,11 +2991,15 @@
\iftoggle{cbx:commacit}{\setunit{\addcomma\space}}%
{\setunit{\addspace\midsentence}}%
\bibstring{cited}}}%
+ {\usedriver{%
+ \DeclareNameAlias{sortname}{default}}%
+ {\thefield{entrytype}}}}%
{}%
{}%
\DeclareCiteCommand{\bbx@crossref@incollection}
{}%
- {\ifthenelse{\value{listtotal}=2}%
+ {\ifciteseen{%
+\ifthenelse{\value{listtotal}=2}%
{\printnames[][-\value{maxnamesincross}]{labelname}}%
{\printnames[][-\value{minnamesincross}]{labelname}}%
\setunit{\addspace}%
@@ -2958,6 +3009,9 @@
\iftoggle{cbx:commacit}{\setunit{\addcomma\space}}%
{\setunit{\addspace\midsentence}}%
\bibstring{cited}}}%
+ {\usedriver{%
+ \DeclareNameAlias{sortname}{default}}%
+ {\thefield{entrytype}}}}%
{}%
{}%
% \end{macrocode}
@@ -3010,7 +3064,7 @@
%%%%
\newcommand{\switchclass}[2]{%
- \iffieldequalstr{entrysubtype}{classical}%
+ \iffieldequalstr{entrysubtype}{classic}%
{\usebibmacro{#1}}%
{\usebibmacro{#2}}}
% \end{macrocode}
@@ -3221,7 +3275,7 @@
\renewbibmacro*{cite:shorthand}{%
\printtext[bibhyperref]{\printfield{shorthand}}}
% \end{macrocode}
-% If the field \bibfield{entrysubtype} equals to \texttt{classical}
+% If the field \bibfield{entrysubtype} equals to \texttt{classic}
% the citation commands will use the author-title macros:
% \begin{macrocode}
\renewbibmacro*{cite:init}{%
@@ -3308,7 +3362,7 @@
{\usebibmacro{textcite:postnote}}
% \end{macrocode}
% This command is now deprecated because it is substituted by
-% the \bibfield{entrysubtype=classical} mechanism:
+% the \bibfield{entrysubtype=classic} mechanism:
% \begin{macrocode}
\DeclareCiteCommand{\sdcite}
{\boolfalse{citetracker}%
@@ -3440,22 +3494,26 @@
{\thefield{entrytype}}}%
\usebibmacro{shorthandintro}}
-\newbibmacro*{cite:ccite}{%
+\newbibmacro*{ccite:cite}{%
+\usebibmacro{related:clearauthors}%
\usebibmacro{cite:citepages}%
\global\togglefalse{cbx:fullcite}%
\global\togglefalse{cbx:loccit}%
\bibhypertarget{cite\the\value{instcount}}{%
- \iffieldundef{shorthand}
+ \ifciteseen
+ {\iffieldundef{shorthand}
{\usebibmacro{cite:title}%
- \usebibmacro{cite:save}}%
- {\usebibmacro{cite:shorthand}}}}
+ \usebibmacro{cite:save}}
+ {\usebibmacro{cite:shorthand}}}
+ {\usebibmacro{cite:full}%
+ \usebibmacro{cite:save}}}}
% \end{macrocode}
% \subsubsection{Citation commands}
% \begin{macrocode}
\DeclareCiteCommand{\ccite}
{\usebibmacro{prenote}}%
{\usebibmacro{citeindex}%
- \usebibmacro{cite:ccite}}
+ \usebibmacro{ccite:cite}}
{\multicitedelim}
{\usebibmacro{cite:postnote}}