summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-11-03 22:52:39 +0000
committerKarl Berry <karl@freefriends.org>2012-11-03 22:52:39 +0000
commit12dfdffcfdbd3a4758bb319fd5883f4072120901 (patch)
treecb9c6f1b106c918be1cbf5231bf49e48b71b1bfa /Master
parent7a08f1a4e6be25cd32454a18802202d99af08995 (diff)
biblatex-publist (3nov12)
git-svn-id: svn://tug.org/texlive/trunk@28166 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/biblatex-publist/README6
-rw-r--r--Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.pdfbin98763 -> 100383 bytes
-rw-r--r--Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex125
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx98
4 files changed, 159 insertions, 70 deletions
diff --git a/Master/texmf-dist/doc/latex/biblatex-publist/README b/Master/texmf-dist/doc/latex/biblatex-publist/README
index cf44f71b66a..efb5ecc5582 100644
--- a/Master/texmf-dist/doc/latex/biblatex-publist/README
+++ b/Master/texmf-dist/doc/latex/biblatex-publist/README
@@ -42,6 +42,12 @@ instructions.
== CHANGES ==
+* V. 0.4 (2012-10-30):
+ - More robust name parsing (especially for names with
+ non-ASCII characters encoded with LaTeX macros).
+ - Add \omitname command.
+ - Support "firstinits" option.
+
* V. 0.3 (2012-10-23):
- Bug fix: Add missing "and" if omitted name was last
minus one.
diff --git a/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.pdf b/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.pdf
index 2cbce9ae64f..738d8e44e67 100644
--- a/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.pdf
+++ b/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex b/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex
index f24b3657d4e..300d9952d8f 100644
--- a/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex
+++ b/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex
@@ -1,5 +1,3 @@
-%% LyX 2.0.5dev created this file. For more info, see http://www.lyx.org/.
-%% Do not edit unless you really know what you are doing.
\documentclass{article}
\usepackage{charter}
\usepackage[scaled=0.87]{beramono}
@@ -16,12 +14,15 @@
pdfauthor={Jürgen Spitzmüller},
pdfkeywords={biblatex,publication list}}
-\makeatletter
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
+\newcommand*\jmacro[1]{\textbf{\texttt{#1}}}
+\newcommand*\joption[1]{\textbf{\texttt{#1}}}
+\newcommand*\jfmacro[1]{\texttt{#1}}
\newcommand*\bpl{\texttt{biblatex-publist}}
\newcommand*\bibltx{\texttt{biblatex}}
-\makeatother
+\def\condbreak#1{%
+\vskip 0pt plus #1\pagebreak[3]\vskip 0pt plus -#1\relax}
+
\begin{document}
@@ -33,7 +34,7 @@
}}
-\date{Version 0.3, 23/10/2012}
+\date{Version 0.4, 30/10/2012}
\maketitle
\begin{abstract}
The \bpl\ package provides a \emph{biblatex bibliography style file}
@@ -69,27 +70,27 @@ see also \cite{ttb}.%
Bib\TeX{}. For \bibltx , however, no equivalent solution exists yet.
The \bpl\ package is the result of the aim of emulating the features
of \emph{publist.bst} with \bibltx's means. It draws on Nicolas Markey's
-conceptual ideas, and it is in an early stage of development, being
-tested only for the specific needs of the author. Of course, bug reports,
-comments and ideas are welcome.
+conceptual ideas, and it is in an early stage of development. Bug
+reports, comments and ideas are welcome.
\section{Loading the package}
-\subsection{Standard usage}
+\subsection{Standard usage\label{sec:standard-usage}}
The standard way of using the package is to load the style file via
\begin{quote}
-\begin{lstlisting}[language={[LaTeX]TeX}]
-\usepackage[bibstyle=publist,
- omitname=<surname>]{biblatex}
+\begin{lstlisting}[language={[LaTeX]TeX},moretexcs={[1]{omitname}}]
+\usepackage[bibstyle=publist]{biblatex}
+\omitname[first name]{surname}
\end{lstlisting}
\end{quote}
-The \emph{omitname} option should always be passed. It tells the style
-file, by surname, which person it should suppress in the author\slash{}editor
-list (usually you). That is to say: For all of your publications where
+The \jmacro{\textbackslash{}omitname} macro (at least with the mandatory
+\emph{surname} argument) needs to be given once. It tells the style
+file which name it should suppress in the author\slash{}editor list
+(usually yours). That is to say: For all of your publications where
you are the sole author or editor, the author\slash{}editor name
will be omitted completely, as in:
\begin{quote}
@@ -103,38 +104,42 @@ out and the collaborators added in parentheses, as in:
in gardening? In: \emph{Gardening Practice} 24, pp. 10--15.
\end{quote}
-\subsection{Further options}
+\subsection{Additional options}
-Currently, there are the following further options (next to the options
-provided by the \bibltx\ package itself%
+Currently, there are the following additional options (next to the
+options provided by the \bibltx\ package itself%
\footnote{Please refer to the \bibltx\ manual \cite{bibltx} for those.%
}):
\begin{description}
-\item [{omitfirstname}] =<first name>
+\item [{\joption{omitname}}] \joption{=<surname>}
+\item [{\joption{omitfirstname}}] \joption{=<first name>}
-If you need to disambiguate your name, you can additionally specify
-your first name.
+This is an alternative to the \jmacro{\textbackslash{}omitname} macro
+described in sec.~\ref{sec:standard-usage}. However, due to the
+way bibliography options are implemented in \bibltx, this only works
+if your name does not consists of non-ASCII characters. Hence, the
+\jmacro{\textbackslash{}omitname} macro is the recommended way.
-\item [{boldyear}] {[}=true|false{]} default: \emph{true}.
+\item [{\joption{boldyear}}] \joption{{[}=true|false{]}} default: \emph{true}.
By default, the year is printed in bold. To prevent this, pass the
-option \emph{boldyear=false} to \bibltx .
+option \joption{boldyear=false} to \bibltx .
-\item [{marginyear}] {[}=true|false{]} default: \emph{false}.
+\item [{\joption{marginyear}}] \joption{{[}=true|false{]}} default: \emph{false}.
-With this option set to true, the publication year will be printed
-in the margin once a new year starts. The option also has the effect
-that all marginpars are printed ``reversed'', i.\,e. on the left
-side in one-sided documents (via \texttt{\textbackslash{}reversemarginpar}).
+With this option set to \joption{true}, the publication year will
+be printed in the margin once a new year starts. The option also has
+the effect that all marginpars are printed ``reversed'', i.\,e.
+on the left side in one-sided documents (via \jfmacro{\textbackslash{}reversemarginpar}).
\end{description}
-The appearance of the \emph{marginyear} is controlled by the \texttt{\textbackslash{}plmarginyear}
+The appearance of the \emph{marginyear} is controlled by the \jmacro{\textbackslash{}plmarginyear}
macro, which has the following default definition:
\begin{quote}
-\begin{lstlisting}[language={[LaTeX]TeX}]
+\begin{lstlisting}[language={[LaTeX]TeX},moretexcs={[2]{providecommand,plmarginyear}}]
\providecommand*\plmarginyear[1]{%
\raggedleft\small\textbf{#1}%
}
@@ -142,7 +147,7 @@ macro, which has the following default definition:
\end{quote}
If you want to change the appearance, just redefine this macro via
-\texttt{\textbackslash{}renewcommand{*}}.
+\jfmacro{\textbackslash{}renewcommand{*}}.
\section{Localization}
@@ -150,7 +155,7 @@ If you want to change the appearance, just redefine this macro via
Since the package draws on \bibltx , it supports localization. Currently,
the following languages are supported: English, French and German.%
\footnote{Please send suggestions for other languages to the package author.%
-} The following additional localization keys (\texttt{\textbackslash{}bibstrings})
+} The following additional localization keys (\jfmacro{\textbackslash{}bibstrings})
are added by the package:
\begin{itemize}
\item \emph{with}: the preposition ``with'' that precedes the list of
@@ -190,22 +195,22 @@ on what ``related entries'' are and how to use them.
\section{An example\label{sec:example}}
Publication lists are usually categorized by genre (monographs, articles,
-book chapters, etc.). For this task, we use \texttt{\textbackslash{}refsections}.
+book chapters, etc.). For this task, we use \jfmacro{\textbackslash{}refsections}.
Other possibilities were not tested and might fail.
The suggested procedure is to maintain separate bib files for each
category, say \emph{mymonographs.bib}, \emph{myarticles.bib}, \emph{myproceedings.bib}.%
\footnote{But see sec.~\ref{sec:filtering} for an alternative.%
} Then a typical file would look like in Listing~\ref{example}.
-\begin{quote}
-\begin{lstlisting}[caption={Example document},float,frame=single,label={example},language={[LaTeX]TeX}]
+
+\begin{lstlisting}[caption={Example document},float,frame=single,label={example},language={[LaTeX]TeX},moretexcs={[4]{omitname,addbibresource,printbibliography,maketitle}}]
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{csquotes}% not required, but recommended
-\usepackage[bibstyle=publist,omitname=Doe]
- {biblatex}
+\usepackage[bibstyle=publist]{biblatex}
+\omitname[John]{Doe}
\addbibresource{%
mymonographs.bib,
@@ -240,11 +245,11 @@ category, say \emph{mymonographs.bib}, \emph{myarticles.bib}, \emph{myproceeding
\end{document}
\end{lstlisting}
-\end{quote}
+
If you want to add other people's reviews of your work, add a section
such as:
\begin{quote}
-\begin{lstlisting}[frame=single,language={[LaTeX]TeX}]
+\begin{lstlisting}[frame=single,language={[LaTeX]TeX},moretexcs={[3]{bibfont,subsubsection,printbibliography}}]
\subsubsection*{Reviews of my thesis}
\begin{refsection}[mythesis-reviews]
\renewcommand\bibfont{\small}
@@ -254,19 +259,19 @@ such as:
\end{lstlisting}
\end{quote}
-Note that the \texttt{\textbackslash{}printbibliography} option \emph{env=reviews}
- is crucial if you want to use the specifics \bpl\ defines for reviews
-(see sec.~\ref{sub:review-bibliography-type}).
+Note that the \jfmacro{\textbackslash{}printbibliography} option
+\joption{env=reviews} is crucial if you want to use the specifics
+\bpl\ defines for reviews (see sec.~\ref{sub:review-bibliography-type}).
\section{Filtering\label{sec:filtering}}
If you have a bibliographic database consisting not only of your own
-publications, you can extract yours with the bibliography filter \emph{mine},
-which has to be passed to \texttt{\textbackslash{}printbibliography},
+publications, you can extract yours with the bibliography filter \joption{mine},
+which has to be passed to \jfmacro{\textbackslash{}printbibliography},
as in:
\begin{quote}
-\begin{lstlisting}[frame=single,language={[LaTeX]TeX}]
+\begin{lstlisting}[frame=single,language={[LaTeX]TeX},moretexcs={[1]{printbibliography}}]
\begin{refsection}[mybibliography]
\nocite{*}
\printbibliography[heading=none,filter=mine]
@@ -279,26 +284,46 @@ Of course, you can also use other filter possibilities provided by
to extract all of your articles from a larger database with entries
of diverse type and authors, specify:
\begin{quote}
-\begin{lstlisting}[language={[LaTeX]TeX}]
+\begin{lstlisting}[language={[LaTeX]TeX},moretexcs={[1]{printbibliography}}]
\printbibliography[heading=none,filter=mine,type=article]
\end{lstlisting}
-
+\condbreak{2\baselineskip}
\end{quote}
\section{Change Log}
\begin{description}
+\item [{V.~0.4~(2012-10-30):}]~
+
+\begin{itemize}
+\item More robust name parsing (especially for names with non-ASCII characters
+encoded with \LaTeX{} macros). The code was kindly suggested by Enrico
+Gregorio.%
+\footnote{Cf. \url{http://tex.stackexchange.com/questions/79555/biblatex-bibliographyoption-with-braces}.%
+}
+\item Add \jmacro{\textbackslash{}omitname} command.
+\item Support \joption{firstinits} option.
+\end{itemize}
\item [{V.~0.3~(2012-10-23):}]~
\begin{itemize}
\item Bug fix: Add missing ``and'' if omitted name was last minus one.
\item Bug fix: Fix output with ``et al.'' if omitted name is first and
\emph{liststop} is 1.
-\item Set \emph{maxnames} default to 4.
+\item Set \joption{maxnames} default to 4.
\item Add filter possibility (see sec.~\ref{sec:filtering}).
\item Add French localization.
\item Some corrections to the manual.
\end{itemize}
-\item [{V.~0.2~(2012-10-21):}] Initial release to CTAN.\end{description}
+\item [{V.~0.2~(2012-10-21):}] Initial release to CTAN.
+\end{description}
+
+\section{Credits}
+
+Thanks go to Enrico Gregorio (egreg on \emph{tex.stackexchange.com})
+for helping me with correct name parsing (actually, the code the package
+uses is completely his), Marko Budi¨i\'{c} for testing and bug reports,
+Nicolas Markey for \emph{publist.bst} and of course Philipp Lehman
+(not only) for \bibltx.
\begin{thebibliography}{1}
\bibitem{bibltx}Lehman, Philipp (with Audrey Boruvka, Philip Kime
and Joseph Wright): \emph{The biblatex Package. Programmable Bibliographies
diff --git a/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx b/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx
index 147cac98f4d..83da09a55a7 100644
--- a/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx
+++ b/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx
@@ -11,7 +11,7 @@
%
% This work has the LPPL maintenance status "maintained".
%
-% This Current Maintainer of this work is Jürgen Spitzmüller.
+% This Current Maintainer of this work is Jürgen Spitzmüller.
%
% This work consists of the file publist.bbx
%
@@ -25,8 +25,8 @@
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\bpl@version{0.3}
-\def\bpl@rdate{2012/10/21}
+\def\bpl@version{0.4}
+\def\bpl@rdate{2012/10/30}
\ProvidesFile{publist.bbx}[\bpl@rdate\space v.\bpl@version\space
biblatex bibliography style (JSP)]
@@ -51,10 +51,22 @@
defernumbers=true,
maxnames=4}
+
+%
+% Customization settings
+%
+
%
% The omitted name of the publication list author
-\providecommand*\mysurname{}
-\providecommand*\myfirstname{}
+\def\bpl@osurname{}
+\def\bpl@ofirstname{}
+%
+% Manual way to specify omitted name
+\providecommand\omitname[2][]{%
+ \def\bpl@osurname{#2}
+ \ifx\@empty#1\else\def\bpl@ofirstname{#1}\fi
+}
+
%
% Formatting of year in margin par (if requested)
\providecommand*\plmarginyear[1]{%
@@ -65,9 +77,10 @@
%
% Options
%
-\DeclareBibliographyOption{omitname}{\renewcommand*\mysurname{#1}}
-\DeclareBibliographyOption{omitfirstname}{\renewcommand*\myfirstname{#1}}
+\DeclareBibliographyOption{omitname}{\def\bpl@osurname{#1}}
+
+\DeclareBibliographyOption{omitfirstname}{\def\bpl@ofirstname{#1}}
\newif\if@marginyear\@marginyearfalse
\DeclareBibliographyOption{marginyear}[true]{%
@@ -138,24 +151,53 @@
%
-% Filtered category
+% Helper function:
+% Removing braces from names, courtesy of egreg at
+% http://tex.stackexchange.com/a/79583/19291
+\def\bpl@normalize#1#2{%
+ \begingroup
+ \def\IeC##1{##1}%
+ \protected@edef\@tempa{#1}%
+ \gdef\@gtempa{}%
+ \expandafter\bpl@@normalize\@tempa\@nil
+ \endgroup
+ \let#2\@gtempa
+}
+\def\bpl@@normalize#1{%
+ \ifx#1\@nil\else
+ \expandafter\gdef\expandafter\@gtempa\expandafter{\@gtempa#1}%
+ \expandafter\bpl@@normalize
+ \fi
+}
+
+
+%
+% Bibliography filter
%
% Inspired by http://tex.stackexchange.com/a/28555/19291
\DeclareBibliographyCategory{filtered}
\DeclareIndexNameFormat{authorfiltered}{%
+ \bpl@normalize{#1}{\bpl@tsurname}%
+ \bpl@normalize{#3}{\bpl@tfirstname}%
+ \bpl@normalize{\bpl@osurname}{\bpl@esurname}%
+ \bpl@normalize{\bpl@ofirstname}{\bpl@efirstname}%
\ifboolexpr{
- test { \ifdefstring{\mysurname}{#1} }
+ test { \ifdefstrequal{\bpl@esurname}{\bpl@tsurname} }
and
- ( test { \ifdefstring{\myfirstname}{#3} } or test { \ifdefstring{\myfirstname}{} }) }
+ ( test { \ifdefstrequal{\bpl@efirstname}{\bpl@tfirstname} } or test { \ifdefstring{\bpl@ofirstname}{} }) }
{\addtocategory{filtered}{\thefield{entrykey}}}
{}}
\DeclareIndexNameFormat{editorfiltered}{%
+ \edef\bpl@tsurname{#1}%
+ \edef\bpl@tfirstname{#3}%
+ \bpl@normalize{\bpl@osurname}{\bpl@esurname}%
+ \bpl@normalize{\bpl@ofirstname}{\bpl@efirstname}%
\ifboolexpr{
- test { \ifdefstring{\mysurname}{#1} }
+ test { \ifdefstrequal{\bpl@esurname}{\bpl@tsurname} }
and
- ( test { \ifdefstring{\myfirstname}{#3} } or test { \ifdefstring{\myfirstname}{} }) }
+ ( test { \ifdefstrequal{\bpl@efirstname}{\bpl@tfirstname} } or test { \ifdefstring{\bpl@ofirstname}{} }) }
{\addtocategory{filtered}{\thefield{entrykey}}}
{}}
@@ -170,7 +212,7 @@
%
-% Remove own name from author and editor lists
+% Remove omitted name from author and editor lists
%
\newtoggle{myselfprec}
\newtoggle{hadmyself}
@@ -178,10 +220,14 @@
\DeclareNameFormat{author}{%
\ifthenelse{\value{listcount}=1}{\ifthenelse{\value{author}>1}{\bibopenparen\bibstring{with}\addspace}{}}{}%
% Exclude omitted author
+ \bpl@normalize{#1}{\bpl@tsurname}%
+ \bpl@normalize{#3}{\bpl@tfirstname}%
+ \bpl@normalize{\bpl@osurname}{\bpl@esurname}%
+ \bpl@normalize{\bpl@ofirstname}{\bpl@efirstname}%
\ifboolexpr{
- test { \ifdefstring{\mysurname}{#1} }
+ test { \ifdefstrequal{\bpl@esurname}{\bpl@tsurname} }
and
- ( test { \ifdefstring{\myfirstname}{#3} } or test { \ifdefstring{\myfirstname}{} }) }
+ ( test { \ifdefstrequal{\bpl@efirstname}{\bpl@tfirstname} } or test { \ifdefstring{\bpl@ofirstname}{} }) }
{\toggletrue{myselfprec}\toggletrue{hadmyself}%
\ifthenelse{\value{listcount}=1\AND\value{liststop}=1}
{\stepcounter{liststop}}{}}
@@ -200,7 +246,9 @@
{\addspace\bibstring{and}\addspace}}%
}%
}%
- \ifblank{#3}{}{#3\addspace}%
+ \iffirstinits
+ {\ifblank{#4}{}{#4\addspace}}%
+ {\ifblank{#3}{}{#3\addspace}}%
\ifblank{#5}{}{#5\addspace}%
\togglefalse{myselfprec}%
#1}%
@@ -211,10 +259,14 @@
\DeclareNameFormat{editor}{%
\ifthenelse{\value{listcount}=1}{\ifthenelse{\value{editor}>1}{\bibopenparen\bibstring{with}\addspace}{}}{}%
% Exclude omitted author
+ \bpl@normalize{#1}{\bpl@tsurname}%
+ \bpl@normalize{#3}{\bpl@tfirstname}%
+ \bpl@normalize{\bpl@osurname}{\bpl@esurname}%
+ \bpl@normalize{\bpl@ofirstname}{\bpl@efirstname}%
\ifboolexpr{
- test { \ifdefstring{\mysurname}{#1} }
+ test { \ifdefstrequal{\bpl@esurname}{\bpl@tsurname} }
and
- ( test { \ifdefstring{\myfirstname}{#3} } or test { \ifdefstring{\myfirstname}{} }) }
+ ( test { \ifdefstrequal{\bpl@efirstname}{\bpl@tfirstname} } or test { \ifdefstring{\bpl@ofirstname}{} }) }
{\toggletrue{myselfprec}\toggletrue{hadmyself}%
\ifthenelse{\value{listcount}=1\AND\value{liststop}=1}
{\stepcounter{liststop}}{}}
@@ -233,7 +285,9 @@
{\addspace\bibstring{and}\addspace}}%
}%
}%
- \ifblank{#3}{}{#3\addspace}%
+ \iffirstinits
+ {\ifblank{#4}{}{#4\addspace}}%
+ {\ifblank{#3}{}{#3\addspace}}%
\ifblank{#5}{}{#5\addspace}%
\togglefalse{myselfprec}%
#1}%
@@ -243,7 +297,10 @@
\DeclareNameFormat{bookauthor}{%
\ifblank{#5}{}{#5\addspace}%
- #1\ifblank{#3}{}{\addcomma\space #3}
+ #1%
+ \iffirstinits
+ {\ifblank{#4}{}{\addcomma\space #4}}%
+ {\ifblank{#3}{}{\addcomma\space #3}}%
\ifthenelse{\value{listcount}<\value{liststop}}
{\addslash}
{}%
@@ -256,6 +313,7 @@
\andothersdelim\biblcstring{andothers}}
{}}
+
%
% Macros
%