summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/biblatex-chem/chem-rsc.bbx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex-chem/chem-rsc.bbx')
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-chem/chem-rsc.bbx553
1 files changed, 553 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex-chem/chem-rsc.bbx b/Master/texmf-dist/tex/latex/biblatex-chem/chem-rsc.bbx
new file mode 100644
index 00000000000..6289515731f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex-chem/chem-rsc.bbx
@@ -0,0 +1,553 @@
+%% ---------------------------------------------------------------
+%% biblatex-chem --- A set of biblatex implementation for
+%% chemistry-related bibliography styles
+%% Maintained by Joseph Wright
+%% E-mail: joseph.wright@morningstar2.co.uk
+%% Released under the LaTeX Project Public License v1.3c or later
+%% See http://www.latex-project.org/lppl.txt
+%% ---------------------------------------------------------------
+%%
+
+\ProvidesFile{chem-rsc.bbx}[2011/08/16 v1.1a biblatex bibliography style]
+
+% Load the standard style to avoid copy-pasting unnecessary material
+\RequireBibliographyStyle{numeric-comp}
+
+% New options
+\newtoggle{bbx:articletitle}
+\newtoggle{bbx:chaptertitle}
+\newtoggle{bbx:pageranges}
+\DeclareBibliographyOption{articletitle}[true]{%
+ \settoggle{bbx:articletitle}{#1}%
+}
+\DeclareBibliographyOption{chaptertitle}[true]{%
+ \settoggle{bbx:chaptertitle}{#1}%
+}
+\DeclareBibliographyOption{pageranges}[true]{%
+ \settoggle{bbx:pageranges}{#1}%
+}
+
+% Alter settings that carry through from biblatex
+\ExecuteBibliographyOptions
+ {
+ doi = false ,
+ firstinits = true ,
+ maxnames = 999 ,
+ maxcitenames = 2 ,
+ pageranges = true ,
+ url = false
+ }
+
+% Modify the name format
+\DeclareNameFormat{default}{%
+ \usebibmacro{name:first-last}{#1}{#4}{#5}{#7}%
+ \usebibmacro{name:andothers}%
+}
+
+% Custom field formats
+\DeclareFieldFormat[inproceedings]{booktitle}{#1}
+\DeclareFieldFormat{doi}{%
+ DOI\addcolon\space
+ \ifhyperref
+ {\href{http://dx.doi.org/#1}{\nolinkurl{#1}}}
+ {\nolinkurl{#1}}%
+}
+\DeclareFieldFormat{journaltitle}{\mkbibemph{#1}\isdot}
+\DeclareFieldFormat{labelnumberwidth}{\mkbibparens{#1}}
+\DeclareFieldFormat[patent]{number}{\mkgroupeddigits{#1}}
+\DeclareFieldFormat[article]{pages}{%
+ \iftoggle{bbx:pageranges}{#1}{\mkfirstpage{#1}}%
+}
+\DeclareFieldFormat[inbook, incollection, proceedings]{title}{#1}
+\DeclareFieldFormat[patent]{type}{%
+ \ifbibstring{#1}
+ {\mkbibemph{\bibstring{#1}}}
+ {\mkbibemph{#1}}%
+}
+\DeclareFieldFormat{url}{\url{#1}}
+\DeclareFieldFormat[article]{volume}{\mkbibbold{#1}}
+
+% Simple modifications to punctuation, etc.
+\renewcommand*\intitlepunct{\addspace}
+\renewcommand*\mkbibnameaffix[1]{\addcomma\space#1}
+\renewcommand*\newunitpunct{\addcomma\addspace}
+
+% Bibliography strings
+\DefineBibliographyStrings{english}{%
+ chapter = ch\adddot ,
+ edition = edn\adddot ,
+ patentus = US Pat\adddot ,
+ phdthesis = Ph.D.\space Thesis
+}
+
+% Bibliography macros
+\renewbibmacro*{byeditor+others}{%
+ \ifnameundef{editor}
+ {}
+ {%
+ \usebibmacro{editorstrg}%
+ \setunit{\addspace}%
+ \printnames[byeditor]{editor}%
+ \clearname{editor}%
+ \newunit
+ }%
+ \usebibmacro{byeditorx}%
+ \usebibmacro{bytranslator+others}%
+}
+
+\renewbibmacro*{editorstrg}{%
+ \printtext[editortype]{\bibstring{editor}}%
+}
+
+\renewbibmacro*{event+venue+date}{%
+ \printfield{eventtitle}%
+ \printfield{venue}%
+ \newunit
+ \printeventdate
+ \newunit
+}
+
+\newbibmacro*{institution+location+date}{%
+ \printlist{institution}%
+ \newunit
+ \printlist{location}%
+ \newunit
+ \usebibmacro{date}%
+ \newunit
+}
+
+\renewbibmacro*{journal+issuetitle}{%
+ \usebibmacro{journal}%
+ \newunit
+ \printdate
+ \newunit
+ \printfield{volume}%
+ \newunit
+}
+
+\renewbibmacro*{maintitle+booktitle}{%
+ \iffieldundef{maintitle}
+ {}
+ {\usebibmacro{maintitle}%
+ \newunit\newblock
+ }%
+ \usebibmacro{booktitle}%
+ \newunit}
+
+\renewbibmacro*{maintitle+title}{%
+ \iffieldsequal{maintitle}{title}
+ {\clearfield{maintitle}%
+ \clearfield{mainsubtitle}%
+ \clearfield{maintitleaddon}}
+ {\iffieldundef{maintitle}
+ {}
+ {\usebibmacro{maintitle}%
+ \newunit\newblock
+ }}%
+ \usebibmacro{title}%
+ \newunit
+}
+
+\renewbibmacro*{note+pages}{%
+ \printfield{note}%
+ \setunit{\bibpagespunct}%
+ \printfield{pages}%
+ \iffieldundef{pages}
+ {%
+ \printfield{doi}%
+ \clearfield{doi}%
+ }%
+ {%
+ \iftoggle{bbx:doi}
+ {}
+ {\clearfield{doi}}%
+ }%
+}
+
+\renewbibmacro*{publisher+location+date}{%
+ \printlist{publisher}%
+ \newunit
+ \printlist{location}%
+ \newunit
+ \printfield{edition}%
+ \newunit
+ \usebibmacro{date}%
+ \newunit
+ \printfield{volume}%
+ \newunit
+}
+
+% Specialised functions for manipulating data, where the biblatex
+% kernel does not provide a suitable function.
+\newcommand*\mkgroupeddigits[1]{%
+ \ifinteger{#1}
+ {%
+ \bbx@digits@ifmorethanfour{#1}
+ {%
+ \def\@tempa{}%
+ \bbx@digits@separate{}#1\@empty\@empty\@empty
+ }
+ {#1}%
+ }%
+ {#1}%
+}
+
+\newcommand*\bbx@digits@ifmorethanfour[1]{%
+ \bbx@digits@ifmorethanfour@aux#1\@empty\@empty\@empty\@empty
+ \@empty\@nil
+}
+
+\def\bbx@digits@ifmorethanfour@aux#1#2#3#4#5\@nil{%
+ \ifx\@empty#5\@empty
+ \expandafter\@secondoftwo
+ \else
+ \expandafter\@firstoftwo
+ \fi
+}
+
+\newcommand*\bbx@digits@separate[4]{%
+ \ifx\@empty#2\@empty
+ \bbx@digits@print#1\relax
+ \else
+ \ifx\@empty#3\@empty
+ \bbx@digits@print\@empty\@empty#1#2\relax
+ \else
+ \ifx\@empty#4\@empty
+ \bbx@digits@print\@empty#1#2#3\relax
+ \else
+ \bbx@digits@separate@aux{#1#2#3#4}%
+ \fi
+ \fi
+ \fi
+}
+
+\def\bbx@digits@separate@aux#1\fi\fi\fi{%
+ \fi\fi\fi\bbx@digits@separate{#1}%
+}
+
+\newcommand*\bbx@digits@print[4]{%
+ \ifblank{#1}{}{#1}%
+ #2#3%
+ \ifx\relax#4\relax\else
+ \addnbthinspace
+ \expandafter\bbx@digits@print\expandafter#4%
+ \fi
+}
+
+% New bibliography drivers, using the required order of fields. These
+% are mainly copied from standard.bbx then modified.
+\DeclareBibliographyDriver{article}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author/translator+others}%
+ \setunit{\labelnamepunct}\newblock
+ \iftoggle{bbx:articletitle}
+ {%
+ \usebibmacro{title}%
+ \newunit
+ }
+ {}%
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{bytranslator+others}%
+ \newunit\newblock
+ \printfield{version}%
+ \newunit\newblock
+ \usebibmacro{journal+issuetitle}%
+ \newunit
+ \usebibmacro{byeditor+others}%
+ \newunit
+ \usebibmacro{note+pages}%
+ \newunit\newblock
+ \iftoggle{bbx:isbn}
+ {\printfield{issn}}
+ {}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}%
+}
+
+\DeclareBibliographyDriver{book}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author/translator+others}%
+ \setunit{\labelnamepunct}\newblock
+ \usebibmacro{maintitle+title}%
+ \newunit
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \printfield{volumes}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{publisher+location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit
+ \printfield{pagetotal}%
+ \newunit\newblock
+ \iftoggle{bbx:isbn}
+ {\printfield{isbn}}
+ {}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}%
+}
+
+\DeclareBibliographyDriver{collection}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{maintitle+title}%
+ \newunit
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \printfield{volumes}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{publisher+location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit
+ \printfield{pagetotal}%
+ \newunit\newblock
+ \iftoggle{bbx:isbn}
+ {\printfield{isbn}}
+ {}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}%
+}
+
+\DeclareBibliographyDriver{inbook}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author/translator+others}%
+ \setunit{\labelnamepunct}\newblock
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \iftoggle{bbx:chaptertitle}
+ {\usebibmacro{title}}
+ {}%
+ \newunit\newblock
+ \usebibmacro{in:}%
+ \usebibmacro{bybookauthor}%
+ \newunit\newblock
+ \usebibmacro{maintitle+booktitle}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \printfield{volumes}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{publisher+location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit\newblock
+ \iftoggle{bbx:isbn}
+ {\printfield{isbn}}
+ {}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}%
+}
+
+\DeclareBibliographyDriver{incollection}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author/translator+others}%
+ \setunit{\labelnamepunct}\newblock
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \iftoggle{bbx:chaptertitle}
+ {\usebibmacro{title}}
+ {}%
+ \newunit\newblock
+ \usebibmacro{in:}%
+ \usebibmacro{maintitle+booktitle}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \printfield{volumes}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{publisher+location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit\newblock
+ \iftoggle{bbx:isbn}
+ {\printfield{isbn}}
+ {}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}%
+}
+
+\DeclareBibliographyDriver{inproceedings}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author/translator+others}%
+ \setunit{\labelnamepunct}\newblock
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{maintitle+booktitle}%
+ \newunit\newblock
+ \usebibmacro{event+venue+date}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \printfield{volumes}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{publisher+location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit\newblock
+ \iftoggle{bbx:isbn}
+ {\printfield{isbn}}
+ {}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}%
+}
+
+\DeclareBibliographyDriver{patent}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author}%
+ \setunit{\labelnamepunct}\newblock
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \printfield{type}%
+ \newunit
+ \printfield{number}%
+ \iflistundef{location}
+ {}
+ {\setunit*{\addspace}%
+ \printtext[parens]{%
+ \printlist[][-\value{listtotal}]{location}}}%
+ \newunit\newblock
+ \usebibmacro{byholder}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{date}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}%
+}
+
+\DeclareBibliographyDriver{thesis}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author}%
+ \setunit{\labelnamepunct}\newblock
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \printfield{type}%
+ \newunit
+ \usebibmacro{institution+location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit
+ \printfield{pagetotal}%
+ \newunit\newblock
+ \iftoggle{bbx:isbn}
+ {\printfield{isbn}}
+ {}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}%
+}
+
+%%
+%% Copyright (C) 2010,2011 by
+%% Joseph Wright <joseph.wright@morningstar2.co.uk>
+%%
+%% It may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License (LPPL), either version 1.3c of
+%% this license or (at your option) any later version. The latest
+%% version of this license is in the file:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% This work is "maintained" (as per LPPL maintenance status) by
+%% Joseph Wright.
+%%
+%% This work consists of the files biblatex-chem.bib,
+%% biblatex-chem.tex,
+%% biblatex-chem-acs.tex,
+%% biblatex-chem-angew.tex,
+%% biblatex-chem-biochem.tex,
+%% biblatex-chem-rsc.tex,
+%% chem-acs.bbx,
+%% chem-acs.cbx,
+%% chem-angew.bbx,
+%% chem-angew.cbx,
+%% chem-biochem.bbx,
+%% chem-biochem.cbx,
+%% chem-rsc.bbx and
+%% chem-rsc.cbx,
+%% and the derived files biblatex-chem.pdf and
+%% biblatex-chem-acs.pdf,
+%% biblatex-chem-angew.pdf,
+%% biblatex-chem-biochem.pdf,
+%% biblatex-chem-rsc.pdf.
+%%
+%%
+%% End of file `chem-rsc.bbx'. \ No newline at end of file