diff options
-rw-r--r-- | Master/texmf-dist/doc/latex/biblatex-publist/README | 6 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.pdf | bin | 98763 -> 100383 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex | 125 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx | 98 |
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 Binary files differindex 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 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 % |