diff options
Diffstat (limited to 'macros/latex/contrib/biblatex/latex/bbx/reading.bbx')
-rw-r--r-- | macros/latex/contrib/biblatex/latex/bbx/reading.bbx | 173 |
1 files changed, 173 insertions, 0 deletions
diff --git a/macros/latex/contrib/biblatex/latex/bbx/reading.bbx b/macros/latex/contrib/biblatex/latex/bbx/reading.bbx new file mode 100644 index 0000000000..547510c37d --- /dev/null +++ b/macros/latex/contrib/biblatex/latex/bbx/reading.bbx @@ -0,0 +1,173 @@ +\ProvidesFile{reading.bbx} +[\abx@bbxid] + +\RequireBibliographyStyle{standard} + +\DeclareNameAlias{author}{default} +\DeclareNameAlias{editor}{default} +\DeclareNameAlias{translator}{default} + +\DeclareFieldFormat{entrykey}{\mbox{\bfseries#1}} +\DeclareFieldFormat{annotation}{\bibstring{annotation}\addcolon\space #1} +\DeclareFieldFormat{abstract}{\bibstring{abstract}\addcolon\space #1} +\DeclareFieldFormat{library}{\bibstring{library}\addcolon\space #1} +\DeclareFieldFormat{file}{\bibstring{file}\addcolon\space \url{#1}} +\DeclareFieldFormat{shorthandwidth}{#1} + +\InitializeBibliographyStyle{% + \global\undef\bbx@lasthash} + +\setlength{\bibitemsep}{0.5\baselineskip} +\setlength{\bibparsep}{0pt} + +\defbibenvironment{bibliography} + {\list + {} + {\setlength{\leftmargin}{0pt}% + \setlength{\itemindent}{0pt}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}}} + {\endlist} + {\bbx@item} + +\defbibenvironment{shorthand} + {\list + {\printfield[shorthandwidth]{shorthand}} + {\setlength{\labelwidth}{\shorthandwidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}}} + {\endlist} + {\item} + +\def\bbx@item@false{% + \itemsep2\bibitemsep + \item\relax + \itemsep\bibitemsep} + +\def\bbx@item@true{% + \bbx@item@full} + +\def\bbx@item@full{% + \itemsep2\bibitemsep + \@itempenalty\z@ + \item\relax + \begingroup + \samepage\bfseries + \def\finentrypunct{\strut}% + \usebibmacro{entryhead:full}% + \ifbool{bbx:entrykey} + {\def\newblockpunct{% + \nobreak\hskip\z@skip\strut + \hfill\penalty100\hskip1em\relax + \hbox{}\nobreak\hfill\strut}% + \def\finentrypunct{% + \parfillskip\z@\finalhyphendemerits\z@ + \par\nobreak}% + \newblock + \printfield{entrykey}} + {}% + \finentry + \endgroup + \hrule height 1.25pt\relax + \itemsep\bibitemsep + \@itempenalty\@M + \item\strut + \@itempenalty\z@} + +\def\bbx@item@name{% + \iffieldequals{fullhash}{\bbx@lasthash} + {\bbx@item@false} + {\itemsep2\bibitemsep + \@itempenalty\z@ + \item\relax + \begingroup + \samepage\bfseries + \def\finentrypunct{\strut}% + \usebibmacro{entryhead:name}% + \finentry + \endgroup + \hrule height 1.25pt\relax + \itemsep\bibitemsep + \@itempenalty\@M + \item\strut + \@itempenalty\z@}} + +\newbool{bbx:entrykey} +\newbool{bbx:annotation} +\newbool{bbx:abstract} +\newbool{bbx:library} +\newbool{bbx:file} + +\DeclareBiblatexOption{global,type,entry}[boolean]{entryhead}[true]{% + \ifcsdef{bbx@item@#1} + {\letcs\bbx@item{bbx@item@#1}} + {\PackageError{biblatex} + {Invalid option 'header=#1'} + {Valid values: header=true, false, full, name.}}} +\DeclareBiblatexOption{global,type,entry}[boolean]{entrykey}[true]{% + \setbool{bbx:entrykey}{#1}} +\DeclareBiblatexOption{global,type,entry}[boolean]{annotation}[true]{% + \setbool{bbx:annotation}{#1}} +\DeclareBiblatexOption{global,type,entry}[boolean]{abstract}[true]{% + \setbool{bbx:abstract}{#1}} +\DeclareBiblatexOption{global,type,entry}[boolean]{library}[true]{% + \setbool{bbx:library}{#1}} +\DeclareBiblatexOption{global,type,entry}[boolean]{file}[true]{% + \setbool{bbx:file}{#1}} + +\ExecuteBibliographyOptions{loadfiles,entryhead,entrykey,annotation,abstract,library,file} + +\newbibmacro*{entryhead:full}{% + \printnames[labelname][-1]{labelname}% + \setunit*{\addcolon\space}% + \printfield{labeltitle}} + +\newbibmacro*{entryhead:name}{% + \ifnameundef{labelname} + {\printfield{labeltitle}} + {\printnames[labelname]{labelname}}% + \savefield{fullhash}{\bbx@lasthash}} + +\newbibmacro*{entrytail}{% + \newunit\newblock + \begingroup + \def\newblockpunct{\item}% + \ifbool{bbx:annotation} + {\usebibmacro{annotation}% + \newunit\newblock} + {}% + \ifbool{bbx:abstract} + {\usebibmacro{abstract}% + \newunit\newblock} + {}% + \ifbool{bbx:file} + {\printfield{file}% + \newunit\newblock} + {}% + \ifbool{bbx:library} + {\printfield{library}% + \newunit\newblock} + {}% + \endgroup} + +\renewbibmacro*{finentry}{% + \ifbibliography + {\usebibmacro{entrytail}} + {}% + \finentry} + +\DeclareBibliographyDriver{set}{% + \renewbibmacro*{finentry}{\finentry}% + \entryset{}{}% + \newunit\newblock + \usebibmacro{setpageref}% + \ifbibliography + {\usebibmacro{entrytail}} + {}% + \finentry} + +\endinput |