diff options
author | Karl Berry <karl@freefriends.org> | 2011-02-13 23:34:14 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-02-13 23:34:14 +0000 |
commit | cbd629a491c12d069d35c0ebeb51f9c8e3a61dab (patch) | |
tree | 1fec93a9e2ddf5aaf9465d401e8f1a11cc9e451d /Master/texmf-dist/tex/latex/biblatex-ieee | |
parent | ddd662d03955b5c9ad157507e5ed8de0c55fdfe6 (diff) |
biblatex-ieee 0.9 (12feb11)
git-svn-id: svn://tug.org/texlive/trunk@21394 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex-ieee')
-rw-r--r-- | Master/texmf-dist/tex/latex/biblatex-ieee/ieee.bbx | 725 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/biblatex-ieee/ieee.cbx | 36 |
2 files changed, 761 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex-ieee/ieee.bbx b/Master/texmf-dist/tex/latex/biblatex-ieee/ieee.bbx new file mode 100644 index 00000000000..b0a9659cd31 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ieee/ieee.bbx @@ -0,0 +1,725 @@ +%% --------------------------------------------------------------- +%% biblatex-ieee --- A biblatex implementation of the IEEE +%% bibliography style +%% 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{ieee.bbx}[2011/02/12 v0.9 biblatex bibliography style] + +% Load the standard style to avoid copy-pasting unnecessary material +\RequireBibliographyStyle{numeric-comp} + +% Alter settings that carry through from biblatex +\ExecuteBibliographyOptions{firstinits, maxbibnames = 999} +\DeclareQuotePunctuation{.,} + +% Custom field formats \mkpagegrouped@ii +\DeclareFieldFormat[patent]{number}{\mkpagegrouped@ii{#1}} +\DeclareFieldFormat{pages}{\mkpagegrouped[bookpagination]{#1}} +\DeclareFieldFormat{sentencecase}{\MakeSentenceCase{#1}} +\DeclareFieldFormat[online]{title}{#1\isdot} +\DeclareFieldFormat[report]{title}{\mkbibquote{#1\isdot}} +\DeclareFieldFormat{url}{\bibstring{url}\addcolon\space\url{#1}} + +% Simple modifications to punctuation, etc. +\renewcommand*\intitlepunct{\addspace} +\renewcommand*\newunitpunct{\addcomma\addspace} + +% Bibliography strings +\NewBibliographyString{patentjp} +\NewBibliographyString{presentedat} + +\DefineBibliographyStrings{english}{ + chapter = ch\adddot , + editor = Ed\adddot , + editors = Eds\adddot , + mathesis = Master's thesis , + patentjp = Japanese Patent , + patentus = U\adddot S\adddot\addspace Patent , + presentedat = presented at the\addspace , + techreport = Tech\adddot\addspace Rep\adddot , + url = [Online]\adddot\addspace Available , +} + +\DefineBibliographyStrings{english}{ + june = Jun\adddot , + july = Jul\adddot , + september = Sep\adddot , +} + +% Bibliography macros +\renewbibmacro*{bybookauthor}{% + \ifnamesequal{author}{bookauthor} + {} + {% + \iffieldundef{bookauthor} + {} + {% + \printnames{bookauthor}% + \newunit + }% + }% +} + +\renewbibmacro*{byeditor+others}{% + \ifnameundef{editor} + {} + {% + \usebibmacro{editor}% + \setunit{\addspace}% + \printnames[byeditor]{editor}% + \clearname{editor}% + \newunit + }% + \usebibmacro{byeditorx}% + \usebibmacro{bytranslator+others}% +} + +\renewbibmacro*{doi+eprint+url}{% + \setunit{\adddot\addspace}% + \iftoggle{bbx:doi} + {\printfield{doi}} + {}% + \setunit{\adddot\addspace}% + \iftoggle{bbx:eprint} + {\usebibmacro{eprint}} + {}% + \setunit{\adddot\addspace}% + \iftoggle{bbx:url} + {\usebibmacro{url+urldate}} + {}% +} + +\newbibmacro*{institution+location}{% + \printlist{institution}% + \newunit + \printlist{location}% + \newunit +} + +\renewbibmacro*{institution+location+date}{% + \printlist{institution}% + \newunit + \printlist{location}% + \newunit + \usebibmacro{date}% + \newunit +} + +\renewbibmacro*{issue+date}{% + \printtext{% + \iffieldundef{issue} + {\usebibmacro{date}} + {% + \printfield{issue}% + \setunit*{\addspace}% + \usebibmacro{date}% + }% + }% + \newunit + \usebibmacro{issue}% + \newunit +} + +\renewbibmacro*{journal}{% + \iffieldundef{journaltitle} + {} + {% + \printtext[journaltitle]{% + \printfield[titlecase]{journaltitle}% + \printfield[titlecase]{journalsubtitle}% + }% + }% + \midsentence +} + +\newbibmacro*{journal+issuetitle}{% + \usebibmacro{journal}% + \newunit + \iffieldundef{series} + {} + {% + \newunit + \printfield{series}% + \newunit + }% + \usebibmacro{volume+number+eid}% + \setunit{\addspace}% +} + +\renewbibmacro*{maintitle+booktitle}{% + \iffieldundef{maintitle} + {} + {% + \usebibmacro{maintitle}% + \newunit\newblock + }% + \usebibmacro{booktitle}% + \newunit +} + +\newbibmacro*{maintitle+booktitle(inproceedings)}{% + \iffieldundef{maintitle} + {% + \iffieldundef{booktitle} + {} + {% + \usebibmacro{in:}% + \usebibmacro{maintitle+booktitle}% + \clearfield{eventtitle}% + \clearfield{number}% + }% + } + {% + \usebibmacro{in:}% + \usebibmacro{maintitle+booktitle}% + \clearfield{eventtitle}% + \clearfield{number}% + }% +} + +\renewbibmacro*{maintitle+title}{% + \iffieldsequal{maintitle}{title} + {% + \clearfield{maintitle}% + \clearfield{mainsubtitle}% + \clearfield{maintitleaddon}% + } + {% + \iffieldundef{maintitle} + {} + {% + \usebibmacro{maintitle}% + \newunit\newblock + }% + }% + \usebibmacro{title-in-maintitle}% + \newunit +} + +\newbibmacro*{pages}{% + \setunit{\bibpagespunct}% + \printfield{pages}% +} + +\newbibmacro*{presented-at}{% + \bibstring{presentedat}% +} + +\renewbibmacro*{series+number}{% + \iffieldundef{series} + {} + {% + \bibstring{jourser}% + \addspace + \printfield{series}% + \setunit*{\addspace}% + }% + \printfield{number}% + \newunit +} + +\renewbibmacro*{title}{% + \ifboolexpr{ + test {\iffieldundef{title}} + and + test {\iffieldundef{subtitle}} + } + {} + {% + \printtext[title]{% + \printfield[sentencecase]{title}% + \setunit{\subtitlepunct}% + \printfield[sentencecase]{subtitle}% + }% + \newunit + }% + \printfield{titleaddon}% +} + +\newbibmacro*{title-in-maintitle}{% + \ifboolexpr{ + test {\iffieldundef{title}} + and + test {\iffieldundef{subtitle}} + } + {} + {% + \printtext[title]{% + \printfield[titlecase]{title}% + \setunit{\subtitlepunct}% + \printfield[titlecase]{subtitle}% + }% + \newunit + }% + \printfield{titleaddon}% +} + +\renewbibmacro*{title+issuetitle}{% + \usebibmacro{periodical}% + \newunit + \printfield{series} + \newunit + \iffieldundef{volume}% + {} + {% + \bibstring{volume}% + \addspace + \printfield{volume}% + \newunit + } + \printfield{number}% + \newunit + \printfield{eid}% + \newunit + \usebibmacro{issue+date}% + \newunit + \usebibmacro{issue}% + \newunit +} + +\renewbibmacro*{volume+number+eid}{% + \iffieldundef{volume} + {} + {% + \bibstring{volume}% + \addspace + \printfield{volume}% + \newunit + }% + \iffieldundef{number} + {} + {% + \bibstring{number}% + \addspace + \printfield{number}% + \newunit + }% + \newunit + \printfield{eid}% +} + +\newbibmacro*{volume+part}{% + \iffieldundef{volume} + {} + {% + \printfield{volume}% + \printfield{part}% + \setunit{\addcolon\space}% + }% +} + +% Specialised functions for manipulating data, where the biblatex +% kernel does not provide a suitable function. +\newrobustcmd*\mkpagegrouped[1][pagination]{% + \iffieldequalstr{#1}{none} + {\mkpagegrouped@aux@ii} + {% + \begingroup + \def\blx@tempa{page}% + \iffieldundef{#1} + {} + {% + \iffieldbibstring{#1} + {\edef\blx@tempa{\thefield{#1}}} + {% + \blx@warning@entry{% + Unknown pagination type '\thefield{#1}'}% + }% + }% + \expandafter\endgroup + \expandafter\mkpagegrouped@aux@i\expandafter{\blx@tempa}% + }% +} + +\newcommand*\mkpagegrouped@aux@i[2]{% + \ifnumeral{#2} + {% + \bibstring{#1}% + \ppspace + \mkpagegrouped@aux@ii{#2}% + } + {\ifnumerals{#2} + {% + \bibstring{#1s}% + \ppspace + \mkpagegrouped@aux@ii{#2}% + } + {% + \begingroup + \def\pno{\bibstring{#1}}% + \def\ppno{\bibstring{#1s}}% + #2% + \endgroup + }% + }% +} + +\newcommand*\mkpagegrouped@aux@ii[1]{% + \mkpagegrouped@i#1\bibrangedash&% +} + +\newcommand*\mkpagegrouped@i{} +\long\def\mkpagegrouped@i#1\bibrangedash#2&{% + \mkpagegrouped@ii{#1}% + \ifblank{#2} + {} + {% + \bibrangedash + \mkpagegrouped@iii#2% + }% +} + +\newcommand*\mkpagegrouped@ii[1]{% + \ifinteger{#1} + {% + \mkpagegrouped@ifmorethanfour{#1} + {\mkpagegrouped@separate{}#1\@empty\@empty\@empty} + {#1}% + } + {#1}% +} + +\newcommand*\mkpagegrouped@iii{} +\def\mkpagegrouped@iii#1\bibrangedash{\mkpagegrouped@ii{#1}} + +\newcommand*\mkpagegrouped@ifmorethanfour[1]{% + \mkpagegrouped@ifmorethanfour@aux#1\@empty\@empty\@empty\@empty + \@empty\@nil +} + +\newcommand*\mkpagegrouped@ifmorethanfour@aux{} +\def\mkpagegrouped@ifmorethanfour@aux#1#2#3#4#5\@nil{% + \ifx\@empty#5\@empty + \expandafter\@secondoftwo + \else + \expandafter\@firstoftwo + \fi +} + +\newcommand*\mkpagegrouped@separate[4]{% + \ifx\@empty#2\@empty + \mkpagegrouped@print#1\relax + \else + \ifx\@empty#3\@empty + \mkpagegrouped@print\@empty\@empty#1#2\relax + \else + \ifx\@empty#4\@empty + \mkpagegrouped@print\@empty#1#2#3\relax + \else + \mkpagegrouped@separate@aux{#1#2#3#4}% + \fi + \fi + \fi +} + +\newcommand*\bbx@digits@separate@aux{} +\def\mkpagegrouped@separate@aux#1\fi\fi\fi{% + \fi\fi\fi\mkpagegrouped@separate{#1}% +} + +\newcommand*\mkpagegrouped@print[4]{% + \ifblank{#1}{}{#1}% + #2#3% + \ifx#4\relax + \else + \addnbthinspace + \expandafter\mkpagegrouped@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}% + \newunit + \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{pages}% + \newunit + \usebibmacro{issue+date}% + \newunit + \printfield{note}% + \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/editor+others/translator+others}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{maintitle+title}% + \newunit + \printlist{language}% + \newunit\newblock + \printfield{edition}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{volumes}% + \newunit\newblock + \usebibmacro{series+number}% + \setunit{\adddot\addspace}% + \newblock + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{volume+part}% + \newunit + \usebibmacro{chapter+pages}% + \newunit + \printfield{pagetotal}% + \newunit\newblock + \printfield{note}% + \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 + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{in:}% + \usebibmacro{bybookauthor}% + \usebibmacro{maintitle+booktitle}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{edition}% + \newunit + \printfield{volumes}% + \newunit\newblock + \usebibmacro{series+number}% + \setunit{\adddot\addspace}% + \newblock + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{volume+part}% + \newunit + \usebibmacro{chapter+pages}% + \newunit\newblock + \printfield{note}% + \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 + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{maintitle+booktitle(inproceedings)}% + \midsentence + \newunit\newblock + \usebibmacro{presented-at}% + \usebibmacro{event+venue+date}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{volumes}% + \newunit\newblock + \usebibmacro{series+number}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \printlist{organization}% + \newunit\newblock + \usebibmacro{volume+part}% + \newunit + \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{online}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\adddot\addspace}% + \printtext[parens]{\usebibmacro{date}}% + \setunit{\adddot\addspace}% + \usebibmacro{title}% + \setunit{\adddot\addspace}% + \printlist{language}% + \setunit{\adddot\addspace}% + \usebibmacro{byauthor}% + \setunit{\adddot\addspace}% + \usebibmacro{byeditor+others}% + \setunit{\adddot\addspace}% + \printfield{version}% + \setunit{\adddot\addspace}% + \printfield{note}% + \newunit\newblock + \printlist{organization}% + \setunit{\adddot\addspace}% + \iftoggle{bbx:eprint} + {\usebibmacro{eprint}} + {}% + \newunit\newblock + \usebibmacro{url+urldate}% + \setunit{\adddot\addspace}% + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}% +} + +\DeclareBibliographyDriver{patent}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \printfield{type}% + \setunit*{\addspace}% + \printfield{number}% + \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{report}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{institution+location}% + \newunit\newblock + \printfield{type}% + \setunit*{\addspace}% + \printfield{number}% + \newunit\newblock + \printfield{version}% + \newunit\newblock + \usebibmacro{date}% + \newunit + \printfield{note}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \printfield{pagetotal}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isrn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}% +} + +%% +%% Copyright (C) 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 file biblatex-ieee.bib, +%% biblatex-ieee.tex, +%% ieee.bbx and +%% ieee.cbx, +%% and the derived file biblatex-ieee.pdf. +%% +%% +%% End of file `ieee.bbx'.
\ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/biblatex-ieee/ieee.cbx b/Master/texmf-dist/tex/latex/biblatex-ieee/ieee.cbx new file mode 100644 index 00000000000..de4fce0394a --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ieee/ieee.cbx @@ -0,0 +1,36 @@ +%% --------------------------------------------------------------- +%% biblatex-ieee --- A biblatex implementation of the IEEE +%% bibliography style +%% 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{ieee.cbx}[2011/02/12 v0.9 biblatex citation style] + +\RequireCitationStyle{numeric-comp} + +%% +%% Copyright (C) 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 file biblatex-ieee.bib, +%% biblatex-ieee.tex, +%% ieee.bbx and +%% ieee.cbx, +%% and the derived file biblatex-ieee.pdf. +%% +%% +%% End of file `ieee.cbx'. |