diff options
author | Karl Berry <karl@freefriends.org> | 2017-12-03 22:17:36 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-12-03 22:17:36 +0000 |
commit | cde3e211202b8db560c86ff3ebc5f22cdf2271da (patch) | |
tree | b855fbc1ae19d7374e0926b37d0206686914be9c /Master/texmf-dist | |
parent | d274b0f6220f15309256c9b2bc9ad63d5bbe7e92 (diff) |
citeall (3dec17)
git-svn-id: svn://tug.org/texlive/trunk@45975 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/citeall/README | 20 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/citeall/README.md | 19 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/citeall/citeall.pdf | bin | 105654 -> 106775 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/citeall/citeall.tex | 19 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/citeall/examples-citeall.bib | 7 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/citeall/citeall.sty | 177 |
6 files changed, 162 insertions, 80 deletions
diff --git a/Master/texmf-dist/doc/latex/citeall/README b/Master/texmf-dist/doc/latex/citeall/README deleted file mode 100644 index fd903e3026a..00000000000 --- a/Master/texmf-dist/doc/latex/citeall/README +++ /dev/null @@ -1,20 +0,0 @@ -$UFDate: 2015-04-28 13:28:57 +0200 -- Commit: 136a632 (HEAD, tag: v1.2, master, devel) -- master$ -citeall --- A package to cite all entries of a bbl created with biblatex -Version 1.2 Ulrike Fischer 2015 - -LICENSE -LaTeX Project Public License - -CONTENTS - -- Readme (this file) -- citeall.sty (the sty) -- citeall.tex, citeall.pdf (the docu) -- examples-citeall.bib (and example bib-file used by the documentation) - -INSTALLATION - -Put the sty where it can be found. - -If you want to compile the documentation: -put the bib-file where it can be found.
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/citeall/README.md b/Master/texmf-dist/doc/latex/citeall/README.md new file mode 100644 index 00000000000..b8979be2ab5 --- /dev/null +++ b/Master/texmf-dist/doc/latex/citeall/README.md @@ -0,0 +1,19 @@ +#citeall --- A package to cite all entries of a bbl created with biblatex +Version 1.4 Ulrike Fischer 2017 + +## License +LaTeX Project Public License + +## Contents + +- Readme (this file) +- citeall.sty (the sty) +- citeall.tex, citeall.pdf (the docu) +- examples-citeall.bib (and example bib-file used by the documentation) + +## Installation + +Put the sty where it can be found. + +If you want to compile the documentation: +put the bib-file where it can be found. diff --git a/Master/texmf-dist/doc/latex/citeall/citeall.pdf b/Master/texmf-dist/doc/latex/citeall/citeall.pdf Binary files differindex 852dde03901..f22df7d27bf 100644 --- a/Master/texmf-dist/doc/latex/citeall/citeall.pdf +++ b/Master/texmf-dist/doc/latex/citeall/citeall.pdf diff --git a/Master/texmf-dist/doc/latex/citeall/citeall.tex b/Master/texmf-dist/doc/latex/citeall/citeall.tex index 310cd6855e3..115112a3e3e 100644 --- a/Master/texmf-dist/doc/latex/citeall/citeall.tex +++ b/Master/texmf-dist/doc/latex/citeall/citeall.tex @@ -1,5 +1,5 @@ % !Mode:: "TeX:DE:UTF-8:Main" -% $UFDate: 2015-04-28 13:27:07 +0200 -- Commit: f04431e -- master$ +% $UFDate: 2017-12-03 18:19:20 +0100 -- Commit: 4f26014 (HEAD, master) -- master$ \documentclass[DIV=12]{scrartcl} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} @@ -19,18 +19,22 @@ \divide\parsep by 2\relax} \makeatother \addbibresource{examples-citeall.bib} -\title{The \pkg{citeall} package, v1.2} +\title{The \pkg{citeall} package, v1.4} \author{Ulrike Fischer\thanks{fischer@troubleshooting-tex.de}} \begin{document} \maketitle \section{Changes} +Version 1.4 changed the code to adapt the package to the newest biblatex 3.9. + + +Version 1.3 added code to handle the @preamble field in a bib. Changed the definition of \verb+\sortlist+ to adapt to the newest biblatex. Version 1.2 adapts the package to biblatex 3.0 and correct some small bugs (e.g. unwanted spaces). \section{Important} -\pkg{citeall} works only together with \pkg{biblatex}. \pkg{biblatex} should be loaded before \pkg{citeall}. +\pkg{citeall} works only together with (newer versions of) \pkg{biblatex}. \pkg{biblatex} should be loaded before \pkg{citeall}. -The package relies on some inner working of \pkg{biblatex}, so it could break with future versions. +The package relies on some inner working of \pkg{biblatex}, so it could break with future or older versions (I tested with version 3.9). \section{The aim of the package} The \pkg{citeall} package is a package to help to adapt and debug \pkg{biblatex} @@ -56,7 +60,7 @@ For each entrykey in the .bbl \cs{citeall} will loop through this list and pass \item If there are brackets e.g. from optional argument of a \cs{cite} you should protect them with braces. \item If there are commas you should protect them with braces. \item If you want to insert a paragraph break, use \cs{endgraf} -\item Don't overdo the system. It is meant for simple debbugging not for complicated citation printouts. +\item Don't overdo the system. It is meant for simple debugging not for complicated citation printouts. \end{itemize} \section{Some examples} @@ -107,4 +111,9 @@ For each entrykey in the .bbl \cs{citeall} will loop through this list and pass By default the item of an entry are separated by a comma and a space. This can be changed by redefining \cs{citeallseparator}. The last item is finished by \cs{citeallfinentry} (default nothing). The entries are separated by a \cs{par}, this can be changed by redefining \cs{citeallgroupseparator}. The default cite command used by \cs{citeall} is (\cs{cite}). This can be changed by redefining \cs{citealldefaultcite}. +\DescribeMacro\citeallpreambledefinition + +.bib files can contain a special entry type \texttt{@preamble} which can contain definitions that should be executed at the begin of the bibliography, e.g. to ensure that some commands are defined. Such a field lead to a command \verb+\preamble{...}+ in the .bbl. When \cs{citeall} reads the .bbl it redefines \cs{preamble} to do nothing. You can change this behaviour by redefining this macro. It should always have one argument! + + \end{document} diff --git a/Master/texmf-dist/doc/latex/citeall/examples-citeall.bib b/Master/texmf-dist/doc/latex/citeall/examples-citeall.bib index eb9a6a4424a..b8e9808ce6b 100644 --- a/Master/texmf-dist/doc/latex/citeall/examples-citeall.bib +++ b/Master/texmf-dist/doc/latex/citeall/examples-citeall.bib @@ -30,3 +30,10 @@ YEAR = {2015}, URL = {{\"u}ber_gang.html} } + +@article{itemize, +title={itemize}, +author={Itemize, Max}, +year={2015}, +note = {ipsum ipsum ipsum ipsum\begin{itemize}\item abc \item abc\end{itemize}}, +} diff --git a/Master/texmf-dist/tex/latex/citeall/citeall.sty b/Master/texmf-dist/tex/latex/citeall/citeall.sty index fa949c920d5..377f9ae465d 100644 --- a/Master/texmf-dist/tex/latex/citeall/citeall.sty +++ b/Master/texmf-dist/tex/latex/citeall/citeall.sty @@ -5,12 +5,12 @@ %% www.troubleshooting-tex.de %% Released under the LaTeX Project Public License v1.3c or later %% See http://www.latex-project.org/lppl.txt -%% $UFDate: 2015-04-28 13:27:07 +0200 -- Commit: f04431e -- master$ +%% $UFDate: 2017-12-03 18:19:20 +0100 -- Commit: 4f26014 (HEAD, master) -- master$ %% --------------------------------------------------------------- -\RequirePackage{expl3,xparse} +\RequirePackage{xparse} -\ProvidesExplPackage {citeall} {2015/04/28} {1.2} +\ProvidesExplPackage {citeall} {2017/12/03} {1.4} {a package to test biblatex-cite commands} \@ifpackageloaded{biblatex}{}{% @@ -26,66 +26,128 @@ \DeclareBibliographyCategory{citeall} % commands to hold arguments and temporary values -\clist_new:N \l_UFca_citecommands_clist -\tl_new:N \l_UFca_temp_citefunction_tl -\tl_new:N \l_UFca_temp_entrykey_tl -\int_new:N \l_UFca_temp_listitem_int -\int_new:N \l_UFca_temp_listlength_int -\int_new:N \l_UFca_entrynum_int -\int_new:N \l_UFca_cur_entrynum_int +\clist_new:N \l__UFca_citecommands_clist +\tl_new:N \l__UFca_temp_citefunction_tl +\tl_new:N \l__UFca_temp_entrykey_tl +\int_new:N \l__UFca_temp_listitem_int +\int_new:N \l__UFca_temp_listlength_int +\int_new:N \l__UFca_entrynum_int +\int_new:N \l__UFca_cur_entrynum_int % formatting commands -\NewDocumentCommand\citeallgroupseparator{}{\par} -\NewDocumentCommand\citeallseparator {}{,\c_space_tl} -\NewDocumentCommand\citeallfinentry {}{} -\NewDocumentCommand\citealldefaultcite {}{\cite} +\NewDocumentCommand \citeallgroupseparator {}{\par} +\NewDocumentCommand \citeallseparator {}{,\c_space_tl} +\NewDocumentCommand \citeallfinentry {}{} +\NewDocumentCommand \citealldefaultcite {}{\cite} +\NewDocumentCommand \citeallpreambledefinition {m}{} + +\clist_const:Nn\g_UFca_bbl_cmds_clist + { + true, + false, + field, + name, + strng, + keyw, + set, + warn, + inset, + range, + missing, + keyalias, + xref, + cnt, + annotation, + list + } + +\clist_const:Nn\g_UFca_bbl_envs_clist + { + refsection, + sortlist, + datalist + } + +\newcommand\@@UFca@bblcmd@true [2][]{{\ignorespaces}} +\newcommand\@@UFca@bblcmd@false [2][]{{\ignorespaces}} +\newcommand\@@UFca@bblcmd@field [3][]{\ignorespaces} +\newcommand\@@UFca@bblcmd@name [5][]{\ignorespaces} +\newcommand\@@UFca@bblcmd@strng [2]{\ignorespaces} +\newcommand\@@UFca@bblcmd@keyw [1]{\ignorespaces} +\newcommand\@@UFca@bblcmd@set [1]{\ignorespaces} +\newcommand\@@UFca@bblcmd@warn [1]{\ignorespaces} +\newcommand\@@UFca@bblcmd@inset [1]{\addtocategory{citeall}{#1}\ignorespaces} +\newcommand\@@UFca@bblcmd@range [2]{\ignorespaces} +\newcommand\@@UFca@bblcmd@missing [1]{\ignorespaces} +\newcommand\@@UFca@bblcmd@keyalias[2]{\ignorespaces} +\newcommand\@@UFca@bblcmd@xref [1]{\ignorespaces} +\newcommand\@@UFca@bblcmd@cnt [2]{\ignorespaces} +\newcommand\@@UFca@bblcmd@annotation[5]{\ignorespaces} +\newcommand\@@UFca@bblcmd@list [4][]{\ignorespaces} + +\newenvironment{@@UFca@bblenv@refsection}[1]{}{\ignorespaces} +\newenvironment{@@UFca@bblenv@sortlist} [2][]{}{\ignorespaces} +\newenvironment{@@UFca@bblenv@datalist} [2][]{}{\ignorespaces} %init suitable definitions for the fields in the bbl -\cs_new:Nn \_UFca_init_bblfields: - {\newcommand\true [2][]{\ignorespaces} - \newcommand\field[3][]{\ignorespaces} - \newcommand\name [5][]{\ignorespaces} - \newcommand\strng[2]{\ignorespaces}% - \renewenvironment{refsection}[1]{}{\ignorespaces} - \newenvironment{sortlist}[2]{}{\ignorespaces} - %\renewcommand\verb{\@ifnextchar\bgroup{\@gobble}{\my@verb}} - \def\verb##1\endverb{\ignorespaces} - \renewcommand\list[4][]{\ignorespaces} - \newcommand\inset[1]{\ignorespaces} - \newcommand\keyw[1]{\ignorespaces} - \newcommand\set[1]{\ignorespaces} - \newcommand\warn[1]{\ignorespaces} - \renewcommand\inset[1]{\addtocategory{citeall}{##1}\ignorespaces} - \newcommand\range[2]{\ignorespaces} %for biblatex-dev +\cs_new:Nn \__UFca_init_bblfields: + { + \let\preamble\citeallpreambledefinition + \clist_map_inline:Nn\g_UFca_bbl_cmds_clist + { + \cs_set_eq:cc { @@UFca@oricmd@##1 } { ##1 } + %\cs_show:c { @@UFca@oricmd@##1 } + \cs_set_eq:cc { ##1 } { @@UFca@bblcmd@##1 } } - + \def\verb##1\endverb {\ignorespaces} + \def\lverb##1\endlverb {\ignorespaces} %see https://github.com/plk/biblatex/issues/229 + \cs_set_eq:NN \refsection \@@UFca@bblenv@refsection + \cs_set_eq:NN \endrefsection \end@@UFca@bblenv@refsection + \cs_set_eq:NN \sortlist \@@UFca@bblenv@sortlist + \cs_set_eq:NN \endsortlist \end@@UFca@bblenv@sortlist + \cs_set_eq:NN \datalist \@@UFca@bblenv@datalist + \cs_set_eq:NN \enddatalist \end@@UFca@bblenv@datalist + } % init the entry environment %#1=number of entries to process, if 0: process all -\cs_new:Nn \_UFca_init_bblentryenv:n - {\int_set:Nn \l_UFca_entrynum_int {#1} - \int_zero:N \l_UFca_cur_entrynum_int +\cs_new:Nn \__UFca_init_bblentryenv:n + { + \int_set:Nn \l__UFca_entrynum_int {#1} + \int_zero:N \l__UFca_cur_entrynum_int \NewDocumentEnvironment{entry} {m m m} - {\int_incr:N \l_UFca_cur_entrynum_int - \tl_set:Nn \l_UFca_temp_entrykey_tl {##1} - \int_zero:N \l_UFca_temp_listitem_int - \int_set:Nn \l_UFca_temp_listlength_int - {\clist_count:N\l_UFca_citecommands_clist} + { + \int_incr:N \l__UFca_cur_entrynum_int + \tl_set:Nn \l__UFca_temp_entrykey_tl {##1} + \int_zero:N \l__UFca_temp_listitem_int + \int_set:Nn \l__UFca_temp_listlength_int + { + \clist_count:N\l__UFca_citecommands_clist + } \bool_if:nT { - \int_compare_p:n { \l_UFca_entrynum_int = 0 } + \int_compare_p:n { \l__UFca_entrynum_int = 0 } || - \int_compare_p:n { \l_UFca_cur_entrynum_int <= \l_UFca_entrynum_int} + \int_compare_p:n { \l__UFca_cur_entrynum_int <= \l__UFca_entrynum_int } } - {\addtocategory{citeall}{##1} - \clist_map_variable:NNn \l_UFca_citecommands_clist \l_UFca_temp_citefunction_tl + { + \addtocategory{citeall}{##1} + \clist_map_variable:NNn \l__UFca_citecommands_clist \l__UFca_temp_citefunction_tl { - \int_incr:N \l_UFca_temp_listitem_int - %\tl_set:Nn \l_UFca_temp_citefunction_tl {####1} - \l_UFca_temp_citefunction_tl {\l_UFca_temp_entrykey_tl} + \int_incr:N \l__UFca_temp_listitem_int + \group_begin: + \cs_set_eq:NN\list\@@UFca@oricmd@list + + \l__UFca_temp_citefunction_tl {\l__UFca_temp_entrykey_tl} + \group_end: \int_compare:nNnTF - {\l_UFca_temp_listitem_int}<{\l_UFca_temp_listlength_int} - {\citeallseparator}{\citeallfinentry} + {\l__UFca_temp_listitem_int}<{\l__UFca_temp_listlength_int} + { + \citeallseparator + } + { + \citeallfinentry + } } \citeallgroupseparator } @@ -97,17 +159,22 @@ % the main command \NewDocumentCommand\citeall { O{\citealldefaultcite} o} - {\nocite{*} %cite all entries - \clist_set:Nn\l_UFca_citecommands_clist{#1} - \clist_if_empty:NT\l_UFca_citecommands_clist + { + \nocite{*} %cite all entries + \clist_set:Nn \l__UFca_citecommands_clist { #1 } + \clist_if_empty:NT \l__UFca_citecommands_clist { - \clist_put_right:Nn\l_UFca_citecommands_clist{\citealldefaultcite} + \clist_put_right:Nn \l__UFca_citecommands_clist { \citealldefaultcite } } \group_begin: \IfNoValueTF{#2} - {\_UFca_init_bblentryenv:n{0}} - {\_UFca_init_bblentryenv:n{#2}} - \_UFca_init_bblfields: + { + \__UFca_init_bblentryenv:n{0} + } + { + \__UFca_init_bblentryenv:n{#2} + } + \__UFca_init_bblfields: \file_if_exist:nT {\jobname.bbl} {\file_input:n{\jobname.bbl}}% |