diff options
author | Karl Berry <karl@freefriends.org> | 2010-09-10 21:19:23 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-09-10 21:19:23 +0000 |
commit | 74f67a5d54a613355ce08a8233455ecdee5aeac2 (patch) | |
tree | 598af7fcdf42a847e8082886a76816f8267f1dad /Master/texmf-dist/doc/latex/logreq | |
parent | 75030959fe7e9e18a4237090b4173052d10e1740 (diff) |
new package logreq, required by biblatex (report from herbs, 10sep10)
git-svn-id: svn://tug.org/texlive/trunk@19640 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/logreq')
11 files changed, 1097 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/logreq/README b/Master/texmf-dist/doc/latex/logreq/README new file mode 100644 index 00000000000..d4f2436e938 --- /dev/null +++ b/Master/texmf-dist/doc/latex/logreq/README @@ -0,0 +1,42 @@ +$Id: README,v 1.0 2010/08/04 18:56:41 lehman stable $ + +ABOUT + +The logreq package helps to automate a typical LaTeX workflow that +involves running LaTeX several times, running tools such as BibTeX +or makeindex, and so on. It will log requests like "please rerun +LaTeX" or "please run BibTeX on file X" to an external XML file +which lists all open tasks in a machine-readable format. Compiler +scripts and integrated LaTeX editing environments may parse this +file to determine the next steps in the workflow in a way that is +more efficient than parsing the main log file. In sum, the package +will do two things: 1) enable package authors to use LaTeX commands +to issue requests, 2) collect all requests from all packages and +write them to an external XML file at the end of the document. + +LICENSE + +Copyright (c) 2010 Philipp Lehman. Permission is granted to copy, +distribute and/or modify this software under the terms of the LaTeX +Project Public License (LPPL), version 1.3. The LPPL maintenance +status of this software is 'maintained'. The current maintainer is +Philipp Lehman. This software is provided 'as is', without warranty +of any kind, either expressed or implied, including, but not limited +to, the implied warranties of merchantability and fitness for a +particular purpose. + +REQUIREMENTS + +- e-TeX +- etoolbox 1.9 or later +- keyval + +DOCUMENTATION + +Unfortunately, there is no formal documentation for this package at +the moment. For the time being, have a look at the examples which +ship with the package and read this draft: + +https://sourceforge.net/apps/mediawiki/biblatex/index.php?title=Workflow_Automation + +A real manual will be added soon. diff --git a/Master/texmf-dist/doc/latex/logreq/examples/01-basic.run.xml b/Master/texmf-dist/doc/latex/logreq/examples/01-basic.run.xml new file mode 100644 index 00000000000..ca1eb870fb2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/logreq/examples/01-basic.run.xml @@ -0,0 +1,77 @@ +<?xml version="1.0" standalone="yes"?> +<!-- logreq request file --> +<!-- logreq version 1.0 / dtd version 1.0 --> +<!-- Do not edit this file! --> +<!DOCTYPE requests [ + <!ELEMENT requests (internal | external)*> + <!ELEMENT internal (generic, (provides | requires)*)> + <!ELEMENT external (generic, cmdline?, input?, output?, (provides | requires)*)> + <!ELEMENT cmdline (binary, (option | infile | outfile)*)> + <!ELEMENT input (file)+> + <!ELEMENT output (file)+> + <!ELEMENT provides (file)+> + <!ELEMENT requires (file)+> + <!ELEMENT generic (#PCDATA)> + <!ELEMENT binary (#PCDATA)> + <!ELEMENT option (#PCDATA)> + <!ELEMENT infile (#PCDATA)> + <!ELEMENT outfile (#PCDATA)> + <!ELEMENT file (#PCDATA)> + <!ATTLIST requests + version CDATA #REQUIRED + > + <!ATTLIST internal + package CDATA #REQUIRED + priority (9) #REQUIRED + active (0 | 1) #REQUIRED + > + <!ATTLIST external + package CDATA #REQUIRED + priority (1 | 2 | 3 | 4 | 5 | 6 | 7 | 8) #REQUIRED + active (0 | 1) #REQUIRED + > + <!ATTLIST provides + type (static | dynamic | editable) #REQUIRED + > + <!ATTLIST requires + type (static | dynamic | editable) #REQUIRED + > + <!ATTLIST file + type CDATA #IMPLIED + > +]> +<requests version="1.0"> + <internal package="sample" priority="9" active="1"> + <generic>latex</generic> + </internal> + <external package="natbib" priority="5" active="1"> + <generic>bibtex</generic> + <cmdline> + <binary>bibtex</binary> + <infile>01-basic</infile> + </cmdline> + <provides type="dynamic"> + <file>01-basic.bbl</file> + </provides> + <requires type="dynamic"> + <file>01-basic.aux</file> + </requires> + <requires type="editable"> + <file>bibfile1.bib</file> + <file>bibfile2.bib</file> + <file>bibfile3.bib</file> + </requires> + <requires type="static"> + <file>plainnat.bst</file> + </requires> + </external> + <internal package="natbib" priority="9" active="1"> + <generic>latex</generic> + <provides type="dynamic"> + <file>01-basic.aux</file> + </provides> + <requires type="dynamic"> + <file>01-basic.bbl</file> + </requires> + </internal> +</requests> diff --git a/Master/texmf-dist/doc/latex/logreq/examples/01-basic.tex b/Master/texmf-dist/doc/latex/logreq/examples/01-basic.tex new file mode 100644 index 00000000000..ab22edd8c59 --- /dev/null +++ b/Master/texmf-dist/doc/latex/logreq/examples/01-basic.tex @@ -0,0 +1,63 @@ +\documentclass{minimal} +\usepackage{logreq} + +% basic examples + +% shorthand for simple "rerun latex" requests +% (for any package which requires another latex run) + +\ltxrequest{sample}{1}{} + +% typical bibtex request +% (e.g., if natbib.sty were to support logreq) + +% sample code: + +% ... +% \usepackage{natbib} +% \begin{document} +% ... +% \bibliographystyle{plainnat} +% \bibliography{bibfile1,bibfile2,bibfile3} +% \end{document} + +% workflow: + +% latex file (-> both requests active) +% bibtex file +% latex file (-> latex request active, bibtex request inactive) +% latex file (-> both requests inactive) + +\logrequest[package=natbib,priority=5,active=1]{ + \generic{bibtex} + \cmdline{ + \binary{bibtex} + \infile{\jobname} + } + \provides[type=dynamic]{ + \file{\jobname.bbl} + } + \requires[type=dynamic]{ + \file{\jobname.aux} + } + \requires[type=editable]{ + \file{bibfile1.bib} + \file{bibfile2.bib} + \file{bibfile3.bib} + } + \requires[type=static]{ + \file{plainnat.bst} + } +} + +\ltxrequest{natbib}{1}{ + \provides[type=dynamic]{ + \file{\jobname.aux} + } + \requires[type=dynamic]{ + \file{\jobname.bbl} + } +} + +\begin{document} +\end{document} diff --git a/Master/texmf-dist/doc/latex/logreq/examples/02-index.run.xml b/Master/texmf-dist/doc/latex/logreq/examples/02-index.run.xml new file mode 100644 index 00000000000..e03c0619f77 --- /dev/null +++ b/Master/texmf-dist/doc/latex/logreq/examples/02-index.run.xml @@ -0,0 +1,117 @@ +<?xml version="1.0" standalone="yes"?> +<!-- logreq request file --> +<!-- logreq version 1.0 / dtd version 1.0 --> +<!-- Do not edit this file! --> +<!DOCTYPE requests [ + <!ELEMENT requests (internal | external)*> + <!ELEMENT internal (generic, (provides | requires)*)> + <!ELEMENT external (generic, cmdline?, input?, output?, (provides | requires)*)> + <!ELEMENT cmdline (binary, (option | infile | outfile)*)> + <!ELEMENT input (file)+> + <!ELEMENT output (file)+> + <!ELEMENT provides (file)+> + <!ELEMENT requires (file)+> + <!ELEMENT generic (#PCDATA)> + <!ELEMENT binary (#PCDATA)> + <!ELEMENT option (#PCDATA)> + <!ELEMENT infile (#PCDATA)> + <!ELEMENT outfile (#PCDATA)> + <!ELEMENT file (#PCDATA)> + <!ATTLIST requests + version CDATA #REQUIRED + > + <!ATTLIST internal + package CDATA #REQUIRED + priority (9) #REQUIRED + active (0 | 1) #REQUIRED + > + <!ATTLIST external + package CDATA #REQUIRED + priority (1 | 2 | 3 | 4 | 5 | 6 | 7 | 8) #REQUIRED + active (0 | 1) #REQUIRED + > + <!ATTLIST provides + type (static | dynamic | editable) #REQUIRED + > + <!ATTLIST requires + type (static | dynamic | editable) #REQUIRED + > + <!ATTLIST file + type CDATA #IMPLIED + > +]> +<requests version="1.0"> + <external package="index" priority="8" active="0"> + <generic>makeindex</generic> + <cmdline> + <binary>makeindex</binary> + <option>-o example.ind</option> + <infile>02-index.idx</infile> + </cmdline> + <input> + <file>02-index.idx</file> + </input> + <output> + <file>02-index.ind</file> + </output> + <provides type="dynamic"> + <file>02-index.ind</file> + </provides> + <requires type="dynamic"> + <file>02-index.idx</file> + </requires> + </external> + <external package="index" priority="8" active="0"> + <generic>makeindex</generic> + <cmdline> + <binary>makeindex</binary> + <option>-o example.nnd</option> + <infile>02-index.ndx</infile> + </cmdline> + <input> + <file>02-index.ndx</file> + </input> + <output> + <file>02-index.nnd</file> + </output> + <provides type="dynamic"> + <file>02-index.nnd</file> + </provides> + <requires type="dynamic"> + <file>02-index.ndx</file> + </requires> + </external> + <external package="index" priority="8" active="0"> + <generic>makeindex</generic> + <cmdline> + <binary>makeindex</binary> + <option>-o example.tnd</option> + <infile>02-index.tdx</infile> + </cmdline> + <input> + <file>02-index.tdx</file> + </input> + <output> + <file>02-index.tnd</file> + </output> + <provides type="dynamic"> + <file>02-index.tnd</file> + </provides> + <requires type="dynamic"> + <file>02-index.tdx</file> + </requires> + </external> + <internal package="index" priority="9" active="0"> + <generic>latex</generic> + <provides type="dynamic"> + <file>02-index.idx</file> + <file>02-index.ndx</file> + <file>02-index.tdx</file> + </provides> + <requires type="dynamic"> + <file>02-index.ind</file> + <file>02-index.nnd</file> + <file>02-index.tnd</file> + </requires> + </internal> +</requests> diff --git a/Master/texmf-dist/doc/latex/logreq/examples/02-index.tex b/Master/texmf-dist/doc/latex/logreq/examples/02-index.tex new file mode 100644 index 00000000000..6444c2fd238 --- /dev/null +++ b/Master/texmf-dist/doc/latex/logreq/examples/02-index.tex @@ -0,0 +1,99 @@ +\documentclass{minimal} +\usepackage{logreq} + +% indexing example +% (e.g., if index.sty were to support logreq) + +% sample preamble: + +% \usepackage{index} +% \newindex{default}{idx}{ind}{Subject Index} +% \newindex{names}{ndx}{nnd}{Name Index} +% \newindex{titles}{tdx}{tnd}{Title Index} + +% workflow: + +% latex file +% makeindex -o file.ind file.idx (= makeindex file) +% makeindex -o file.nnd file.ndx +% makeindex -o file.tnd file.tdx +% latex file + +\logrequest[package=index,priority=8,active=0]{% + \generic{makeindex} + \cmdline{ + \binary{makeindex} + \option{-o example.ind} + \infile{\jobname.idx} + } + \input{ + \file{\jobname.idx} + } + \output{ + \file{\jobname.ind} + } + \provides[type=dynamic]{ + \file{\jobname.ind} + } + \requires[type=dynamic]{ + \file{\jobname.idx} + } +} + +\logrequest[package=index,priority=8,active=0]{% + \generic{makeindex} + \cmdline{ + \binary{makeindex} + \option{-o example.nnd} + \infile{\jobname.ndx} + } + \input{ + \file{\jobname.ndx} + } + \output{ + \file{\jobname.nnd} + } + \provides[type=dynamic]{ + \file{\jobname.nnd} + } + \requires[type=dynamic]{ + \file{\jobname.ndx} + } +} + +\logrequest[package=index,priority=8,active=0]{% + \generic{makeindex} + \cmdline{ + \binary{makeindex} + \option{-o example.tnd} + \infile{\jobname.tdx} + } + \input{ + \file{\jobname.tdx} + } + \output{ + \file{\jobname.tnd} + } + \provides[type=dynamic]{ + \file{\jobname.tnd} + } + \requires[type=dynamic]{ + \file{\jobname.tdx} + } +} + +\ltxrequest{index}{0}{ + \provides[type=dynamic]{ + \file{\jobname.idx} + \file{\jobname.ndx} + \file{\jobname.tdx} + } + \requires[type=dynamic]{ + \file{\jobname.ind} + \file{\jobname.nnd} + \file{\jobname.tnd} + } +} + +\begin{document} +\end{document} diff --git a/Master/texmf-dist/doc/latex/logreq/examples/03-biblatex+bibtex8.run.xml b/Master/texmf-dist/doc/latex/logreq/examples/03-biblatex+bibtex8.run.xml new file mode 100644 index 00000000000..4db0f6e350c --- /dev/null +++ b/Master/texmf-dist/doc/latex/logreq/examples/03-biblatex+bibtex8.run.xml @@ -0,0 +1,95 @@ +<?xml version="1.0" standalone="yes"?> +<!-- logreq request file --> +<!-- logreq version 1.0 / dtd version 1.0 --> +<!-- Do not edit this file! --> +<!DOCTYPE requests [ + <!ELEMENT requests (internal | external)*> + <!ELEMENT internal (generic, (provides | requires)*)> + <!ELEMENT external (generic, cmdline?, input?, output?, (provides | requires)*)> + <!ELEMENT cmdline (binary, (option | infile | outfile)*)> + <!ELEMENT input (file)+> + <!ELEMENT output (file)+> + <!ELEMENT provides (file)+> + <!ELEMENT requires (file)+> + <!ELEMENT generic (#PCDATA)> + <!ELEMENT binary (#PCDATA)> + <!ELEMENT option (#PCDATA)> + <!ELEMENT infile (#PCDATA)> + <!ELEMENT outfile (#PCDATA)> + <!ELEMENT file (#PCDATA)> + <!ATTLIST requests + version CDATA #REQUIRED + > + <!ATTLIST internal + package CDATA #REQUIRED + priority (9) #REQUIRED + active (0 | 1) #REQUIRED + > + <!ATTLIST external + package CDATA #REQUIRED + priority (1 | 2 | 3 | 4 | 5 | 6 | 7 | 8) #REQUIRED + active (0 | 1) #REQUIRED + > + <!ATTLIST provides + type (static | dynamic | editable) #REQUIRED + > + <!ATTLIST requires + type (static | dynamic | editable) #REQUIRED + > + <!ATTLIST file + type CDATA #IMPLIED + > +]> +<requests version="1.0"> + <external package="biblatex" priority="5" active="1"> + <generic>bibtex</generic> + <cmdline> + <binary>bibtex8</binary> + <option>--wolfgang</option> + <option>--min_crossrefs 1</option> + <option>--csfile latin9.csf</option> + <infile>03-biblatex+bibtex8</infile> + </cmdline> + <input> + <file>03-biblatex+bibtex8.aux</file> + </input> + <output> + <file>03-biblatex+bibtex8.bbl</file> + </output> + <provides type="dynamic"> + <file>03-biblatex+bibtex8.bbl</file> + </provides> + <requires type="dynamic"> + <file>03-biblatex+bibtex8.aux</file> + <file>03-biblatex+bibtex8-blx.bib</file> + </requires> + <requires type="editable"> + <file>bibfile1</file> + <file>bibfile2</file> + <file>bibfile3</file> + </requires> + <requires type="static"> + <file>biblatex.bst</file> + <file>latin9.csf</file> + </requires> + </external> + <internal package="biblatex" priority="9" active="1"> + <generic>latex</generic> + <provides type="dynamic"> + <file>03-biblatex+bibtex8.aux</file> + <file>03-biblatex+bibtex8-blx.bib</file> + </provides> + <requires type="dynamic"> + <file>03-biblatex+bibtex8.bbl</file> + </requires> + <requires type="static"> + <file>biblatex.def</file> + <file>authoryear.bbx</file> + <file>standard.bbx</file> + <file>authoryear.cbx</file> + <file>biblatex.cfg</file> + <file>american.lbx</file> + <file>english.lbx</file> + </requires> + </internal> +</requests> diff --git a/Master/texmf-dist/doc/latex/logreq/examples/03-biblatex+bibtex8.tex b/Master/texmf-dist/doc/latex/logreq/examples/03-biblatex+bibtex8.tex new file mode 100644 index 00000000000..495ea364f73 --- /dev/null +++ b/Master/texmf-dist/doc/latex/logreq/examples/03-biblatex+bibtex8.tex @@ -0,0 +1,79 @@ +\documentclass{minimal} +\usepackage{logreq} + +% biblatex example +% (this is a mockup of code which will be used in biblatex >= 0.9b) + +% sample preamble: + +% \usepackage[latin9]{inputenc} +% \usepackage[american]{babel} +% \usepackage[style=authoryear,backend=bibtex8,mincrossrefs=1,bibencoding=inputenc]{biblatex} +% \bibliography{bibfile1,bibfile2,bibfile3} + +% workflow: + +% latex file (-> both requests active) +% bibtex file +% latex file (-> both requests inactive) + +% additional bibtex passes may be required to resolve xrefs, +% additional latex passes may be required to resolve labels; +% i.e., the workflow may get as complex as this: + +% latex file (-> both requests active) +% bibtex file +% latex file (-> both requests active) +% bibtex file +% latex file (-> latex request active, bibtex request inactive) +% latex file (-> both requests inactive) + +\logrequest[package=biblatex,priority=5,active=1]{ + \generic{bibtex} + \cmdline{ + \binary{bibtex8} + \option{--wolfgang} + \option{--min_crossrefs 1} + \option{--csfile latin9.csf} + \infile{\jobname} + } + \input{ + \file{\jobname.aux} + } + \output{ + \file{\jobname.bbl} + } + \provides[type=dynamic]{ + \file{\jobname.bbl} + } + \requires[type=dynamic]{ + \file{\jobname.aux} + \file{\jobname-blx.bib} + } + \requires[type=editable]{ + \let\do=\file + \docsvlist{bibfile1,bibfile2,bibfile3} + } + \requires[type=static]{ + \file{biblatex.bst} + \file{latin9.csf} + } +} + +\ltxrequest{biblatex}{1}{ + \provides[type=dynamic]{ + \file{\jobname.aux} + \file{\jobname-blx.bib} + } + \requires[type=dynamic]{ + \file{\jobname.bbl} + } + \requires[type=static]{ + \let\do=\file + \docsvlist{biblatex.def,authoryear.bbx,standard.bbx,authoryear.cbx, + biblatex.cfg,american.lbx,english.lbx} + } +} + +\begin{document} +\end{document} diff --git a/Master/texmf-dist/doc/latex/logreq/examples/04-biblatex+bibtex+refsections.run.xml b/Master/texmf-dist/doc/latex/logreq/examples/04-biblatex+bibtex+refsections.run.xml new file mode 100644 index 00000000000..280f9199459 --- /dev/null +++ b/Master/texmf-dist/doc/latex/logreq/examples/04-biblatex+bibtex+refsections.run.xml @@ -0,0 +1,183 @@ +<?xml version="1.0" standalone="yes"?> +<!-- logreq request file --> +<!-- logreq version 1.0 / dtd version 1.0 --> +<!-- Do not edit this file! --> +<!DOCTYPE requests [ + <!ELEMENT requests (internal | external)*> + <!ELEMENT internal (generic, (provides | requires)*)> + <!ELEMENT external (generic, cmdline?, input?, output?, (provides | requires)*)> + <!ELEMENT cmdline (binary, (option | infile | outfile)*)> + <!ELEMENT input (file)+> + <!ELEMENT output (file)+> + <!ELEMENT provides (file)+> + <!ELEMENT requires (file)+> + <!ELEMENT generic (#PCDATA)> + <!ELEMENT binary (#PCDATA)> + <!ELEMENT option (#PCDATA)> + <!ELEMENT infile (#PCDATA)> + <!ELEMENT outfile (#PCDATA)> + <!ELEMENT file (#PCDATA)> + <!ATTLIST requests + version CDATA #REQUIRED + > + <!ATTLIST internal + package CDATA #REQUIRED + priority (9) #REQUIRED + active (0 | 1) #REQUIRED + > + <!ATTLIST external + package CDATA #REQUIRED + priority (1 | 2 | 3 | 4 | 5 | 6 | 7 | 8) #REQUIRED + active (0 | 1) #REQUIRED + > + <!ATTLIST provides + type (static | dynamic | editable) #REQUIRED + > + <!ATTLIST requires + type (static | dynamic | editable) #REQUIRED + > + <!ATTLIST file + type CDATA #IMPLIED + > +]> +<requests version="1.0"> + <external package="biblatex" priority="5" active="1"> + <generic>bibtex</generic> + <cmdline> + <binary>bibtex</binary> + <option>--min_crossrefs 2</option> + <infile>04-biblatex+bibtex+refsections</infile> + </cmdline> + <input> + <file>04-biblatex+bibtex+refsections.aux</file> + </input> + <output> + <file>04-biblatex+bibtex+refsections.bbl</file> + </output> + <provides type="dynamic"> + <file>04-biblatex+bibtex+refsections.bbl</file> + </provides> + <requires type="dynamic"> + <file>04-biblatex+bibtex+refsections.aux</file> + <file>04-biblatex+bibtex+refsections-blx.bib</file> + </requires> + <requires type="editable"> + <file>bibfile1</file> + <file>bibfile2</file> + <file>bibfile3</file> + </requires> + <requires type="static"> + <file>biblatex.bst</file> + </requires> + </external> + <external package="biblatex" priority="5" active="1"> + <generic>bibtex</generic> + <cmdline> + <binary>bibtex</binary> + <option>--min_crossrefs 2</option> + <infile>04-biblatex+bibtex+refsections1-blx</infile> + </cmdline> + <input> + <file>04-biblatex+bibtex+refsections1-blx.aux</file> + </input> + <output> + <file>04-biblatex+bibtex+refsections1-blx.bbl</file> + </output> + <provides type="dynamic"> + <file>04-biblatex+bibtex+refsections1-blx.bbl</file> + </provides> + <requires type="dynamic"> + <file>04-biblatex+bibtex+refsections1-blx.aux</file> + <file>04-biblatex+bibtex+refsections-blx.bib</file> + </requires> + <requires type="editable"> + <file>bibfile1</file> + <file>bibfile3</file> + </requires> + <requires type="static"> + <file>biblatex.bst</file> + </requires> + </external> + <external package="biblatex" priority="5" active="1"> + <generic>bibtex</generic> + <cmdline> + <binary>bibtex</binary> + <option>--min_crossrefs 2</option> + <infile>04-biblatex+bibtex+refsections2-blx</infile> + </cmdline> + <input> + <file>04-biblatex+bibtex+refsections2-blx.aux</file> + </input> + <output> + <file>04-biblatex+bibtex+refsections2-blx.bbl</file> + </output> + <provides type="dynamic"> + <file>04-biblatex+bibtex+refsections2-blx.bbl</file> + </provides> + <requires type="dynamic"> + <file>04-biblatex+bibtex+refsections2-blx.aux</file> + <file>04-biblatex+bibtex+refsections-blx.bib</file> + </requires> + <requires type="editable"> + <file>bibfile4</file> + <file>bibfile6</file> + <file>bibfile2</file> + </requires> + <requires type="static"> + <file>biblatex.bst</file> + </requires> + </external> + <external package="biblatex" priority="5" active="1"> + <generic>bibtex</generic> + <cmdline> + <binary>bibtex</binary> + <option>--min_crossrefs 2</option> + <infile>04-biblatex+bibtex+refsections3-blx</infile> + </cmdline> + <input> + <file>04-biblatex+bibtex+refsections3-blx.aux</file> + </input> + <output> + <file>04-biblatex+bibtex+refsections3-blx.bbl</file> + </output> + <provides type="dynamic"> + <file>04-biblatex+bibtex+refsections3-blx.bbl</file> + </provides> + <requires type="dynamic"> + <file>04-biblatex+bibtex+refsections3-blx.aux</file> + <file>04-biblatex+bibtex+refsections-blx.bib</file> + </requires> + <requires type="editable"> + <file>bibfile5</file> + <file>bibfile6</file> + </requires> + <requires type="static"> + <file>biblatex.bst</file> + </requires> + </external> + <internal package="biblatex" priority="9" active="1"> + <generic>latex</generic> + <provides type="dynamic"> + <file>04-biblatex+bibtex+refsections.aux</file> + <file>04-biblatex+bibtex+refsections1-blx.aux</file> + <file>04-biblatex+bibtex+refsections2-blx.aux</file> + <file>04-biblatex+bibtex+refsections3-blx.aux</file> + <file>04-biblatex+bibtex+refsections-blx.bib</file> + </provides> + <requires type="dynamic"> + <file>04-biblatex+bibtex+refsections.bbl</file> + <file>04-biblatex+bibtex+refsections1-blx.bbl</file> + <file>04-biblatex+bibtex+refsections2-blx.bbl</file> + <file>04-biblatex+bibtex+refsections3-blx.bbl</file> + </requires> + <requires type="static"> + <file>biblatex.def</file> + <file>numeric.bbx</file> + <file>standard.bbx</file> + <file>numeric.cbx</file> + <file>biblatex.cfg</file> + <file>american.lbx</file> + <file>english.lbx</file> + </requires> + </internal> +</requests> diff --git a/Master/texmf-dist/doc/latex/logreq/examples/04-biblatex+bibtex+refsections.tex b/Master/texmf-dist/doc/latex/logreq/examples/04-biblatex+bibtex+refsections.tex new file mode 100644 index 00000000000..cf7b3f509b4 --- /dev/null +++ b/Master/texmf-dist/doc/latex/logreq/examples/04-biblatex+bibtex+refsections.tex @@ -0,0 +1,190 @@ +\documentclass{minimal} +\usepackage{logreq} + +% biblatex example +% (this is a mockup of code which will be used in biblatex >= 0.9b) + +% sample code: + +% \usepackage{biblatex} +% \bibliography{bibfile1,bibfile2,bibfile3} +% \begin{document} +% ... +% \begin{refsection}[bibfile1,bibfile3] +% ... +% \end{refsection} +% ... +% \begin{refsection}[bibfile4,bibfile6,bibfile2] +% ... +% \end{refsection} +% ... +% \begin{refsection}[bibfile5,bibfile6] +% ... +% \end{refsection} +% \end{document} + +% workflow: + +% latex file (-> all requests active) +% bibtex file +% bibtex file1-blx +% bibtex file2-blx +% bibtex file3-blx +% latex file (-> all requests inactive) + +% additional bibtex passes may be required to resolve xrefs, +% additional latex passes may be required to resolve labels; +% i.e., the workflow may get as complex as this: + +% latex file (-> all requests active) +% bibtex file +% bibtex file1-blx +% bibtex file2-blx +% bibtex file3-blx +% latex file (-> all requests inactive) +% bibtex file +% bibtex file1-blx +% bibtex file2-blx +% bibtex file3-blx +% latex file (-> latex request active, bibtex requests inactive) +% latex file (-> both requests inactive) + +\logrequest[package=biblatex,priority=5,active=1]{ + \generic{bibtex} + \cmdline{ + \binary{bibtex} + \option{--min_crossrefs 2} + \infile{\jobname} + } + \input{ + \file{\jobname.aux} + } + \output{ + \file{\jobname.bbl} + } + \provides[type=dynamic]{ + \file{\jobname.bbl} + } + \requires[type=dynamic]{ + \file{\jobname.aux} + \file{\jobname-blx.bib} + } + \requires[type=editable]{ + \let\do=\file + \docsvlist{bibfile1,bibfile2,bibfile3} + } + \requires[type=static]{ + \file{biblatex.bst} + } +} + +\logrequest[package=biblatex,priority=5,active=1]{ + \generic{bibtex} + \cmdline{ + \binary{bibtex} + \option{--min_crossrefs 2} + \infile{\jobname1-blx} + } + \input{ + \file{\jobname1-blx.aux} + } + \output{ + \file{\jobname1-blx.bbl} + } + \provides[type=dynamic]{ + \file{\jobname1-blx.bbl} + } + \requires[type=dynamic]{ + \file{\jobname1-blx.aux} + \file{\jobname-blx.bib} + } + \requires[type=editable]{ + \let\do=\file + \docsvlist{bibfile1,bibfile3} + } + \requires[type=static]{ + \file{biblatex.bst} + } +} + +\logrequest[package=biblatex,priority=5,active=1]{ + \generic{bibtex} + \cmdline{ + \binary{bibtex} + \option{--min_crossrefs 2} + \infile{\jobname2-blx} + } + \input{ + \file{\jobname2-blx.aux} + } + \output{ + \file{\jobname2-blx.bbl} + } + \provides[type=dynamic]{ + \file{\jobname2-blx.bbl} + } + \requires[type=dynamic]{ + \file{\jobname2-blx.aux} + \file{\jobname-blx.bib} + } + \requires[type=editable]{ + \let\do=\file + \docsvlist{bibfile4,bibfile6,bibfile2} + } + \requires[type=static]{ + \file{biblatex.bst} + } +} + +\logrequest[package=biblatex,priority=5,active=1]{ + \generic{bibtex} + \cmdline{ + \binary{bibtex} + \option{--min_crossrefs 2} + \infile{\jobname3-blx} + } + \input{ + \file{\jobname3-blx.aux} + } + \output{ + \file{\jobname3-blx.bbl} + } + \provides[type=dynamic]{ + \file{\jobname3-blx.bbl} + } + \requires[type=dynamic]{ + \file{\jobname3-blx.aux} + \file{\jobname-blx.bib} + } + \requires[type=editable]{ + \let\do=\file + \docsvlist{bibfile5,bibfile6} + } + \requires[type=static]{ + \file{biblatex.bst} + } +} + +\ltxrequest{biblatex}{1}{ + \provides[type=dynamic]{ + \file{\jobname.aux} + \file{\jobname1-blx.aux} + \file{\jobname2-blx.aux} + \file{\jobname3-blx.aux} + \file{\jobname-blx.bib} + } + \requires[type=dynamic]{ + \file{\jobname.bbl} + \file{\jobname1-blx.bbl} + \file{\jobname2-blx.bbl} + \file{\jobname3-blx.bbl} + } + \requires[type=static]{ + \let\do=\file + \docsvlist{biblatex.def,numeric.bbx,standard.bbx,numeric.cbx, + biblatex.cfg,american.lbx,english.lbx} + } +} + +\begin{document} +\end{document} diff --git a/Master/texmf-dist/doc/latex/logreq/examples/05-biblatex+biber.run.xml b/Master/texmf-dist/doc/latex/logreq/examples/05-biblatex+biber.run.xml new file mode 100644 index 00000000000..6d18d9b94db --- /dev/null +++ b/Master/texmf-dist/doc/latex/logreq/examples/05-biblatex+biber.run.xml @@ -0,0 +1,86 @@ +<?xml version="1.0" standalone="yes"?> +<!-- logreq request file --> +<!-- logreq version 1.0 / dtd version 1.0 --> +<!-- Do not edit this file! --> +<!DOCTYPE requests [ + <!ELEMENT requests (internal | external)*> + <!ELEMENT internal (generic, (provides | requires)*)> + <!ELEMENT external (generic, cmdline?, input?, output?, (provides | requires)*)> + <!ELEMENT cmdline (binary, (option | infile | outfile)*)> + <!ELEMENT input (file)+> + <!ELEMENT output (file)+> + <!ELEMENT provides (file)+> + <!ELEMENT requires (file)+> + <!ELEMENT generic (#PCDATA)> + <!ELEMENT binary (#PCDATA)> + <!ELEMENT option (#PCDATA)> + <!ELEMENT infile (#PCDATA)> + <!ELEMENT outfile (#PCDATA)> + <!ELEMENT file (#PCDATA)> + <!ATTLIST requests + version CDATA #REQUIRED + > + <!ATTLIST internal + package CDATA #REQUIRED + priority (9) #REQUIRED + active (0 | 1) #REQUIRED + > + <!ATTLIST external + package CDATA #REQUIRED + priority (1 | 2 | 3 | 4 | 5 | 6 | 7 | 8) #REQUIRED + active (0 | 1) #REQUIRED + > + <!ATTLIST provides + type (static | dynamic | editable) #REQUIRED + > + <!ATTLIST requires + type (static | dynamic | editable) #REQUIRED + > + <!ATTLIST file + type CDATA #IMPLIED + > +]> +<requests version="1.0"> + <external package="biblatex" priority="5" active="1"> + <generic>biber</generic> + <cmdline> + <binary>biber</binary> + <infile>05-biblatex+biber</infile> + </cmdline> + <input> + <file>05-biblatex+biber.bcf</file> + </input> + <output> + <file>05-biblatex+biber.bbl</file> + </output> + <provides type="dynamic"> + <file>05-biblatex+biber.bbl</file> + </provides> + <requires type="dynamic"> + <file>05-biblatex+biber.bcf</file> + </requires> + <requires type="editable"> + <file>bibfile1</file> + <file>bibfile2</file> + <file>bibfile3</file> + </requires> + </external> + <internal package="biblatex" priority="9" active="1"> + <generic>latex</generic> + <provides type="dynamic"> + <file>05-biblatex+biber.bcf</file> + </provides> + <requires type="dynamic"> + <file>05-biblatex+biber.bbl</file> + </requires> + <requires type="static"> + <file>biblatex.def</file> + <file>numeric.bbx</file> + <file>standard.bbx</file> + <file>numeric.cbx</file> + <file>biblatex.cfg</file> + <file>american.lbx</file> + <file>english.lbx</file> + </requires> + </internal> +</requests> diff --git a/Master/texmf-dist/doc/latex/logreq/examples/05-biblatex+biber.tex b/Master/texmf-dist/doc/latex/logreq/examples/05-biblatex+biber.tex new file mode 100644 index 00000000000..a3e558dea19 --- /dev/null +++ b/Master/texmf-dist/doc/latex/logreq/examples/05-biblatex+biber.tex @@ -0,0 +1,66 @@ +\documentclass{minimal} +\usepackage{logreq} + +% biblatex example +% (this is a mockup of code which will be used in biblatex >= 0.9b) + +% sample preamble: + +% \usepackage[backend=biber]{biblatex} +% \bibliography{bibfile1,bibfile2,bibfile3} + +% workflow: + +% latex file (-> both requests active) +% biber file +% latex file (-> both requests inactive) + +% The Biber (> 0.5.3) workflow will be straightforward even if +% there are refsection environments, but additional latex passes +% may be required to resolve labels: + +% latex file (-> both requests active) +% bibtex file +% latex file (-> latex request active, biber request inactive) +% latex file (-> both requests inactive) + +\logrequest[package=biblatex,priority=5,active=1]{ + \generic{biber} + \cmdline{ + \binary{biber} + \infile{\jobname} + } + \input{ + \file{\jobname.bcf} + } + \output{ + \file{\jobname.bbl} + } + \provides[type=dynamic]{ + \file{\jobname.bbl} + } + \requires[type=dynamic]{ + \file{\jobname.bcf} + } + \requires[type=editable]{ + \let\do=\file + \docsvlist{bibfile1,bibfile2,bibfile3} + } +} + +\ltxrequest{biblatex}{1}{ + \provides[type=dynamic]{ + \file{\jobname.bcf} + } + \requires[type=dynamic]{ + \file{\jobname.bbl} + } + \requires[type=static]{ + \let\do=\file + \docsvlist{biblatex.def,numeric.bbx,standard.bbx,numeric.cbx, + biblatex.cfg,american.lbx,english.lbx} + } +} + +\begin{document} +\end{document} |