+++ /dev/null
-<!--#############################################################################
- | $Id: AUTHOR,v 1.1.1.1 2003/03/14 10:42:51 rcasellas Exp $
- |- #############################################################################
- | $Author: rcasellas $
- |
- | PURPOSE:
- + ############################################################################## -->
-
-Ramon Casellas <casellas@aist.enst.fr>, <casellas@infres.enst.fr>
- * Project manager and Developer.
- * with the help of many other people <xref linkend="thanks"/> :)
-
-James Devenish <j-devenish@users.sourceforge.net>
- * Project manager and Developer.
- * Patches and improvements.
+++ /dev/null
-A ChangeLog is not available for 0.8pre1 but will be present
-in the final 0.8 release.
+++ /dev/null
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 675 Mass Ave, Cambridge, MA 02139, USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-\f
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-\f
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-\f
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-\f
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "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. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-\f
- Appendix: How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) 19yy <name of author>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) 19yy name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
+++ /dev/null
-<!--#############################################################################
- | $Id: COPYRIGHT,v 1.3 2004/01/25 01:45:16 j-devenish Exp $
- |- #############################################################################
- | $Author: j-devenish $
- |
- | PURPOSE:
- | DB2LaTeX is distributed according to the GPL v2 license.
- + ############################################################################## -->
-
-<warning><para>
-IMPORTANT: These stylesheets ARE NOT the official DocBook XSL stylesheets. These stylesheets ARE NOT
-maintained by Norman Walsh. Please, DO NOT e-mail Norman about any question regarding these stylesheets
-</para></warning>
-
-**********************************************************************
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-**********************************************************************
-
-
-DocBook to LaTeX XSL Transformation Stylesheets
-(c) 2000-2004 Ramon Casellas
-
-
---------------------------------------------------------------------------------
-
-
-FROM THE OFFICIAL XSL Docbook Stylesheets
-____________________________________________
-Copyright (C) 1999, 2000, 2001, 2002 Norman Walsh
-
-Permission is hereby granted, free of charge, to any person
-obtaining a copy of this software and associated documentation
-files (the ``Software''), to deal in the Software without
-restriction, including without limitation the rights to use,
-copy, modify, merge, publish, distribute, sublicense, and/or
-sell copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following
-conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-Except as contained in this notice, the names of individuals
-credited with contribution to this software shall not be used in
-advertising or otherwise to promote the sale, use or other
-dealings in this Software without prior written authorization
-from the individuals in question.
-
-Any stylesheet derived from this Software that is publically
-distributed will be identified with a different name and the
-version strings in any derived Software will be changed so that
-no possibility of confusion between the derived package and this
-Software will exist.
-
-Warranty
---------
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL NORMAN WALSH OR ANY OTHER
-CONTRIBUTOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
-
-ORIGINAL DOCBOOK XSL STYLESHEETS
-* Norman Walsh XSL Stylesheets http://www.nwalsh.com
-
-DOCBOOK DTD
-* Arbortex, Oasis, etc
-* See Docbook copyrigth
-
-MATHML PORTIONS
---------------------------------------------------------------
- Unlimited use, reproduction, and distribution of this software is
- permitted. Any copy of this software must include both the above
- copyright notice of Xerox Corporation and this paragraph. Any
- distribution of this software must comply with all applicable United
- States export control laws. This software is made available AS IS,
- and XEROX CORPORATION DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED,
- INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE, AND NOTWITHSTANDING ANY OTHER
- PROVISION CONTAINED HEREIN, ANY LIABILITY FOR DAMAGES RESULTING FROM
- THE SOFTWARE OR ITS USE IS EXPRESSLY DISCLAIMED, WHETHER ARISING IN
- CONTRACT, TORT (INCLUDING NEGLIGENCE) OR STRICT LIABILITY, EVEN IF
- XEROX CORPORATION IS ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
- emmanuel.pietriga@xrce.xerox.com
- This work is done for the OPERA project (INRIA) during a thesis work under a
- CIFRE contract.
------------------------------------------------------------------
-
-* string-replace by David Carlisle http://www.jclark.com
-
-* xt by James Clarck http://www.jclark.com
-
-
-BUGS and MISSING FEATURES :)
-* Ramon Casellas
-casellas@aist.enst.fr
-http://www.enst.fr/~casellas
+++ /dev/null
-<!--#############################################################################
- | $Id: DOCBOOK.RFE,v 1.1.1.1 2003/03/14 10:42:51 rcasellas Exp $
- |- #############################################################################
- | $Author: rcasellas $
- |
- | PURPOSE:
- + ############################################################################## -->
-
+++ /dev/null
-<!--#############################################################################
- | $Id: README,v 1.2 2004/01/31 12:53:35 j-devenish Exp $
- |- #############################################################################
- | $Author: j-devenish $
- |
- | PURPOSE:
- + ############################################################################## -->
-
-Note
-=====================
-This file is obsolete. Please see the instructions available at the DB2LaTeX
-project website <http://db2latex.sourceforge.net/> -- a local HTML copy
-accompanies this distribution.
-
-Disclaimer
-=====================
-Documentation is *needed* and obviously very important, but bear
-in mind that it is also very boring. WYSIWID: What you see is
-what it's done...
-
-Installation
-=====================
-DB2LaTeX is now a standalone product, the main driver stylesheet is docbook.xsl.
-Process your document with your favourite (and I hope supported) XSLT engine.
-See the sample directory.
-
-Extending the stylesheets
-=========================
-XSL variables that are supposed to affect the output of the XSLT are in vars.mod.xsl
-Cfr. Norman Walsh documentation on how to extend (add a customization layer).
-
-Thanks
-=====================
-See the THANKS file
-
-Authors
-=====================
-Ramon Casellas casellas@infres.enst.fr
-James Devenish j-devenish@users.sourceforge.net
+++ /dev/null
-Without this people, DB2LaTeX would not exist:
----------------------------------------------------
-* Norman Walsh and OASIS comitee:
-* Docbook/DSSSL/XSL/Mailing Lists contributors
-* Open Source Developers
-* David Carlisle
-* James Clark
-
-
-
-DB2LaTeX
-------------------
-The following people have contributed by sending sending patches, bug reports, suggestions or simply interesting comments.
-Thank you.
-R.
-
-* Michel Goosens
-* James Devenish
-* Michael Wiedmann
-* Steve Fisher
-* Camille Begnis
-* Andrea Giuliano.
-* Frederic Schwebel
-* Emmanuel Pietriga
-* Benoit G/Nicolas Marsgui
-* Sebastien Blondeel
-* Olivier Dameron
-* Sebastien Schneider
-* Marco Kuhlmann
-* Raphael Goubet
-* Indrek Pehk
-* Balazs Scheider
-* Jakob VoB
-* David Nelson
-* Jirka Kosek
-* Steinar Bang
-* Vitaly Ostanin
-* Brian McGurk
-
-* Roman Kennkee roman(at)cognition(dot)uni-freiburg(dot)de 24 Feb 2003 11:50:13 +0100
- - Patches for MathML
-
-* Ralph Meijer rmeijer(at)users(dot)sourceforge(dot)net 12 Mar 2003 12:01:30 +0100
- - Bug report : mediaobject is not processed according to DocBook guidelines.
- - Submitted patch for mediaobject.mod.xsl
-
-* Stephane Bortzmeyer 13 Mar 2003
- - Bug reports
- - Patch for qanda.mod.xsl
-
-* Jan Pavlovic 02 Avr 2003
- - Bug reports and Suggestions
- - Suggested the use of textbackslash
- - Suggested a new processing for lot. Now you can use the @label to output only tables, figures or both
- - graphic.default.extension is now honoured.
- - added support for child::editor and others in biblio.
- - Index terms are now scaped.
- - updated keywordset so now it uses latex.mapping
- - added xsl template for keyword
- - added xsl template for inlineequation
- - keywords are now processed in bookinfo
-
-* Thomas Schraitle (tom_schr) 14 Avr 2003
- - Submitted patch for indexterm.
-
-* Michael Wiedmann <mw(at)miwie(dot)in-berlin(dot)de> 14 Avr 2003 and beyond
- - Bug Reports concerning authorgroup/author articleinfo and incorrect title in preface processing.
- - Useful comments.
- - Patches.
- - 'Contrib' templates.
- - Gentext localisation strings.
-
-* Florence HENRY <Florence(dot)Henry(at)obspm(dot)fr> 7 Oct 2003
- - Several LaTeX suggestions.
- - Help with colsep.
-
-* LEGUEDOIS, Frederic <F.LEGUEDOIS(at)OBERTHURCS(dot)com>
- - Bug report in xsl/common/common.xsl regarding count() and has.ext with saxon.
-
-* Cesar A. R. Crusius <cesarcrusius(at)earthlink(dot)net> 3 Nov 2003
- - Some new MathML templates.
-
+++ /dev/null
-<!--#############################################################################
- | $Id: TODO,v 1.11 2003/06/29 08:31:10 j-devenish Exp $
- |- #############################################################################
- | $Author: j-devenish $
- |
- | PURPOSE:
- + ############################################################################## -->
-
-SHORT
-
-20030418 - JD
- * Hyperlinks in QandA
- * Support for regular typeface characterset within verbatim (for literallayout
- support -- see test_article).
- * Fix \maketitle to reduce space waste in articles.
-
-20030418 - RCAS
- * Refactor code regarding authors and authorgroups in a single named tempalte.
- * Test articles in books -> book/article and the author/authorgroup prcessing
- * Start support por partinfos/chapterinfos and to be able to output a ToC per
- part / chapter ...
-
-200303XX - JD
- * There also needs to be some way of handling character entities like
- — (or their Unicode equivalents). It is a pity that XPath
- doesn't have functions for regular expression substitution.
-
- * Tables, tables, tables, always tables... Anyone?
- * Bibliography
- * bibliomixed is not supported
- * Manage .bst files ?
-
- * Qanda is not supported at all (but patch supplied by S.B. 13 Mar 2003)
- RCAS: Added basic support.
- A QandASet has several QandADivs that have several QandAEntries.
- See xsl/sample/test_qanda
-
- * Math
- * Improve support for MathElems tags (customized DTD)
- * Improve support for tm and inlinetm (embedded LaTeX Math)
- * Start MathML support
- * Lists
- * Ordered lists are mapped to enumerate, regardless of 'continues'
-
- * Index : basic support. Only ONE index per LaTeX Document.
- Support for several see/seealso
-
- * Footnote: if possible, improve upon the existing \catcode kludge
- for \urls within \footnotes.
-
- * Tables/figures: look into whether page-spanning floats are possible
- when using two-column <article>s. Add Q&A about this.
-
-LONG
- * Update localisation.
-
- * Overhaul handling of titles.
-
- * Index support.
-
- * Add chunking, so each chapter/part/etc... is created on a separate .tex file
- and manage the \input. (Also: automation of cover file generation.)
-
- RCAS: Done. See xsl/sample/chunking
- Depends on Norman Walsh chunker.xsl.
-
- * Document latex.* variables (see vars.mod.xsl).
-
- * Better support of everything :)
-
- * Package.. rpm/deb/tgz
- RCAS: rpm & tar.gz ok.
- RCAS: .deb pending (check debian mailing lists for a mantainer.)
-
- * Add autoconf/automake
- * Detect jdk if required.
- * Detect xslt processors.
+++ /dev/null
-<?xml version='1.0'?>
-<!--#############################################################################
- | $Id: VERSION.xml,v 1.6 2004/01/31 12:47:11 j-devenish Exp $
- |- #############################################################################
- | $Author: j-devenish $
- |
- | PURPOSE:
- + ############################################################################## -->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'>
-<xsl:variable name="VERSION">0.8pre1</xsl:variable>
-<xsl:variable name="LASTRELEASE">0.7</xsl:variable>
-<xsl:variable name="TAG">
- <xsl:variable name="RCSTAG" select="substring-before(substring-after('$Name: DB2LATEX_0_8PRE1 $',concat('$','Name: ')),'$')"/>
- <xsl:choose>
- <xsl:when test="normalize-space($RCSTAG)=''">HEAD</xsl:when>
- <xsl:otherwise><xsl:value-of select="$RCSTAG" /></xsl:otherwise>
- </xsl:choose>
-</xsl:variable>
-<xsl:variable name="CVSVERSION">$Id: VERSION.xml,v 1.6 2004/01/31 12:47:11 j-devenish Exp $</xsl:variable>
-
-
-</xsl:stylesheet>
-
+++ /dev/null
-<?xml version='1.0'?>
-<!DOCTYPE xsl:stylesheet [ <!ENTITY % xsldoc.ent SYSTEM "./xsldoc.ent"> %xsldoc.ent; ]>
-<!--#############################################################################
-| $Id: abstract.mod.xsl,v 1.12 2003/12/30 13:38:04 j-devenish Exp $
-|- #############################################################################
-| $Author: j-devenish $
-+ ############################################################################## -->
-
-<xsl:stylesheet
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
- exclude-result-prefixes="doc" version='1.0'>
-
- <doc:reference id="abstract" xmlns="">
- <referenceinfo>
- <releaseinfo role="meta">
- $Id: abstract.mod.xsl,v 1.12 2003/12/30 13:38:04 j-devenish Exp $
- </releaseinfo>
- <authorgroup>
- &ramon;
- &james;
- </authorgroup>
- <copyright>
- <year>2000</year><year>2001</year><year>2002</year><year>2003</year>
- <holder>Ramon Casellas</holder>
- </copyright>
- <revhistory>
- <doc:revision rcasver="1.6">&rev_2003_05;</doc:revision>
- </revhistory>
- </referenceinfo>
- <title>Abstracts <filename>abstract.mod.xsl</filename></title>
- <partintro>
- <para>The file <filename>abstract.mod.xsl</filename> contains the
- XSL template for <doc:db>abstract</doc:db>.</para>
- </partintro>
- </doc:reference>
-
- <doc:template basename="abstract" match="abstract" xmlns="">
- <refpurpose>Process <doc:db>abstract</doc:db> elements</refpurpose>
- <doc:description>
- <para>
- Uses the &latex; <function condition='env'>abstract</function> environment
- to format <quote>abstracts</quote> as blocks.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:notes>
- <para>Currently, the <doc:db>title</doc:db> is not honoured.</para>
- <para>The &db2latex; template for <doc:db>abstract</doc:db> is intended for use with <doc:db>article</doc:db> and <doc:db>book</doc:db>, only.</para>
- </doc:notes>
- <doc:samples>
- <simplelist type='inline'>
- &test_article;
- &test_book;
- &test_ddh;
- &test_ieeebiblio;
- &test_varioref;
- </simplelist>
- </doc:samples>
- <doc:seealso>
- <itemizedlist>
- <listitem><simpara>&mapping;</simpara></listitem>
- </itemizedlist>
- </doc:seealso>
- </doc:template>
- <xsl:template match="abstract">
- <xsl:variable name="keyword">
- <xsl:value-of select="local-name(.)"/>
- <xsl:if test="title">
- <!-- choose a different mapping -->
- <xsl:text>-title</xsl:text>
- </xsl:if>
- </xsl:variable>
- <xsl:call-template name="map.begin">
- <xsl:with-param name="keyword" select="$keyword"/>
- </xsl:call-template>
- <xsl:call-template name="content-templates"/>
- <xsl:call-template name="map.end">
- <xsl:with-param name="keyword" select="$keyword"/>
- </xsl:call-template>
- </xsl:template>
-
-</xsl:stylesheet>
-
-
+++ /dev/null
-<?xml version='1.0'?>
-<!DOCTYPE xsl:stylesheet [ <!ENTITY % xsldoc.ent SYSTEM "./xsldoc.ent"> %xsldoc.ent; ]>
-<!--#############################################################################
-| $Id: admonition.mod.xsl,v 1.14 2004/01/03 09:48:34 j-devenish Exp $
-|- #############################################################################
-| $Author: j-devenish $
-+ ############################################################################## -->
-<xsl:stylesheet
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
- exclude-result-prefixes="doc" version='1.0'>
-
- <doc:reference name="admonition" xmlns="">
- <referenceinfo>
- <releaseinfo role="meta">
- $Id: admonition.mod.xsl,v 1.14 2004/01/03 09:48:34 j-devenish Exp $
- </releaseinfo>
- <authorgroup>
- &ramon;
- &james;
- </authorgroup>
- <copyright>
- <year>2000</year><year>2001</year><year>2002</year><year>2003</year>
- <holder>Ramon Casellas</holder>
- </copyright>
- <revhistory>
- <doc:revision rcasver="1.6">&rev_2003_05;</doc:revision>
- </revhistory>
- </referenceinfo>
- <title>Admonitions <filename>admonition.mod.xsl</filename></title>
- <partintro>
- <para>
-
- &DocBook; includes admonitions (<doc:db>warning</doc:db>,
- <doc:db>tip</doc:db>, <doc:db>important</doc:db>,
- <doc:db>caution</doc:db>, <doc:db>note</doc:db>), which are set off
- from the main text. &DB2LaTeX; places these in the normal text flow
- but surrounds them with a box border.
-
- </para>
- <doc:variables>
- <itemizedlist>
- <listitem><simpara><xref linkend="param.latex.use.fancybox"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.admon.graphics.path"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.admonition.imagesize"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.apply.title.templates.admonitions"/></simpara></listitem>
- </itemizedlist>
- </doc:variables>
- </partintro>
- </doc:reference>
-
- <doc:param xmlns="">
- <refpurpose>
- Declares a new environment to be used for admonitions
- </refpurpose>
- <doc:description>
- <para>
-
- This &LaTeX; environment is emitted during the preamble. That
- environment has two mandatory parameters. Instances of the
- environment are customised for each admonition via those
- parameters. Instances will be typeset as boxed areas in the
- document flow.
-
- </para>
- <para>
-
- The first argument is the filename for graphics (e.g.
- <filename>$admon.graphics.path/warning</filename>).
- The second argument is the admonition title or the associated
- generic text.
-
- </para>
-
- <example>
- <title>Processing the <doc:db>warning</doc:db> admonition</title>
- <para> When processing the admonition, the following code is generated: </para>
- <programlisting>
- <![CDATA[\begin{admonition}{figures/warning}{My WARNING}
-...
-\end{admonition}]]>
- </programlisting>
- </example>
- </doc:description>
- <doc:notes>
- <!-- notes about spacing? -->
- <para>
- The environment uses graphics by default. This may generate errors or warnings
- if &LaTeX; cannot find the graphics. If necessary, graphics may be disabled
- via <xref linkend="param.admon.graphics.path"/>.
- </para>
- </doc:notes>
- <!--
- <doc:seealso>
- <itemizedlist>
- <listitem><simpara><xref linkend="template.para"/></simpara></listitem>
- </itemizedlist>
- </doc:seealso>
- -->
- <doc:variables>
- <itemizedlist>
- <listitem><simpara><xref linkend="param.latex.use.fancybox"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.admon.graphics.path"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.admonition.imagesize"/></simpara></listitem>
- </itemizedlist>
- </doc:variables>
- </doc:param>
-
- <xsl:param name="latex.admonition.environment">
- <xsl:text>% ---------------------------------------------- </xsl:text>
- <xsl:text>% Define a new LaTeX environment (adminipage) </xsl:text>
- <xsl:text>% ---------------------------------------------- </xsl:text>
- <xsl:text>\newenvironment{admminipage}% </xsl:text>
- <xsl:text>{ % this code corresponds to the \begin{adminipage} command </xsl:text>
- <xsl:text> \begin{Sbox}% </xsl:text>
- <xsl:text> \begin{minipage}% </xsl:text>
- <xsl:text>} %done </xsl:text>
- <xsl:text>{ % this code corresponds to the \end{adminipage} command </xsl:text>
- <xsl:text> \end{minipage} </xsl:text>
- <xsl:text> \end{Sbox} </xsl:text>
- <xsl:text> \fbox{\TheSbox} </xsl:text>
- <xsl:text>} %done </xsl:text>
- <xsl:text>% ---------------------------------------------- </xsl:text>
- <xsl:text>% Define a new LaTeX length (admlength) </xsl:text>
- <xsl:text>% ---------------------------------------------- </xsl:text>
- <xsl:text>\newlength{\admlength} </xsl:text>
- <xsl:text>% ---------------------------------------------- </xsl:text>
- <xsl:text>% Define a new LaTeX environment (admonition) </xsl:text>
- <xsl:text>% With 2 parameters: </xsl:text>
- <xsl:text>% #1 The file (e.g. note.pdf) </xsl:text>
- <xsl:text>% #2 The caption </xsl:text>
- <xsl:text>% ---------------------------------------------- </xsl:text>
- <xsl:text>\newenvironment{admonition}[2] </xsl:text>
- <xsl:text>{ % this code corresponds to the \begin{admonition} command </xsl:text>
- <xsl:text> \hspace{0mm}\newline\hspace*\fill\newline </xsl:text>
- <xsl:text> \noindent </xsl:text>
- <xsl:text> \setlength{\fboxsep}{5pt} </xsl:text>
- <xsl:text> \setlength{\admlength}{\linewidth} </xsl:text>
- <xsl:text> \addtolength{\admlength}{-10\fboxsep} </xsl:text>
- <xsl:text> \addtolength{\admlength}{-10\fboxrule} </xsl:text>
- <xsl:text> \admminipage{\admlength} </xsl:text>
- <xsl:text> {\bfseries \sc\large{#2}}</xsl:text>
- <xsl:text> \newline </xsl:text>
- <xsl:text> \\[1mm] </xsl:text>
- <xsl:text> \sffamily </xsl:text>
- <!--
- If we cannot find the admon.graphics.path;
- Comment out the next line (\includegraphics).
- This tactic is to avoid deleting the \includegraphics
- altogether, as that could confuse a person trying to
- find the use of parameter #1 in the environment.
- -->
- <xsl:if test="$admon.graphics.path=''">
- <xsl:text>%</xsl:text>
- </xsl:if>
- <xsl:text> \includegraphics[</xsl:text> <xsl:value-of select="$latex.admonition.imagesize" /> <xsl:text>]{#1} </xsl:text>
- <xsl:text> \addtolength{\admlength}{-1cm} </xsl:text>
- <xsl:text> \addtolength{\admlength}{-20pt} </xsl:text>
- <xsl:text> \begin{minipage}[lt]{\admlength} </xsl:text>
- <xsl:text> \parskip=0.5\baselineskip \advance\parskip by 0pt plus 2pt </xsl:text>
- <xsl:text>} %done </xsl:text>
- <xsl:text>{ % this code corresponds to the \end{admonition} command </xsl:text>
- <xsl:text> \vspace{5mm} </xsl:text>
- <xsl:text> \end{minipage} </xsl:text>
- <xsl:text> \endadmminipage </xsl:text>
- <xsl:text> \vspace{.5em} </xsl:text>
- <xsl:text> \par </xsl:text>
- <xsl:text>} </xsl:text>
- </xsl:param>
-
- <doc:template xmlns="">
- <refpurpose> Choose an admonition graphic </refpurpose>
- <doc:description>
- <para>
-
- For each admonition element
- (<doc:db>warning</doc:db>, <doc:db>tip</doc:db>, <doc:db>important</doc:db>, <doc:db>caution</doc:db>, <doc:db>note</doc:db>),
- this template chooses the graphics filename. If the admonition element is
- not known, the <doc:db>note</doc:db> graphic is used.
-
- </para>
- </doc:description>
- <doc:params>
- <variablelist>
- <varlistentry>
- <term>name</term>
- <listitem>
- <para>
-
- The name of the adminition. &DB2LaTeX; includes
- different graphics for different adminitions. By
- default, <literal>name</literal> defaults to the
- XSLT <function
- condition="xslt">local-name</function> of the
- current node.
-
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </doc:params>
- </doc:template>
-
- <xsl:template name="admon.graphic">
- <xsl:param name="name" select="local-name(.)"/>
- <xsl:choose>
- <xsl:when test="$name='note'">note</xsl:when>
- <xsl:when test="$name='warning'">warning</xsl:when>
- <xsl:when test="$name='caution'">caution</xsl:when>
- <xsl:when test="$name='tip'">tip</xsl:when>
- <xsl:when test="$name='important'">important</xsl:when>
- <xsl:otherwise>note</xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <doc:template xmlns="">
- <refpurpose> Process admonitions </refpurpose>
- <doc:description>
- <para>
-
- Invokes the environment provided by <xref
- linkend="param.latex.admonition.environment"/>
- and applies templates.
-
- </para>
- <note><para>An admonition will look something like this <doc:db>note</doc:db>.</para></note>
- </doc:description>
- <doc:notes>
- <para>
-
- There can be <quote>excessive</quote> whitespace between
- the bottom of the admonition area and a subsequent paragraph.
-
- </para>
- </doc:notes>
- <doc:variables>
- <itemizedlist>
- <listitem><simpara><xref linkend="param.admon.graphics.path"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.apply.title.templates.admonitions"/></simpara></listitem>
- </itemizedlist>
- </doc:variables>
- <doc:samples>
- <simplelist type='inline'>
- &test_adm;
- &test_bind;
- &test_book;
- </simplelist>
- </doc:samples>
- <doc:seealso>
- <itemizedlist>
- <listitem><para>&mapping;</para></listitem>
- </itemizedlist>
- </doc:seealso>
- </doc:template>
-
- <xsl:template match="note|important|warning|caution|tip">
- <xsl:call-template name="map.begin">
- <xsl:with-param name="keyword">admonition</xsl:with-param>
- <xsl:with-param name="string">
- <xsl:text>{</xsl:text>
- <xsl:value-of select="$admon.graphics.path"/><xsl:text>/</xsl:text>
- <xsl:call-template name="admon.graphic"/>
- <xsl:text>}{</xsl:text>
- <xsl:choose>
- <xsl:when test="title and $latex.apply.title.templates.admonitions='1'">
- <xsl:call-template name="extract.object.title">
- <xsl:with-param name="object" select="."/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="gentext.element.name"/>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:text>}</xsl:text>
- </xsl:with-param>
- </xsl:call-template>
- <xsl:call-template name="content-templates"/>
- <xsl:call-template name="map.end">
- <xsl:with-param name="keyword">admonition</xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
-</xsl:stylesheet>
+++ /dev/null
-<?xml version='1.0'?>
-<!DOCTYPE xsl:stylesheet [ <!ENTITY % xsldoc.ent SYSTEM "./xsldoc.ent"> %xsldoc.ent; ]>
-<!--#############################################################################
-| $Id: authorgroup.mod.xsl,v 1.10 2003/12/30 13:38:54 j-devenish Exp $
-|- #############################################################################
-| $Author: j-devenish $
-+ ############################################################################## -->
-
-<xsl:stylesheet
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
- exclude-result-prefixes="doc" version='1.0'>
-
- <doc:reference id="authorgroup" xmlns="">
- <referenceinfo>
- <releaseinfo role="meta">
- $Id: authorgroup.mod.xsl,v 1.10 2003/12/30 13:38:54 j-devenish Exp $
- </releaseinfo>
- <authorgroup>
- &ramon;
- &james;
- </authorgroup>
- <copyright>
- <year>2000</year><year>2001</year><year>2002</year><year>2003</year>
- <holder>Ramon Casellas</holder>
- </copyright>
- <revhistory>
- <doc:revision rcasver="1.6">&rev_2003_05;</doc:revision>
- </revhistory>
- </referenceinfo>
- <title>Authorgroups <filename>authorgroup.mod.xsl</filename></title>
- <partintro>
- <para>The file <filename>authorgroup.mod.xsl</filename> contains the
- XSL templates for <doc:db>author</doc:db>, <doc:db>editor</doc:db>,
- <doc:db>othercredit</doc:db><doc:db>personname</doc:db>, <doc:db>authorblurb</doc:db>,
- <doc:db>authorgroup</doc:db> and <doc:db>authorinitials</doc:db>.</para>
- <section>
- <title>Pertinent Variables</title>
- <itemizedlist>
- <listitem><simpara><xref linkend="param.biblioentry.item.separator"/></simpara></listitem>
- </itemizedlist>
- </section>
- </partintro>
- </doc:reference>
-
- <doc:template basename="authorgroup" xmlns="">
- <refpurpose>Process <doc:db>authorgroup</doc:db> elements</refpurpose>
- <doc:description>
- <para>
- Formats a list of authors for typsetting as a formatted block
- (not inline).
- </para>
- <para>
- Applies templates for <doc:db>author</doc:db> elements,
- inserting <quote>and</quote> between authors' names.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:params>
- <variablelist>
- <varlistentry>
- <term>person.list</term>
- <listitem>
- <para>
-
- The nodes to be formatted. By default, the template
- will select child::author, child::corpauthor,
- child::othercredit and child::editor for the
- current node.
-
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </doc:params>
- <doc:notes>
- <para>
-
- May be called from any template when the current node has
- <doc:db>author</doc:db>, <doc:db>editor</doc:db>,
- <doc:db>corpauthor</doc:db> or <doc:db>othercredit</doc:db> children.
-
- </para>
- <para>
-
- This template uses <function
- condition='xslt'>person.name.list</function> from
- <filename>db2latex/xsl/common/common.xsl</filename> to format
- the list of authors.
-
- </para>
-
- <para>
-
- For compatibility with &latex;, <xref
- linkend="template.normalize-scape"/> is called on the output of
- <function condition='xslt'>person.name.list</function>.
- <doc:todo>This may pose problems but has not been
- investigated.</doc:todo>
-
- </para>
- </doc:notes>
- <doc:samples>
- <simplelist type='inline'>
- &test_article;
- &test_biblio;
- &test_bind;
- &test_book;
- &test_ieeebiblio;
- &test_minimal;
- </simplelist>
- </doc:samples>
- </doc:template>
-
- <xsl:template match="authorgroup" name="authorgroup">
- <xsl:param name="person.list" select="./author|./corpauthor|./othercredit|./editor"/>
- <xsl:call-template name="normalize-scape">
- <xsl:with-param name="string">
- <xsl:call-template name="person.name.list">
- <xsl:with-param name="person.list" select="$person.list"/>
- </xsl:call-template>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <doc:template xmlns="">
- <refpurpose>Process names of <doc:db>authors</doc:db> and similar elements</refpurpose>
- <doc:description>
- <para>
-
- Formats a person's name for inline display.
-
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:notes>
-
- <para>
-
- This template uses <function
- condition='xslt'>person.name</function> from
- <filename>db2latex/xsl/common/common.xsl</filename> to format the
- names of <doc:db>author</doc:db>, <doc:db>editor</doc:db>,
- <doc:db>othercredit</doc:db> and <doc:db>personname</doc:db>
- elements.
-
- </para>
-
- <para>
-
- For compatibility with &latex;, <xref
- linkend="template.normalize-scape"/> is called on the output of
- <function condition='xslt'>person.name.list</function>.
- <doc:todo>This may pose problems but has not been
- investigated.</doc:todo>
-
- </para>
-
- </doc:notes>
- <doc:samples>
- <simplelist type='inline'>
- <member>See <xref linkend="template.authorgroup"/>.</member>
- </simplelist>
- </doc:samples>
- </doc:template>
-
- <xsl:template match="author|editor|othercredit|personname">
- <xsl:call-template name="normalize-scape">
- <xsl:with-param name="string">
- <xsl:call-template name="person.name"/>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <doc:template basename="authorinitials" xmlns="">
- <refpurpose>Process <doc:db>authorinitials</doc:db> elements</refpurpose>
- <doc:description>
- <para>
-
- Represents <doc:db>authorinitials</doc:db> by applying templates
- normally and then appending <xref
- linkend="param.biblioentry.item.separator"/>.
-
- </para>
- </doc:description>
- <doc:variables>
- <itemizedlist>
- <listitem><simpara><xref linkend="param.biblioentry.item.separator"/></simpara></listitem>
- </itemizedlist>
- </doc:variables>
- <doc:notes>
- <para>
-
- <doc:todo>The use of <xref linkend="param.biblioentry.item.separator"/>
- should be replaced with the normal localisation mechanism.</doc:todo>
-
- </para>
- </doc:notes>
- <doc:samples>
- <simplelist type='inline'>
- &test_book;
- &test_article;
- &test_ieeebiblio;
- &test_minimal;
- </simplelist>
- </doc:samples>
- </doc:template>
-
- <xsl:template match="authorinitials">
- <xsl:apply-templates/>
- <xsl:value-of select="$biblioentry.item.separator"/>
- </xsl:template>
-
-</xsl:stylesheet>
+++ /dev/null
-<?xml version='1.0'?>
-<!DOCTYPE xsl:stylesheet [ <!ENTITY % xsldoc.ent SYSTEM "./xsldoc.ent"> %xsldoc.ent; ]>
-<!--#############################################################################
-| $Id: biblio.mod.xsl,v 1.21 2004/01/26 08:57:46 j-devenish Exp $
-|- #############################################################################
-| $Author: j-devenish $
-+ ############################################################################## -->
-
-<xsl:stylesheet
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
- exclude-result-prefixes="doc" version='1.0'>
-
- <doc:reference id="biblio" xmlns="">
- <referenceinfo>
- <releaseinfo role="meta">
- $Id: biblio.mod.xsl,v 1.21 2004/01/26 08:57:46 j-devenish Exp $
- </releaseinfo>
- <authorgroup>
- &ramon;
- &james;
- </authorgroup>
- <copyright>
- <year>2000</year><year>2001</year><year>2002</year><year>2003</year>
- <holder>Ramon Casellas</holder>
- </copyright>
- <revhistory>
- <doc:revision rcasver="1.16">&rev_2003_05;</doc:revision>
- </revhistory>
- </referenceinfo>
- <title>Bibliographies <filename>biblio.mod.xsl</filename></title>
- <partintro>
-
- <para>The file <filename>biblio.mod.xsl</filename> contains the XSL
- template for <doc:db>bibliography</doc:db> and associated
- elements.</para>
-
- <!--
- <para>This reference describes the templates and parameters relevant
- to formatting DocBook bibliography markup.</para>
- -->
-
- <bridgehead><quote>All</quote> versus <quote>cited</quote> mode</bridgehead>
- <note>
- <para>These modes are superseded by &BibTeX;
- when using &BibTeX;.</para>
- </note>
- <para>
-
- The <xref linkend="param.latex.biblio.output"/> option can be used
- to select <quote>all</quote> mode or <quote>cited</quote> mode.
- With the <quote>cited</quote> mode, only the <doc:db
- basename="biblioentry">biblioentries</doc:db> that have been
- cited somewhere in the document are output. Otherwise (in
- <quote>all</quote> mode) all biblioentries found are output (as
- the HTML stylesheets do).
-
- </para>
-
- <bridgehead>&DocBook; versus &BibTeX;</bridgehead>
- <para>
-
- &DB2LaTeX; supports &BibTeX;. When this mode is enabled,
- you can use a &BibTeX; citations file. Your <doc:db
- basename="citation">citations</doc:db> can then refer to
- your &BibTeX; keys (<doc:db basename="xref">xrefs</doc:db>
- are unlikely to work, though). You will need to provide a
- &LaTeX; command to select a bibliographic citation style as
- is normal for &BibTeX; (see <xref
- linkend="bibtex.example"/>). You must also run the
- <command>bibtex</command> command when typesetting your
- document with &LaTeX;.
-
- </para>
- <note>
- <para>Although &DocBook; allows <doc:db basename="bibliography">bibliographies</doc:db>
- within a number of components, such as <doc:db>section</doc:db>, the use of &BibTeX;
- is only useful for a single, chapter-level bibliography.</para>
- </note>
- <para>
-
- To enable &BibTeX; mode, insert an empty
- <doc:db>bibliography</doc:db> element in your &DocBook;
- document. However, note that this is not valid &DocBook;,
- though it will lead to the desired results with most
- &DocBook; XSL stylesheets (including those for HTML).
- You will also need to set the <xref linkend="param.latex.bibfiles"/>
- variable to the correct path of your &BibTeX; citations file.
-
- Alternatively, you may choose to use a processing
- instruction named <quote>bibtex-bibliography</quote>
- instead of an empty element. The name of the citations file
- may be specified within the processing instruction or via
- <xref linkend="param.latex.bibfiles"/> (see
- <xref linkend="bibtex.example"/>).
-
- </para>
- <example id="bibtex.example">
- <title>Using &BibTeX; with &DB2LaTeX;</title>
- <para>
-
- A &BibTeX; bibliography may be enabled by providing the
- name of your citations file, the name of a &BibTeX; style,
- and the insertion of an appropriate node in your
- &DocBook; document. In your customisation layer:
-
- <programlisting><![CDATA[
-<xsl:variable name="latex.book.preamble.post">
-% Your LaTeX customisation commands
-\bibliographystyle{ieeetr}
-</xsl:variable>
-<xsl:variable name="latex.bibfiles" select="'../citations.bib'"/>
-]]></programlisting>
-
- Then, in your document, type this:
-
- <programlisting><![CDATA[
-<bibliography/>
-]]></programlisting>
-
- Although this is not valid according to the &DocBook;
- DTD, it will work with most stylesheets (not just
- &DB2LaTeX;). Alternatively, you may instead use a
- processing instruction in compliance with the DTD,
- though this will work only with &DB2LaTeX; and you will
- not be able to specify a custom <doc:db>title</doc:db>
- for your bibliography:
-
- <programlisting><![CDATA[
-<?bibtex-bibliography?>
-]]></programlisting>
-
- You may optionally specify the citations file directly
- (you will not need to set
- <literal>latex.bibfiles</literal>):
-
- <programlisting><![CDATA[
-<?bibtex-bibliography ../citations.bib?>
-]]></programlisting>
-
- </para>
- </example>
-
- <doc:variables>
- <itemizedlist>
- <listitem><simpara><xref linkend="param.latex.bibfiles"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.biblio.output"/></simpara></listitem>
- </itemizedlist>
- </doc:variables>
- </partintro>
- </doc:reference>
-
- <doc:template xmlns="">
- <refpurpose> Essential preamble for <filename>biblio.mod.xsl</filename> support </refpurpose>
- <doc:description>
- <para>
-
- Defines <function condition="latex">docbooktolatexbibname</function>,
- <function condition="latex">docbooktolatexbibaux</function>
- and <function condition="env">docbooktolatexbibliography</function>.
-
- </para>
- </doc:description>
- <doc:seealso>
- <itemizedlist>
- <listitem><simpara>&preamble;</simpara></listitem>
- </itemizedlist>
- </doc:seealso>
- </doc:template>
-
- <xsl:template name="latex.preamble.essential.biblio">
- <xsl:text>
- <![CDATA[
-\AtBeginDocument{\ifx\refname\@undefined\let\docbooktolatexbibname\bibname\def\docbooktolatexbibnamex{\bibname}\else\let\docbooktolatexbibname\refname\def\docbooktolatexbibnamex{\refname}\fi}
-% Facilitate use of \cite with \label
-\newcommand{\docbooktolatexbibaux}[2]{%
- \protected@write\@auxout{}{\string\global\string\@namedef{docbooktolatexcite@#1}{#2}}
-}
-% Provide support for bibliography `subsection' environments with titles
-\newenvironment{docbooktolatexbibliography}[3]{
- \begingroup
- \let\save@@chapter\chapter
- \let\save@@section\section
- \let\save@@@mkboth\@mkboth
- \let\save@@bibname\bibname
- \let\save@@refname\refname
- \let\@mkboth\@gobbletwo
- \def\@tempa{#3}
- \def\@tempb{}
- \ifx\@tempa\@tempb
- \let\chapter\@gobbletwo
- \let\section\@gobbletwo
- \let\bibname\relax
- \else
- \let\chapter#2
- \let\section#2
- \let\bibname\@tempa
- \fi
- \let\refname\bibname
- \begin{thebibliography}{#1}
-}{
- \end{thebibliography}
- \let\chapter\save@@chapter
- \let\section\save@@section
- \let\@mkboth\save@@@mkboth
- \let\bibname\save@@bibname
- \let\refname\save@@refname
- \endgroup
-}
-]]>
- </xsl:text>
- </xsl:template>
-
- <doc:template basename="bibliography" xmlns="">
- <refpurpose>Process <doc:db>bibliography</doc:db> elements</refpurpose>
- <doc:description>
- <para>
- This is a complex template that can format bibliographies as
- chapter-level or section-level components.
- </para>
- </doc:description>
- <doc:variables>
- <itemizedlist>
- <listitem><simpara><xref linkend="param.latex.biblio.output"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.bibwidelabel"/></simpara></listitem>
- </itemizedlist>
- </doc:variables>
- <doc:params>
- <variablelist>
- <varlistentry>
- <term>makechapter</term>
- <listitem>
- <para>
-
- Whether to make a chapter-level bibliography or
- not. This is normally determined by examining
- whether the <doc:db>bibliography</doc:db> element
- occurs as a child of a <doc:db>book</doc:db> or
- <doc:db>part</doc:db>. If so, the bibliography will
- be formatted as an unnumbered chapter. If not, the
- bibliography will be formatted as an unnumbered
- section. This effect does not hold for &BibTeX;
- bibliographies, which will be formatted by the
- &LaTeX; <function
- condition="latex">bibliography</function> command.
-
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </doc:params>
- <doc:notes>
- <para>This template probably contains many bugs.</para>
- &essential_preamble;
- </doc:notes>
- <doc:samples>
- <simplelist type='inline'>
- &test_article;
- &test_biblio;
- &test_bind;
- &test_book;
- &test_cited;
- &test_ieeebiblio;
- </simplelist>
- </doc:samples>
- <doc:seealso>
- <itemizedlist>
- <listitem><simpara>&mapping;: this template will use the <literal>bibliography-chapter</literal>
- and <literal>bibliography-section</literal> mappings.</simpara></listitem>
- <listitem><simpara><xref linkend="citation"/></simpara></listitem>
- </itemizedlist>
- </doc:seealso>
- </doc:template>
- <xsl:template match="bibliography">
- <xsl:param name="makechapter" select="local-name(..)='book' or local-name(..)='part'"/>
- <xsl:variable name="keyword">
- <xsl:choose>
- <xsl:when test="$makechapter">
- <xsl:text>bibliography-chapter</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>bibliography-section</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="environment">
- <xsl:choose>
- <xsl:when test="$makechapter">thebibliography</xsl:when>
- <xsl:otherwise>docbooktolatexbibliography</xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="title">
- <xsl:apply-templates select="title|subtitle"/>
- </xsl:variable>
- <!--
- <xsl:message>DB2LaTeX: Processing BIBLIOGRAPHY</xsl:message>
- -->
- <xsl:if test="$title!=''">
- <xsl:text>\let\oldbibname\bibname </xsl:text>
- <xsl:text>\let\oldrefname\refname </xsl:text>
- <xsl:text>\def\bibname{</xsl:text>
- <xsl:value-of select="$title"/>
- <xsl:text>} </xsl:text>
- <xsl:text>\let\refname\bibname </xsl:text>
- </xsl:if>
- <xsl:call-template name="map.begin">
- <xsl:with-param name="keyword" select="$keyword"/>
- </xsl:call-template>
- <xsl:choose>
- <xsl:when test="biblioentry or bibliodiv">
- <xsl:variable name="separatetitle" select="not(biblioentry or bibliodiv[1]/@title)"/>
- <xsl:message>DB2LaTeX: Bibliographic Output Mode : <xsl:value-of select="$latex.biblio.output"/></xsl:message>
- <xsl:choose>
- <xsl:when test="$separatetitle and $makechapter">
- <xsl:text>\chapter*{\docbooktolatexbibnamex}\hypertarget{</xsl:text>
- <xsl:call-template name="generate.label.id"/>
- <xsl:text>}{} </xsl:text>
- </xsl:when>
- <xsl:when test="$separatetitle and not($makechapter)">
- <xsl:text>\section*{\docbooktolatexbibnamex}\hypertarget{</xsl:text>
- <xsl:call-template name="generate.label.id"/>
- <xsl:text>}{} </xsl:text>
- </xsl:when>
- <xsl:when test="biblioentry"><!-- implies not($separatetitle) -->
- <xsl:text>\begin{</xsl:text>
- <xsl:value-of select="$environment"/>
- <xsl:text>}{</xsl:text>
- <xsl:value-of select="$latex.bibwidelabel"/>
- <xsl:if test="$environment='docbooktolatexbibliography'">
- <xsl:text>}{\</xsl:text>
- <!-- TODO choose the correct nesting, rather than assuming something -->
- <xsl:choose>
- <xsl:when test="$makechapter">chapter</xsl:when>
- <xsl:otherwise>section</xsl:otherwise>
- </xsl:choose>
- <xsl:text>}{</xsl:text>
- <xsl:choose>
- <xsl:when test="$title!=''">
- <xsl:value-of select="$title"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>\docbooktolatexbibname</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
- <xsl:text>}\hypertarget{</xsl:text>
- <xsl:call-template name="generate.label.id"/>
- <xsl:text>}{} </xsl:text>
- <xsl:choose>
- <xsl:when test="$latex.biblio.output ='cited'">
- <xsl:apply-templates select="biblioentry" mode="bibliography.cited">
- <xsl:sort select="./abbrev"/>
- <xsl:sort select="./@xreflabel"/>
- <xsl:sort select="./@id"/>
- </xsl:apply-templates>
- </xsl:when>
- <xsl:when test="$latex.biblio.output ='all'">
- <xsl:apply-templates select="biblioentry" mode="bibliography.all">
- <xsl:sort select="./abbrev"/>
- <xsl:sort select="./@xreflabel"/>
- <xsl:sort select="./@id"/>
- </xsl:apply-templates>
- </xsl:when>
- <xsl:otherwise>
- <xsl:apply-templates select="biblioentry">
- <xsl:sort select="./abbrev"/>
- <xsl:sort select="./@xreflabel"/>
- <xsl:sort select="./@id"/>
- </xsl:apply-templates>
- </xsl:otherwise>
- </xsl:choose>
- <!-- <xsl:apply-templates select="child::*[name(.)!='biblioentry']"/> -->
- <xsl:text> \end{</xsl:text>
- <xsl:value-of select="$environment"/>
- <xsl:text>} </xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>\hypertarget{</xsl:text>
- <xsl:call-template name="generate.label.id"/>
- <xsl:text>}{} </xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:apply-templates select="bibliodiv"/>
- </xsl:when>
- <xsl:when test="child::*">
- <xsl:choose>
- <xsl:when test="$makechapter">
- <xsl:text>\chapter*</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>\section*</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:text>{\docbooktolatexbibnamex}\hypertarget{</xsl:text>
- <xsl:call-template name="generate.label.id"/>
- <xsl:text>}{} </xsl:text>
- <xsl:call-template name="content-templates"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>% Assume that an empty <bibliography> means ``use BibTeX'' or similar. </xsl:text>
- <xsl:text>\bibliography{</xsl:text><xsl:value-of select="$latex.bibfiles"/><xsl:text>} </xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:call-template name="map.end">
- <xsl:with-param name="keyword" select="$keyword"/>
- </xsl:call-template>
- <xsl:if test="$title!=''">
- <xsl:text>\let\bibname\oldbibname </xsl:text>
- <xsl:text>\let\refname\oldrefname </xsl:text>
- </xsl:if>
- </xsl:template>
-
- <doc:template xmlns="">
- <refpurpose>Process <sgmltag class="xmlpi">bibtex-bibliography</sgmltag> nodes</refpurpose>
- <doc:description>
- <para>
- Output a &BibTeX; bibliography.
- </para>
- </doc:description>
- <doc:variables>
- <itemizedlist>
- <listitem><simpara><xref linkend="param.latex.bibfiles"/></simpara></listitem>
- </itemizedlist>
- </doc:variables>
- <doc:params>
- <variablelist>
- <varlistentry>
- <term>makechapter</term>
- <listitem>
- <para>
-
- Choose which &LaTeX; mapping to use. This is
- normally determined by examining whether the PI
- occurs as a child of a <doc:db>book</doc:db> or
- <doc:db>part</doc:db>. Regardless of this
- parameter, the bibliography will be formatted as a
- chapter via the &LaTeX; <function
- condition="latex">bibliography</function> command.
-
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>filename</term>
- <listitem>
- <para>
-
- The filename of the &BibTeX; citations source file.
- By default, this will be obtained from the content
- of the process instruction, if present, or
- otherwise from <xref
- linkend="param.latex.bibfiles"/>.
-
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </doc:params>
- <doc:notes>
- <para>This PI is not part of &DocBook; and is only supported by &DB2LaTeX;
- The formatting of the bibliography is performed by &LaTeX; and is not
- configurable by &DB2LaTeX;.</para>
- </doc:notes>
- <doc:seealso>
- <itemizedlist>
- <listitem><simpara>&mapping;: This template will use the <literal>bibliography-chapter</literal>
- or <literal>bibliography-section</literal> mapping.</simpara></listitem>
- </itemizedlist>
- </doc:seealso>
- </doc:template>
- <xsl:template match="processing-instruction('bibtex-bibliography')">
- <xsl:param name="makechapter" select="local-name(..)='book' or local-name(..)='part'"/>
- <xsl:param name="filename">
- <xsl:choose>
- <xsl:when test="normalize-space(.)!=''">
- <xsl:value-of select="."/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$latex.bibfiles"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:param>
- <xsl:variable name="keyword">
- <xsl:choose>
- <xsl:when test="$makechapter">
- <xsl:text>bibliography-chapter</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>bibliography-section</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:call-template name="map.begin">
- <xsl:with-param name="keyword" select="$keyword"/>
- </xsl:call-template>
- <xsl:text>\bibliography{</xsl:text><xsl:value-of select="$filename"/><xsl:text>} </xsl:text>
- <xsl:call-template name="map.end">
- <xsl:with-param name="keyword" select="$keyword"/>
- </xsl:call-template>
- </xsl:template>
-
- <doc:template xmlns="">
- <refpurpose>Process <doc:db>bibliodiv</doc:db> elements</refpurpose>
- <doc:description>
- <para>
- Formats subdivisions of bibliographies.
- </para>
- </doc:description>
- <doc:variables>
- <itemizedlist>
- <listitem><simpara><xref linkend="param.latex.biblio.output"/></simpara></listitem>
- </itemizedlist>
- </doc:variables>
- <doc:notes>
- &essential_preamble;
- </doc:notes>
- <doc:samples>
- <simplelist type='inline'>
- &test_article;
- &test_biblio;
- &test_bind;
- &test_book;
- &test_cited;
- &test_ieeebiblio;
- </simplelist>
- </doc:samples>
- </doc:template>
- <xsl:template match="bibliodiv">
- <xsl:param name="environment">
- <xsl:variable name="parent" select="local-name(..)"/>
- <xsl:choose>
- <xsl:when test="starts-with($parent,'sect')">docbooktolatexbibliography</xsl:when>
- <xsl:otherwise>thebibliography</xsl:otherwise>
- </xsl:choose>
- </xsl:param>
- <!--
- <xsl:message>DB2LaTeX: Processing BIBLIOGRAPHY - BIBLIODIV</xsl:message>
- -->
- <xsl:text> \begin{docbooktolatexbibliography}{</xsl:text>
- <xsl:value-of select="$latex.bibwidelabel"/>
- <xsl:text>}{\</xsl:text>
- <!-- TODO choose the correct nesting, rather than assuming subsection -->
- <xsl:text>subsection</xsl:text>
- <xsl:text>}{</xsl:text>
- <xsl:apply-templates select="title|subtitle"/>
- <xsl:text>}\hypertarget{</xsl:text>
- <xsl:call-template name="generate.label.id"/>
- <xsl:text>}{} </xsl:text>
- <xsl:choose>
- <xsl:when test="$latex.biblio.output ='cited'">
- <xsl:apply-templates select="biblioentry" mode="bibliography.cited">
- <xsl:sort select="./abbrev"/>
- <xsl:sort select="./@xreflabel"/>
- <xsl:sort select="./@id"/>
- </xsl:apply-templates>
- </xsl:when>
- <xsl:when test="$latex.biblio.output ='all'">
- <xsl:apply-templates select="biblioentry">
- <xsl:sort select="./abbrev"/>
- <xsl:sort select="./@xreflabel"/>
- <xsl:sort select="./@id"/>
- </xsl:apply-templates>
- </xsl:when>
- </xsl:choose>
- <xsl:text> \end{docbooktolatexbibliography} </xsl:text>
- </xsl:template>
-
- <doc:template basename="biblioentry" xmlns="">
- <refpurpose>Process <doc:db>biblioentry</doc:db> elements</refpurpose>
- <doc:description>
- <para>
- Emits a bibiographic entry if the reference was cited in the document.
- </para>
- </doc:description>
- <doc:seealso>
- <para>This template calls <xref linkend="template.biblioentry.output"/> to format the entry.</para>
- </doc:seealso>
- </doc:template>
- <xsl:template match="biblioentry" mode="bibliography.cited">
- <xsl:param name="bibid" select="@id"/>
- <xsl:param name="ab" select="abbrev"/>
- <xsl:variable name="nx" select="//xref[@linkend=$bibid]"/>
- <xsl:variable name="nc" select="//citation[text()=$ab]"/>
- <xsl:if test="count($nx) > 0 or count($nc) > 0">
- <xsl:call-template name="biblioentry.output"/>
- </xsl:if>
- </xsl:template>
-
- <doc:template basename="biblioentry" xmlns="">
- <refpurpose>Process <doc:db>biblioentry</doc:db> elements</refpurpose>
- <doc:description>
- <para>
- Emits a bibiographic entry unconditionally.
- </para>
- </doc:description>
- <doc:seealso>
- <para>This template calls <xref linkend="template.biblioentry.output"/> to format the entry.</para>
- </doc:seealso>
- </doc:template>
- <xsl:template match="biblioentry" mode="bibliography.all">
- <xsl:call-template name="biblioentry.output"/>
- </xsl:template>
-
- <doc:template basename="biblioentry" xmlns="">
- <refpurpose>Process <doc:db>biblioentry</doc:db> elements</refpurpose>
- <doc:description>
- <para>
- Emits a bibiographic entry unconditionally.
- </para>
- </doc:description>
- <doc:seealso>
- <para>This template calls <xref linkend="template.biblioentry.output"/> to format the entry.</para>
- </doc:seealso>
- </doc:template>
- <xsl:template match="biblioentry">
- <xsl:call-template name="biblioentry.output"/>
- </xsl:template>
-
- <doc:template xmlns="">
- <refpurpose>Format <doc:db basename="biblioentry">biblioentries</doc:db></refpurpose>
- <doc:description>
- <para>
- Formats a bibiographic entry.
- </para>
- </doc:description>
- <doc:variables>
- <itemizedlist>
- <listitem><simpara><xref linkend="param.latex.biblioentry.style"/></simpara></listitem>
- </itemizedlist>
- </doc:variables>
- <doc:notes>
- <note>
- <para>
- This template does not apply to &BibTeX; bibliographies.
- </para>
- </note>
- <para>
- A <function condition="latex">bibitem</function> is emitted.
- If can be linked via <doc:db>citation</doc:db> or <doc:db>xref</doc:db>.
- The <doc:db>title</doc:db> will be formatted in italics, followed by
- <xref linkend="param.biblioentry.item.separator"/>, the <doc:db>author</doc:db>
- or <doc:db>authorgroup</doc:db>, and then the following elements separated
- by <literal>biblioentry.item.separator</literal>:
- <doc:db>copyright</doc:db>, <doc:db>publisher</doc:db>,
- <doc:db>pubdate</doc:db>, <doc:db>pagenums</doc:db>,
- <doc:db>isbn</doc:db>, <doc:db>editor</doc:db>,
- <doc:db>releaseinfo</doc:db>.
- </para>
- <note>
- <para>
- All templates for all &DocBook; elements will be applied
- with the <quote>bibliography.mode</quote> XSLT mode.
- </para>
- </note>
- </doc:notes>
- <doc:samples>
- <simplelist type='inline'>
- &test_article;
- &test_biblio;
- &test_bind;
- &test_book;
- &test_cited;
- &test_ieeebiblio;
- </simplelist>
- </doc:samples>
- </doc:template>
- <xsl:template name="biblioentry.output">
- <xsl:variable name="biblioentry.label">
- <xsl:choose>
- <xsl:when test="@xreflabel">
- <xsl:value-of select="normalize-space(@xreflabel)"/>
- </xsl:when>
- <xsl:when test="abbrev">
- <xsl:apply-templates select="abbrev" mode="bibliography.mode"/>
- </xsl:when>
- <xsl:when test="@id">
- <xsl:value-of select="normalize-space(@id)"/>
- </xsl:when>
- <xsl:otherwise>
- <!-- TODO is there any need for a warning? -->
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="biblioentry.id">
- <xsl:choose>
- <xsl:when test="abbrev">
- <xsl:apply-templates select="abbrev" mode="bibliography.mode"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="generate.label.id"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:text> </xsl:text>
- <xsl:call-template name="biblioentry.output.format">
- <xsl:with-param name="biblioentry.label" select="$biblioentry.label"/>
- <xsl:with-param name="biblioentry.id" select="$biblioentry.id"/>
- </xsl:call-template>
- </xsl:template>
-
- <xsl:template name="biblioentry.output.format">
- <xsl:param name="biblioentry.label"/>
- <xsl:param name="biblioentry.id"/>
- <xsl:choose>
- <xsl:when test="$latex.biblioentry.style='ieee' or $latex.biblioentry.style='IEEE'">
- <xsl:text>% -------------- biblioentry </xsl:text>
- <xsl:text>\bibitem</xsl:text>
- <xsl:text>{</xsl:text>
- <xsl:value-of select="$biblioentry.id"/>
- <xsl:text>}\docbooktolatexbibaux{</xsl:text>
- <xsl:call-template name="generate.label.id"/>
- <xsl:text>}{</xsl:text>
- <xsl:value-of select="$biblioentry.id"/>
- <xsl:text>} \hypertarget{</xsl:text>
- <xsl:call-template name="generate.label.id"/>
- <xsl:text>} </xsl:text>
- <xsl:apply-templates select="author|authorgroup" mode="bibliography.mode"/>
- <xsl:value-of select="$biblioentry.item.separator"/>
- <xsl:text>\emph{</xsl:text> <xsl:apply-templates select="title" mode="bibliography.mode"/><xsl:text>}</xsl:text>
- <xsl:for-each select="child::copyright|child::publisher|child::pubdate|child::pagenums|child::isbn">
- <xsl:value-of select="$biblioentry.item.separator"/>
- <xsl:apply-templates select="." mode="bibliography.mode"/>
- </xsl:for-each>
- <xsl:text>. </xsl:text>
- <xsl:text> </xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>% -------------- biblioentry </xsl:text>
- <xsl:choose>
- <xsl:when test="$biblioentry.label=''">
- <xsl:text>\bibitem</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>\bibitem[{</xsl:text>
- <xsl:call-template name="normalize-scape">
- <xsl:with-param name="string" select="$biblioentry.label"/>
- </xsl:call-template>
- <xsl:text>}]</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:text>{</xsl:text>
- <xsl:value-of select="$biblioentry.id"/>
- <xsl:text>}\docbooktolatexbibaux{</xsl:text>
- <xsl:call-template name="generate.label.id"/>
- <xsl:text>}{</xsl:text>
- <xsl:value-of select="$biblioentry.id"/>
- <xsl:text>} \hypertarget{</xsl:text>
- <xsl:call-template name="generate.label.id"/>
- <xsl:text>}{\emph{</xsl:text> <xsl:apply-templates select="title" mode="bibliography.mode"/> <xsl:text>}}</xsl:text>
- <xsl:value-of select="$biblioentry.item.separator"/>
- <xsl:apply-templates select="author|authorgroup" mode="bibliography.mode"/>
- <xsl:for-each select="child::copyright|child::publisher|child::pubdate|child::pagenums|child::isbn|child::editor|child::releaseinfo">
- <xsl:value-of select="$biblioentry.item.separator"/>
- <xsl:apply-templates select="." mode="bibliography.mode"/>
- </xsl:for-each>
- <xsl:text>.</xsl:text>
- <xsl:text> </xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template name="biblioentry.output.format.ieee">
- </xsl:template>
-
- <xsl:template match="abbrev" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <!--
- <doc:template basename="abstract" match="abstract" mode="bibliography.mode" xmlns="">
- <refpurpose>Process <doc:db>abstract</doc:db> elements</refpurpose>
- <doc:description>
- <para>
- Currently, <doc:db basename="abstract">abstracts</doc:db> are deleted
- in <literal>bibliography.mode</literal>.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:notes>
- <para>Abstracts are suppressed in &DB2LaTeX; bibliographies.</para>
- </doc:notes>
- </doc:template>
- <xsl:template match="abstract" mode="bibliography.mode"/>
- -->
-
- <xsl:template match="address" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="affiliation" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="authorblurb" mode="bibliography.mode"/>
-
- <xsl:template match="artheader" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="artpagenums" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="author" mode="bibliography.mode">
- <xsl:apply-templates select="."/>
- </xsl:template>
-
- <xsl:template match="authorgroup" mode="bibliography.mode">
- <xsl:apply-templates select="."/>
- </xsl:template>
-
- <!-- basename="authorinitials" -->
- <xsl:template match="authorinitials" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="bibliomisc" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="bibliomset" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="bibliomixed" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="biblioset" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="biblioset/title|biblioset/citetitle" mode="bibliography.mode">
- <xsl:variable name="relation" select="../@relation"/>
- <xsl:choose>
- <xsl:when test="$relation='article'">
- <xsl:call-template name="gentext.startquote"/>
- <xsl:apply-templates/>
- <xsl:call-template name="gentext.endquote"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:apply-templates/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template match="bookbiblio" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="citetitle" mode="bibliography.mode">
- <I><xsl:apply-templates mode="bibliography.mode"/></I>
- </xsl:template>
-
- <xsl:template match="collab" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="collabname" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="confgroup" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="confdates" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="conftitle" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="confnum" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="confsponsor" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="contractnum" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="contractsponsor" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="contrib" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="copyright" mode="bibliography.mode">
- <xsl:call-template name="gentext.element.name"/>
- <xsl:call-template name="gentext.space"/>
- <xsl:call-template name="dingbat">
- <xsl:with-param name="dingbat">copyright</xsl:with-param>
- </xsl:call-template>
- <xsl:call-template name="gentext.space"/>
- <xsl:apply-templates select="year" mode="bibliography.mode"/>
- <xsl:call-template name="gentext.space"/>
- <xsl:apply-templates select="holder" mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="year" mode="bibliography.mode">
- <xsl:apply-templates/><xsl:text>, </xsl:text>
- </xsl:template>
-
- <xsl:template match="year[position()=last()]" mode="bibliography.mode">
- <xsl:apply-templates/>
- </xsl:template>
-
- <xsl:template match="holder" mode="bibliography.mode">
- <xsl:apply-templates/>
- </xsl:template>
-
- <xsl:template match="corpauthor" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="corpname" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="date" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="edition" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="editor" mode="bibliography.mode">
- <xsl:call-template name="person.name"/>
- </xsl:template>
-
- <xsl:template match="firstname" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="honorific" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="indexterm" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="invpartnumber" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="isbn" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="issn" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="issuenum" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="jobtitle" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="lineage" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="orgname" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="orgdiv" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="othercredit" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="othername" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="pagenums" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="printhistory" mode="bibliography.mode">
- <!-- suppressed -->
- </xsl:template>
-
- <xsl:template match="productname" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="productnumber" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="pubdate" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="publisher" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="publishername" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="pubsnumber" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="releaseinfo" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="revhistory" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="seriesinfo" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="seriesvolnums" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="shortaffil" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="subtitle" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="surname" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="title" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="titleabbrev" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="volumenum" mode="bibliography.mode">
- <xsl:apply-templates mode="bibliography.mode"/>
- </xsl:template>
-
- <xsl:template match="*" mode="bibliography.mode">
- <xsl:apply-templates select="."/>
- </xsl:template>
-
-</xsl:stylesheet>
+++ /dev/null
-<?xml version='1.0'?>
-<!DOCTYPE xsl:stylesheet [ <!ENTITY % xsldoc.ent SYSTEM "./xsldoc.ent"> %xsldoc.ent; ]>
-<!--#############################################################################
-| $Id: block.mod.xsl,v 1.15 2004/01/26 09:44:38 j-devenish Exp $
-|- #############################################################################
-| $Author: j-devenish $
-+ ############################################################################## -->
-
-<xsl:stylesheet
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
- exclude-result-prefixes="doc" version='1.0'>
-
- <doc:reference id="block" xmlns="">
- <referenceinfo>
- <releaseinfo role="meta">
- $Id: block.mod.xsl,v 1.15 2004/01/26 09:44:38 j-devenish Exp $
- </releaseinfo>
- <authorgroup>
- &ramon;
- &james;
- </authorgroup>
- <copyright>
- <year>2000</year><year>2001</year><year>2002</year><year>2003</year><year>2004</year>
- <holder>Ramon Casellas</holder>
- </copyright>
- <revhistory>
- <doc:revision rcasver="1.6">&rev_2003_05;</doc:revision>
- </revhistory>
- </referenceinfo>
- <title>Block Objects <filename>block.mod.xsl</filename></title>
- <partintro>
- <para>The file <filename>block.mod.xsl</filename> contains the
- XSL templates for sundry block-formatted components.</para>
- </partintro>
- </doc:reference>
-
- <doc:template xmlns="">
- <refpurpose>
- Generic handler for interior elements of block-formatted components
- </refpurpose>
- <doc:description>
- <para>
- Applies all templates, excluding from <doc:db>title</doc:db>-related
- and <doc:db>blockinfo</doc:db>-like elements.
- </para>
- </doc:description>
- <doc:params>
- <variablelist>
- <varlistentry>
- <term>info</term>
- <listitem>
- <para>
-
- The name of the &DocBook; <quote>info</quote>-type
- element for this component. By default, this is equal
- to the name of the component with <literal>info</literal>
- appended. For example: <doc:db>sectioninfo</doc:db>
- for <doc:db>section</doc:db>.
-
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </doc:params>
- </doc:template>
-
- <xsl:template name="content-templates">
- <xsl:param name="info" select="concat(local-name(.),'info')"/>
- <xsl:apply-templates select="node()[not(self::title or self::subtitle or self::titleabbrev or self::blockinfo or self::docinfo or local-name(.)=$info)]"/>
- </xsl:template>
-
- <xsl:template name="content-templates-rootid">
- <!--
- <xsl:message>Rootid <xsl:value-of select="$rootid"/></xsl:message>
- <xsl:message>local-name(.) <xsl:value-of select="local-name(.)"/></xsl:message>
- <xsl:message>count(ancestor::*) <xsl:value-of select="count(ancestor::*)"/></xsl:message>
- -->
- <xsl:choose>
- <xsl:when test="$rootid != '' and count(ancestor::*) = 0">
- <xsl:variable name="node" select="key('id', $rootid)"/>
- <xsl:message>count($node) <xsl:value-of select="count($node)"/></xsl:message>
- <xsl:choose>
- <xsl:when test="count($node) = 0">
- <xsl:message terminate="yes">
- <xsl:text>Root ID '</xsl:text>
- <xsl:value-of select="$rootid"/>
- <xsl:text>' not found in document.</xsl:text>
- </xsl:message>
- </xsl:when>
- <xsl:otherwise>
- <xsl:apply-templates select="$node"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="content-templates"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <doc:template xmlns="">
- <refpurpose>
- Generic handler for block-formatted components
- </refpurpose>
- <doc:description>
- <para>
- Calls <xref linkend="template.label.id"/>,
- applies templates for <doc:db>title</doc:db>,
- then applies templates for content elements.
- </para>
- </doc:description>
- </doc:template>
-
- <xsl:template name="block.object">
- <xsl:call-template name="label.id"/>
- <xsl:apply-templates select="title"/>
- <xsl:text> </xsl:text>
- <xsl:call-template name="content-templates"/>
- </xsl:template>
-
- <doc:template xmlns="">
- <refpurpose>
- A quotation set off from the main text (not inline)
- </refpurpose>
- <doc:description>
- <para>
- Uses the &LaTeX; <function condition='env'>quote</function> environment.
- If an attribution is present, it will be set at the end.
- </para>
- </doc:description>
- <doc:seealso>
- <itemizedlist>
- <listitem><para><xref linkend="template.attribution-block.attribution"/></para></listitem>
- <listitem><para>&mapping;</para></listitem>
- </itemizedlist>
- </doc:seealso>
- </doc:template>
-
- <xsl:template match="blockquote">
- <xsl:call-template name="map.begin"/>
- <xsl:apply-templates/>
- <xsl:apply-templates select="attribution" mode="block.attribution"/>
- <xsl:call-template name="map.end"/>
- </xsl:template>
-
- <doc:template xmlns="">
- <refpurpose>
- A short inscription that occurs at the beginning of a section, chapter, or document
- </refpurpose>
- <doc:description>
- <para>
- Uses the &LaTeX; <function condition='env'>quote</function> environment.
- If an attribution is present, it will be set at the end.
- </para>
- </doc:description>
- <doc:seealso>
- <itemizedlist>
- <listitem><para><xref linkend="template.attribution-block.attribution"/></para></listitem>
- <listitem><para>&mapping;</para></listitem>
- </itemizedlist>
- </doc:seealso>
- </doc:template>
-
- <xsl:template match="epigraph">
- <xsl:call-template name="map.begin"/>
- <xsl:apply-templates/>
- <xsl:apply-templates select="attribution" mode="block.attribution"/>
- <xsl:call-template name="map.end"/>
- </xsl:template>
-
- <doc:template xmlns="">
- <refpurpose>
- This template produces no output
- </refpurpose>
- <doc:description>
- <para>
-
- The <doc:db>attribution</doc:db> element only occurs within <xref
- linkend="template.blockquote"/> and <xref
- linkend="template.epigraph"/>. However, the templates for those
- elements use a <quote>mode</quote> mechanism. Therefore, this
- template is intentionally suppressed and a replacement exists. See
- <xref linkend="template.attribution-block.attribution"/> instead.
-
- </para>
- </doc:description>
- </doc:template>
-
- <xsl:template match="attribution"/>
-
- <doc:template xmlns="">
- <refpurpose>
- The source of a block quote or epigraph
- </refpurpose>
- <doc:description>
- <para>
- Starts a new line with right-aligned text preceded by an em dash.
- </para>
- </doc:description>
- </doc:template>
-
- <xsl:template match="attribution" mode="block.attribution">
- <xsl:text> \hspace*\fill---</xsl:text>
- <xsl:apply-templates/>
- </xsl:template>
-
- <doc:template xmlns="">
- <refpurpose>
- A block of text that is isolated from the main flow
- </refpurpose>
- <doc:description>
- <para>
- This is formatted as a plain block.
- </para>
- </doc:description>
- <doc:notes>
- <para>
- This template should create sidebars (but it doesn't)!
- </para>
- </doc:notes>
- <doc:seealso>
- <itemizedlist>
- <listitem><para><xref linkend="template.block.object"/></para></listitem>
- </itemizedlist>
- </doc:seealso>
- </doc:template>
-
- <xsl:template match="sidebar">
- <xsl:call-template name="block.object"/>
- </xsl:template>
-
- <doc:template xmlns="">
- <refpurpose>
- Titles and subtitles
- </refpurpose>
- <doc:description>
- <para>
- Simply applies templates.
- </para>
- <para>
-
- This is the default template, for <doc:db
- basename="title">title</doc:db> and <doc:db
- basename="subtitle">subtitles</doc:db>. The use of this
- template is controlled by the template for closing elements,
- which will often not apply templates for <sgmltag
- class="starttag">subtitles</sgmltag>. Furthermore, there may be
- templates to match <sgmltag class="starttag">titles</sgmltag>
- in specific contexts (in which case this template will not be
- used).
-
- </para>
- <para>
-
- This template is also used by &mapping;.
-
- </para>
- </doc:description>
- <doc:variables>
- <itemizedlist>
- <listitem><simpara><xref linkend="param.latex.apply.title.templates"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.apply.title.templates.admonitions"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.formal.title.placement"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.maketitle"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.titlepage.file"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.formalpara.title.style"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.step.title.style"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.book.article.title.style"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.article.title.style"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.procedure.title.style"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.formalpara.title.style"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.figure.title.style"/></simpara></listitem>
- </itemizedlist>
- </doc:variables>
- <doc:seealso>
- <itemizedlist>
- <listitem><para>&mapping;</para></listitem>
- <listitem><para><xref linkend="template.content-templates"/></para></listitem>
- </itemizedlist>
- </doc:seealso>
- </doc:template>
-
- <xsl:template match="title|subtitle">
- <xsl:apply-templates/>
- </xsl:template>
-
- <doc:template xmlns="">
- <refpurpose>
- Captions generated from <doc:db>title</doc:db>s
- </refpurpose>
- <doc:description>
- <para>
- Simply applies templates.
- </para>
- <para>
- The formatting of titles in <literal>caption.mode</literal> may
- depend on the enclosing element's template.
- </para>
- </doc:description>
- <doc:variables>
- <itemizedlist>
- <listitem><simpara><xref linkend="param.latex.formalpara.title.style"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.step.title.style"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.book.article.title.style"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.article.title.style"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.procedure.title.style"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.formalpara.title.style"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.figure.title.style"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.formal.title.placement"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.caption.swapskip"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.equation.caption.style"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.example.caption.style"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.figure.caption.style"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.table.caption.style"/></simpara></listitem>
- </itemizedlist>
- </doc:variables>
- <doc:notes>
- <para>
- Since captions may be incorporated into hyperlinks and
- tables of cross references, <quote>anchor</quote>-type
- elements should not be applied when in this mode.
- </para>
- </doc:notes>
- </doc:template>
-
- <xsl:template match="title|subtitle" mode="caption.mode">
- <xsl:apply-templates/>
- </xsl:template>
-
- <doc:template xmlns="">
- <refpurpose>
- Acknowledgements in an <doc:db>article</doc:db>
- </refpurpose>
- <doc:description>
- <para>
- This is formatted as a plain block by applying templates
- with leading and trailing blank lines.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:samples>
- <simplelist type='inline'>
- &test_article;
- </simplelist>
- </doc:samples>
- </doc:template>
-
- <xsl:template match="ackno">
- <xsl:text> </xsl:text>
- <xsl:apply-templates/>
- <xsl:text> </xsl:text>
- </xsl:template>
-
- <doc:template>
- <refpurpose> Interpret a user's placement preferences for certain &LaTeX; floats </refpurpose>
- <doc:notes>
- <para>
-
- This template should be invoked when the current node is a
- <doc:db>figure</doc:db> or <doc:db>table</doc:db>. If a
- <sgmltag class="attribute">condition</sgmltag> attribute exists
- and begins with <quote>db2latex:</quote>, or a <sgmltag
- class="pi">latex-float-placement</sgmltag> processing
- instruction is present, the remainder of its value will be used
- as the &LaTeX; <quote>float</quote> placement. Otherwise, the
- default placement is determined by the element's template.
-
- </para>
- <para>
-
- Currently, this template is used for <doc:db>figure</doc:db>s
- and <doc:db>table</doc:db>s but not <doc:db>example</doc:db>s
- or <doc:db>equation</doc:db>s.
-
- </para>
- </doc:notes>
- </doc:template>
- <xsl:template name="generate.latex.float.position">
- <xsl:param name="default" select="'hbt'"/>
- <xsl:choose>
- <xsl:when test="processing-instruction('latex-float-placement')">
- <xsl:value-of select="processing-instruction('latex-float-placement')"/>
- </xsl:when>
- <xsl:when test="starts-with(@condition, 'db2latex:')">
- <xsl:value-of select="substring-after(@condition, 'db2latex:')"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$default"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-</xsl:stylesheet>
-
+++ /dev/null
-<?xml version='1.0'?>
-<!DOCTYPE xsl:stylesheet [ <!ENTITY % xsldoc.ent SYSTEM "./xsldoc.ent"> %xsldoc.ent; ]>
-<!--#############################################################################
-| $Id: book-article.mod.xsl,v 1.41 2004/01/31 11:05:54 j-devenish Exp $
-|- #############################################################################
-| $Author: j-devenish $
-+ ############################################################################## -->
-
-<xsl:stylesheet
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
- exclude-result-prefixes="doc" version='1.0'>
-
- <doc:reference id="book-article" xmlns="">
- <referenceinfo>
- <releaseinfo role="meta">
- $Id: book-article.mod.xsl,v 1.41 2004/01/31 11:05:54 j-devenish Exp $
- </releaseinfo>
- <authorgroup>
- &ramon;
- &james;
- </authorgroup>
- <copyright>
- <year>2000</year><year>2001</year><year>2002</year><year>2003</year>
- <holder>Ramon Casellas</holder>
- </copyright>
- <revhistory>
- <doc:revision rcasver="1.28">&rev_2003_05;</doc:revision>
- </revhistory>
- </referenceinfo>
- <title>Books and Articles <filename>book-article.mod.xsl</filename></title>
- <partintro>
-
- <para>
-
- Most &DocBook; documents are either <doc:db
- basename="article">articles</doc:db> or <doc:db
- basename="book">books</doc:db>, so this XSL template file is a
- classical entry point when processing &DocBook; documents.
-
- </para>
-
- <!--
- <doc:variables>
- &no_var;
- </doc:variables>
- -->
- </partintro>
- </doc:reference>
-
- <doc:template basename="book" xmlns="">
- <refpurpose>Process a &DocBook; <doc:db>book</doc:db> document</refpurpose>
- <doc:description>
- <para>
- Entry point for <doc:db basename="book">books</doc:db>.
- </para>
- </doc:description>
- <doc:variables>
- <itemizedlist>
- <listitem><simpara><xref linkend="param.latex.book.afterauthor"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.toc.section.depth"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.section.depth"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.book.begindocument"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.titlepage.file"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.maketitle"/></simpara></listitem>
- </itemizedlist>
- </doc:variables>
- <!--
- <doc:notes>
- </doc:notes>
- -->
- <doc:samples>
- <simplelist type='inline'>
- &test_book;
- &test_defguide;
- </simplelist>
- </doc:samples>
- <doc:seealso>
- <itemizedlist>
- <listitem><simpara>&mapping;</simpara></listitem>
- <listitem><simpara><xref linkend="template.generate.latex.book.preamble"/></simpara></listitem>
- </itemizedlist>
- </doc:seealso>
- </doc:template>
- <xsl:template match="book">
- <!-- book:1: generate.latex.book.preamble -->
- <xsl:call-template name="generate.latex.book.preamble"/>
- <!-- book:2: output title information -->
- <xsl:text>\title{</xsl:text>
- <xsl:apply-templates select="title|bookinfo/title"/>
- <xsl:apply-templates select="subtitle|bookinfo/subtitle"/>
- <xsl:text>} </xsl:text>
- <!-- book:3: output author information -->
- <xsl:text>\author{</xsl:text>
- <xsl:choose>
- <xsl:when test="bookinfo/authorgroup">
- <xsl:apply-templates select="bookinfo/authorgroup"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:for-each select="bookinfo">
- <xsl:call-template name="authorgroup"/>
- </xsl:for-each>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:text>} </xsl:text>
- <!-- book:4: dump any preamble after author -->
- <xsl:value-of select="$latex.book.afterauthor"/>
- <!-- book:5: set some counters -->
- <xsl:text> \setcounter{tocdepth}{</xsl:text><xsl:value-of select="$toc.section.depth"/><xsl:text>} </xsl:text>
- <xsl:text> \setcounter{secnumdepth}{</xsl:text><xsl:value-of select="$section.depth"/><xsl:text>} </xsl:text>
- <!-- book:6: dump the begin document command -->
- <xsl:value-of select="$latex.book.begindocument"/>
- <!-- book:7: include external Cover page if specified -->
- <xsl:if test="$latex.titlepage.file != ''">
- <xsl:text> \InputIfFileExists{</xsl:text><xsl:value-of select="$latex.titlepage.file"/>
- <xsl:text>}{\typeout{WARNING: Using cover page </xsl:text>
- <xsl:value-of select="$latex.titlepage.file"/>
- <xsl:text>}}</xsl:text>
- </xsl:if>
- <!-- book:7b: maketitle and set up pagestyle -->
- <xsl:value-of select="$latex.maketitle"/>
- <!-- book:8: - APPLY TEMPLATES -->
- <xsl:apply-templates select="bookinfo"/>
- <xsl:call-template name="content-templates-rootid"/>
- <!-- book:9: call map.end -->
- <xsl:call-template name="map.end"/>
- </xsl:template>
-
- <doc:template basename="title" xmlns="">
- <refpurpose>Process <doc:db>title</doc:db> elements</refpurpose>
- <doc:description>
- <para>
- Typesets a bold title.
- </para>
- </doc:description>
- </doc:template>
- <xsl:template match="book/title">\bfseries <xsl:apply-templates/></xsl:template>
-
- <doc:template basename="subtitle" xmlns="">
- <refpurpose>Process <doc:db>subtitle</doc:db> elements</refpurpose>
- <doc:description>
- <para>
- Typesets a bold subtitle, spaced 12pt from the preceding <doc:db>title</doc:db>.
- </para>
- </doc:description>
- </doc:template>
- <xsl:template match="book/subtitle">\\[12pt]\normalsize <xsl:apply-templates/></xsl:template>
-
- <doc:template basename="title" xmlns="">
- <refpurpose>Process <doc:db>title</doc:db> elements</refpurpose>
- <doc:description>
- <para>
- Typesets a bold title.
- </para>
- </doc:description>
- </doc:template>
- <xsl:template match="book/bookinfo/title">\bfseries <xsl:apply-templates/></xsl:template>
-
- <doc:template basename="subtitle" xmlns="">
- <refpurpose>Process <doc:db>subtitle</doc:db> elements</refpurpose>
- <doc:description>
- <para>
- Typesets a bold subtitle, spaced 12pt from the preceding <doc:db>title</doc:db>.
- </para>
- </doc:description>
- </doc:template>
- <xsl:template match="book/bookinfo/subtitle">\\[12pt]\normalsize <xsl:apply-templates/></xsl:template>
-
- <doc:template xmlns="">
- <refpurpose>Process <doc:db>bookinfo</doc:db> elements</refpurpose>
- <doc:description>
- <para>
- Processes a <doc:db>book</doc:db>'s <doc:db>bookinfo</doc:db>
- (will be invoked after the title page has been typeset).
- </para>
- </doc:description>
- <doc:notes>
- <para>
-
- Only the <doc:db>revhistory</doc:db>,
- <doc:db>abstract</doc:db>, <doc:db>keywordset</doc:db>,
- <doc:db>copyright</doc:db> and <doc:db>legalnotice</doc:db> are
- processed. Users may override this in their customisation
- layer.
-
- </para>
- </doc:notes>
- </doc:template>
- <xsl:template match="book/bookinfo">
- <xsl:apply-templates select="revhistory" />
- <xsl:apply-templates select="copyright" />
- <xsl:apply-templates select="keywordset" />
- <xsl:apply-templates select="legalnotice" />
- <xsl:apply-templates select="abstract" />
- </xsl:template>
-
- <doc:template basename="copyright" xmlns="">
- <refpurpose>Process <doc:db>bookinfo</doc:db>'s <doc:db>copyright</doc:db> elements</refpurpose>
- <doc:description>
- <para>
- Formats a block-style copyright.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:description>
- <para>Calls <xref linkend="template.copyright"/>.</para>
- </doc:description>
- </doc:template>
- <xsl:template match="bookinfo/copyright">
- <xsl:text>\begin{center}</xsl:text>
- <xsl:call-template name="copyright"/>
- <xsl:text>\end{center} </xsl:text>
- </xsl:template>
-
- <doc:template basename="article" xmlns="">
- <refpurpose>Process a <doc:db>book</doc:db>'s <doc:db>article</doc:db> elements</refpurpose>
- <doc:description>
- <para>
- Entry point for a <literal>book</literal>'s <doc:db basename="article">articles</doc:db>.
- </para>
- </doc:description>
- <doc:variables>
- <itemizedlist>
- <listitem><simpara><xref linkend="param.latex.book.article.title.style"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.book.article.header.style"/></simpara></listitem>
- </itemizedlist>
- </doc:variables>
- <doc:notes>
- <para>
- For double-sided books, each article will commence on a right-hand page.
- </para>
- <para>
-
- This template will call upon the following variables or
- templates in this order:
- <literal>generate.latex.pagestyle</literal>,
- <literal>title</literal> (or <doc:db>articleinfo</doc:db> or
- <doc:db>artheader</doc:db>),
- <literal>$latex.book.article.title.style</literal>,
- <literal>date</literal> (from <literal>articleinfo</literal> or
- <literal>artheader</literal>), <literal>authorgroup</literal>
- or <literal>author</literal> (or <literal>articleinfo</literal>
- or <literal>artheader</literal>),
- <literal>$latex.book.article.header.style</literal>,
- <literal>articleinfo</literal> or <literal>artheader</literal>
- in the XSLT <literal>article.within.book</literal> mode,
- <literal>content-templates</literal>.
-
- </para>
- </doc:notes>
- <!--
- <doc:samples>
- <simplelist type='inline'>
- &test_book;
- &test_defguide;
- </simplelist>
- </doc:samples>
- -->
- <doc:seealso>
- <itemizedlist>
- <listitem><simpara><xref linkend="template.generate.latex.pagestyle"/></simpara></listitem>
- <listitem><simpara><xref linkend="template.article/artheader|article/articleinfo-article.within.book"/></simpara></listitem>
- </itemizedlist>
- </doc:seealso>
- </doc:template>
- <!--
- <formalpara><title>Tasks</title>
- <itemizedlist>
- <listitem><para>Calls <literal>generate.latex.article.preamble</literal>.</para></listitem>
- <listitem><para>Outputs \title, \author, \date, getting the information from its children.</para></listitem>
- <listitem><para>Calls <literal>latex.article.begindocument</literal>.</para></listitem>
- <listitem><para>Calls <literal>latex.article.maketitle.</literal></para></listitem>
- <listitem><para>Applies templates.</para></listitem>
- <listitem><para>Calls <literal>latex.article.end</literal> template.</para></listitem>
- </itemizedlist>
- </formalpara>
- -->
- <xsl:template match="book/article">
- <xsl:text> \makeatletter\if@openright\cleardoublepage\else\clearpage\fi</xsl:text>
- <xsl:call-template name="generate.latex.pagestyle"/>
- <xsl:text>\makeatother </xsl:text>
- <!-- Get and output article title -->
- <xsl:variable name="article.title">
- <xsl:choose>
- <xsl:when test="./title">
- <xsl:apply-templates select="./title"/>
- </xsl:when>
- <xsl:when test="./articleinfo/title">
- <xsl:apply-templates select="./articleinfo/title"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:apply-templates select="./artheader/title"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:text>\begin{center}{</xsl:text>
- <xsl:value-of select="$latex.book.article.title.style"/>
- <xsl:text>{</xsl:text>
- <xsl:value-of select="$article.title"/>
- <xsl:text>}}\par </xsl:text>
- <!-- Display date information -->
- <xsl:variable name="article.date">
- <xsl:apply-templates select="./artheader/date|./articleinfo/date"/>
- </xsl:variable>
- <xsl:if test="$article.date!=''">
- <xsl:text>{</xsl:text>
- <xsl:value-of select="$article.date"/>
- <xsl:text>}\par </xsl:text>
- </xsl:if>
- <!-- Display author information -->
- <xsl:text>{</xsl:text>
- <xsl:value-of select="$latex.book.article.header.style"/>
- <xsl:text>{</xsl:text>
- <xsl:choose>
- <xsl:when test="articleinfo/authorgroup">
- <xsl:apply-templates select="articleinfo/authorgroup"/>
- </xsl:when>
- <xsl:when test="artheader/authorgroup">
- <xsl:apply-templates select="artheader/authorgroup"/>
- </xsl:when>
- <xsl:when test="articleinfo/author">
- <xsl:for-each select="artheader">
- <xsl:call-template name="authorgroup"/>
- </xsl:for-each>
- </xsl:when>
- <xsl:when test="artheader/author">
- <xsl:for-each select="artheader">
- <xsl:call-template name="authorgroup"/>
- </xsl:for-each>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="authorgroup"/>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:text>}}\par </xsl:text>
- <xsl:apply-templates select="artheader|articleinfo" mode="article.within.book"/>
- <xsl:text>\end{center} </xsl:text>
- <xsl:call-template name="content-templates"/>
- </xsl:template>
-
- <doc:template basename="article" xmlns="">
- <refpurpose>Process a &DocBook; <doc:db>article</doc:db> document</refpurpose>
- <doc:description>
- <para>
- Entry point for <doc:db basename="article">articles</doc:db>.
- </para>
- </doc:description>
- <doc:variables>
- <itemizedlist>
- <listitem><simpara><xref linkend="param.toc.section.depth"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.section.depth"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.article.title.style"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.maketitle"/></simpara></listitem>
- <!--
- <listitem><simpara><xref linkend="param.latex.article.begindocument"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.article.end"/></simpara></listitem>
- -->
- </itemizedlist>
- </doc:variables>
- <doc:notes>
- <para>
-
- This template will call upon the following variables or
- templates in this order:
- <literal>generate.latex.article.preamble</literal>,
- <literal>$toc.section.depth</literal>,
- <literal>$section.depth</literal>,
- <literal>title</literal> (or <doc:db>articleinfo</doc:db> or
- <doc:db>artheader</doc:db>),
- <literal>$latex.article.title.style</literal>,
- <literal>date</literal> (from <literal>articleinfo</literal> or
- <literal>artheader</literal>), <literal>authorgroup</literal>
- or <literal>author</literal> (or <literal>articleinfo</literal>
- or <literal>artheader</literal>), <literal>map.begin</literal>,
- <literal>$latex.maketitle</literal>,
- <literal>articleinfo</literal> or <literal>artheader</literal>,
- <literal>content-templates</literal>,
- <literal>map.end</literal>.
-
- </para>
- </doc:notes>
- <doc:samples>
- <simplelist type='inline'>
- &test_article;
- &test_minimal;
- </simplelist>
- </doc:samples>
- <doc:seealso>
- <itemizedlist>
- <listitem><simpara>&mapping;: this template will use the <literal>article</literal> mappings.</simpara></listitem>
- <listitem><simpara><xref linkend="template.article/artheader|article/articleinfo-standalone.article"/></simpara></listitem>
- <listitem><simpara><xref linkend="template.generate.latex.article.preamble"/></simpara></listitem>
- </itemizedlist>
- </doc:seealso>
- </doc:template>
- <xsl:template match="article">
- <xsl:call-template name="generate.latex.article.preamble"/>
- <xsl:text> \setcounter{tocdepth}{</xsl:text><xsl:value-of select="$toc.section.depth"/><xsl:text>} </xsl:text>
- <xsl:text> \setcounter{secnumdepth}{</xsl:text><xsl:value-of select="$section.depth"/><xsl:text>} </xsl:text>
- <!-- Get and output article title -->
- <xsl:variable name="article.title">
- <xsl:choose>
- <xsl:when test="./title">
- <xsl:apply-templates select="./title"/>
- </xsl:when>
- <xsl:when test="./articleinfo/title">
- <xsl:apply-templates select="./articleinfo/title"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:apply-templates select="./artheader/title"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:text>\title{</xsl:text>
- <xsl:value-of select="$latex.article.title.style"/>
- <xsl:text>{</xsl:text>
- <xsl:value-of select="$article.title"/>
- <xsl:text>}} </xsl:text>
- <!-- Display date information -->
- <xsl:variable name="article.date">
- <xsl:apply-templates select="./artheader/date|./articleinfo/date"/>
- </xsl:variable>
- <xsl:if test="$article.date!=''">
- <xsl:text>\date{</xsl:text>
- <xsl:value-of select="$article.date"/>
- <xsl:text>} </xsl:text>
- </xsl:if>
- <!-- Display author information -->
- <xsl:text>\author{</xsl:text>
- <xsl:choose>
- <xsl:when test="articleinfo/authorgroup">
- <xsl:apply-templates select="articleinfo/authorgroup"/>
- </xsl:when>
- <xsl:when test="artheader/authorgroup">
- <xsl:apply-templates select="artheader/authorgroup"/>
- </xsl:when>
- <xsl:when test="articleinfo/author">
- <xsl:for-each select="artheader">
- <xsl:call-template name="authorgroup"/>
- </xsl:for-each>
- </xsl:when>
- <xsl:when test="artheader/author">
- <xsl:for-each select="artheader">
- <xsl:call-template name="authorgroup"/>
- </xsl:for-each>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="authorgroup"/>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:text>} </xsl:text>
- <!-- Display begindocument command -->
- <xsl:call-template name="map.begin"/>
- <xsl:value-of select="$latex.maketitle"/>
- <xsl:apply-templates select="artheader|articleinfo" mode="standalone.article"/>
- <xsl:call-template name="content-templates-rootid"/>
- <xsl:call-template name="map.end"/>
- </xsl:template>
-
- <doc:template basename="date" xmlns="">
- <refpurpose>Process <doc:db>date</doc:db> in <doc:db>articleinfo</doc:db> elements</refpurpose>
- <doc:description>
- <para>
- Applies templates.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <!--
- <doc:samples>
- <simplelist type='inline'>
- &test_book;
- &test_defguide;
- </simplelist>
- </doc:samples>
- -->
- </doc:template>
- <xsl:template match="articleinfo/date|artheader/date">
- <xsl:apply-templates/>
- </xsl:template>
-
- <doc:template basename="articleinfo" xmlns="">
- <refpurpose>Process <doc:db>articleinfo</doc:db> in <doc:db>article</doc:db> elements</refpurpose>
- <doc:description>
- <para>
- Applies templates for <doc:db>legalnotice</doc:db> and <doc:db>abstract</doc:db>.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <!--
- <doc:samples>
- <simplelist type='inline'>
- &test_book;
- &test_defguide;
- </simplelist>
- </doc:samples>
- -->
- </doc:template>
- <xsl:template match="article/artheader|article/articleinfo" mode="standalone.article">
- <xsl:apply-templates select="keywordset" />
- <xsl:apply-templates select="legalnotice" />
- <xsl:apply-templates select="abstract"/>
- </xsl:template>
-
- <xsl:template match="article/artheader|article/articleinfo"/>
-
- <doc:template basename="articleinfo" xmlns="">
- <refpurpose>Process <doc:db>articleinfo</doc:db> in <doc:db>article</doc:db> elements</refpurpose>
- <doc:description>
- <para>
- Applies templates for <doc:db>abstract</doc:db> and <doc:db>legalnotice</doc:db>.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <!--
- <doc:samples>
- <simplelist type='inline'>
- &test_book;
- &test_defguide;
- </simplelist>
- </doc:samples>
- -->
- </doc:template>
- <xsl:template match="article/artheader|article/articleinfo" mode="article.within.book">
- <xsl:apply-templates select="abstract"/>
- <xsl:apply-templates select="legalnotice" />
- </xsl:template>
-
- <doc:template basename="legalnotice" xmlns="">
- <refpurpose>Process <doc:db>legalnotice</doc:db> elements</refpurpose>
- <doc:description>
- <para>
- Typesets legal notices.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:notes>
- <note>
- <para>This should be done via the mapping system!</para>
- </note>
- <para>
-
- For two-column documents, the <doc:db>title</doc:db> is
- formatted in italics and followed immediately by the notice's
- content. For single-column documents, the
- <literal>title</literal> is formatted in bold, centred on a
- line of its own, and the body of the legal notice is formatted
- as an indented small-font quotation.
-
- </para>
- <para>
- The <doc:db>blockinfo</doc:db> is not processed
- (only the <doc:db>title</doc:db> is used).
- </para>
- </doc:notes>
- <doc:samples>
- <simplelist type='inline'>
- &test_book;
- &test_entities;
- </simplelist>
- </doc:samples>
- <doc:seealso>
- <itemizedlist>
- <listitem><simpara>&mapping;</simpara></listitem>
- <listitem><simpara><xref linkend="template.legalnotice.title"/></simpara></listitem>
- </itemizedlist>
- </doc:seealso>
- </doc:template>
- <xsl:template match="legalnotice">
- <xsl:text> {\if@twocolumn </xsl:text>
- <xsl:text>\noindent\small\textit{ </xsl:text>
- <xsl:call-template name="legalnotice.title"/>
- <xsl:text>}\/\bfseries---$\!$% </xsl:text>
- <xsl:text>\else </xsl:text>
- <xsl:text>\noindent\begin{center}\small\bfseries </xsl:text>
- <xsl:call-template name="legalnotice.title"/>
- <xsl:text>\end{center}\begin{quote}\small </xsl:text>
- <xsl:text>\fi </xsl:text>
- <xsl:call-template name="content-templates"/>
- <xsl:text>\vspace{0.6em}\par\if@twocolumn\else\end{quote}\fi} </xsl:text>
- <!--
- <xsl:text>\normalsize\rmfamily </xsl:text>
- -->
- </xsl:template>
-
- <doc:template xmlns="">
- <refpurpose> Choose a title for <doc:db basename="legalnotice">legalnotices</doc:db> </refpurpose>
- <doc:description>
- <para>
- Typesets a title.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:notes>
- <para>
-
- Will look for
- <doc:db>blockinfo</doc:db>/<doc:db>title</doc:db>,
- <doc:db>legalnotice</doc:db>/<doc:db>title</doc:db>
- or a <quote>gentext</quote> title
- (the first of the three will be used).
-
- </para>
- </doc:notes>
- <doc:samples>
- <para>See <xref linkend="template.legalnotice"/></para>
- </doc:samples>
- <doc:seealso>
- <itemizedlist>
- <listitem><simpara>&mapping;</simpara></listitem>
- <listitem><simpara><xref linkend="template.legalnotice.title"/></simpara></listitem>
- </itemizedlist>
- </doc:seealso>
- </doc:template>
- <xsl:template name="legalnotice.title">
- <xsl:param name="title" select="blockinfo/title|title"/>
- <xsl:choose>
- <xsl:when test="count($title)>0">
- <xsl:apply-templates select="$title[1]"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="gentext">
- <xsl:with-param name="key">legalnotice</xsl:with-param>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <doc:template basename="toc" xmlns="">
- <refpurpose> Generate and typeset a <doc:db>toc</doc:db> </refpurpose>
- <doc:description>
- <para>
- Produce a chapter-level table of contents in &LaTeX;.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:notes>
- <para>
-
- This template ignores its contents and instead invokes the
- &LaTeX; <function condition="latex">tableofcontents</function>
- command. You will need to run your typesetter at least twice,
- and possibly three times, to have the table of contents
- generated normally. The headers, footers, and chapter title
- will be generated by &LaTeX;.
-
- </para>
- </doc:notes>
- <doc:samples>
- <simplelist type='inline'>
- &test_book;
- &test_lot;
- </simplelist>
- </doc:samples>
- <doc:seealso>
- <itemizedlist>
- <listitem><simpara><xref linkend="template.latex.noparskip"/></simpara></listitem>
- <listitem><simpara><xref linkend="template.latex.restoreparskip"/></simpara></listitem>
- </itemizedlist>
- </doc:seealso>
- </doc:template>
- <xsl:template match="toc" name="toc">
- <xsl:text> </xsl:text>
- <xsl:call-template name="latex.noparskip"/>
- <xsl:choose>
- <xsl:when test="$latex.use.hyperref=1">
- <xsl:text>
-\makeatletter
-\def\dbtolatex@contentsid{</xsl:text>
- <xsl:call-template name="generate.label.id"/>
- <xsl:text>}
-\let\dbtolatex@@contentsname\contentsname
-\newif\ifdocbooktolatexcontentsname\docbooktolatexcontentsnametrue
-\def\dbtolatex@contentslabel{%
- \label{\dbtolatex@contentsid}\hypertarget{\dbtolatex@contentsid}{\dbtolatex@@contentsname}%
- \global\docbooktolatexcontentsnamefalse}
-\def\contentsname{\ifdocbooktolatexcontentsname\dbtolatex@contentslabel\else\dbtolatex@@contentsname\fi}
-\tableofcontents
-\let\contentsname\dbtolatex@@contentsname
-\Hy@writebookmark{}{\dbtolatex@@contentsname}{\dbtolatex@contentsid}{0}{toc}%
-\makeatother
- </xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>\tableofcontents </xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:call-template name="latex.restoreparskip"/>
- </xsl:template>
-
- <doc:template basename="toc" xmlns="">
- <refpurpose> Generate and typeset a <doc:db>toc</doc:db> </refpurpose>
- <doc:description>
- <para>
- Produce a chapter-level table of contents in &LaTeX;.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:params>
- <variablelist>
- <varlistentry>
- <term>prefer</term>
- <listitem>
- <para>
-
- &LaTeX; can provide <function
- condition="latex">listoffigures</function> and
- <function condition="latex">listoftables</function>
- by default. This parameter allows you to select
- which should be used. Recognised values are
- <quote>figures</quote> and <quote>tables</quote>.
- If the value is empty or not recognised, both lists
- will be output. By default, the value of the
- current node's non-empty <sgmltag
- class="attribute">condition</sgmltag>, <sgmltag
- class="attribute">role</sgmltag> or <sgmltag
- class="attribute">label</sgmltag> attribute will be
- used.
-
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </doc:params>
- <doc:notes>
- <para>
-
- This template ignores its contents and instead invokes the
- &LaTeX; <function condition="latex">listoffigures</function> or
- <function condition="latex">listoftables</function> commands.
- You will need to run your typesetter at least twice, and
- possibly three times, to have the table of contents generated
- normally. The headers, footers, and chapter title will be
- generated by &LaTeX;.
-
- </para>
- </doc:notes>
- <doc:samples>
- <simplelist type='inline'>
- &test_lot1;
- &test_lot2;
- &test_lot3;
- </simplelist>
- </doc:samples>
- <doc:seealso>
- <itemizedlist>
- <listitem><simpara><xref linkend="param.latex.bridgehead.in.lot"/></simpara></listitem>
- <listitem><simpara><xref linkend="template.latex.noparskip"/></simpara></listitem>
- <listitem><simpara><xref linkend="template.latex.restoreparskip"/></simpara></listitem>
- </itemizedlist>
- </doc:seealso>
- </doc:template>
- <xsl:template match="lot" name="lot">
- <xsl:param name="prefer">
- <xsl:choose>
- <xsl:when test="@condition!=''">
- <xsl:value-of select="@condition"/>
- </xsl:when>
- <xsl:when test="@role!=''">
- <xsl:value-of select="@role"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="@label"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:param>
- <xsl:call-template name="latex.noparskip"/>
- <xsl:choose>
- <xsl:when test="$prefer='figures'">
- <xsl:text>\listoffigures </xsl:text>
- </xsl:when>
- <xsl:when test="$prefer='tables'">
- <xsl:text>\listoftables </xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>\listoffigures </xsl:text>
- <xsl:text>\listoftables </xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:call-template name="latex.restoreparskip"/>
- </xsl:template>
-
-<!--
- <xsl:template match="lotentry">
- </xsl:template>
-
- <xsl:template match="lotentry"/>
- <xsl:template match="tocpart|tocchap|tocfront|tocback|tocentry"/>
- <xsl:template match="toclevel1|toclevel2|toclevel3|toclevel4|toclevel5"/>
--->
-
- <doc:template xmlns="">
- <refpurpose> Choose the preferred page style for document body </refpurpose>
- <doc:description>
- <para>
-
- If no page style is preferred by the user, the defaults will be
- <literal>empty</literal> for <doc:db
- basename="article">articles</doc:db>, <literal>plain</literal>
- for <doc:db basename="book">books</doc:db>, or
- <literal>fancy</literal> (if the &LaTeX;
- <productname>fancyhdr</productname> package is permitted).
-
- </para>
- </doc:description>
- <doc:variables>
- <itemizedlist>
- <listitem><simpara><xref linkend="param.latex.pagestyle"/></simpara></listitem>
- <listitem><simpara><xref linkend="param.latex.use.fancyhdr"/></simpara></listitem>
- </itemizedlist>
- </doc:variables>
- <doc:notes>
- <para>
-
- The &LaTeX; <function condition="latex">pagestyle</function>
- command is used to effect the page style.
-
- </para>
- </doc:notes>
- </doc:template>
- <xsl:template name="generate.latex.pagestyle">
- <xsl:text>\pagestyle{</xsl:text>
- <xsl:choose>
- <xsl:when test="$latex.pagestyle!=''">
- <xsl:value-of select="$latex.pagestyle"/>
- </xsl:when>
- <xsl:when test="count(//book)>0">
- <xsl:choose>
- <xsl:when test="$latex.use.fancyhdr=1"><xsl:text>fancy</xsl:text></xsl:when>
- <xsl:otherwise><xsl:text>plain</xsl:text></xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise><xsl:text>empty</xsl:text></xsl:otherwise>
- </xsl:choose>
- <xsl:text>} </xsl:text>
- </xsl:template>
-
-</xsl:stylesheet>
-
+++ /dev/null
-<?xml version='1.0'?>
-<!DOCTYPE xsl:stylesheet [ <!ENTITY % xsldoc.ent SYSTEM "./xsldoc.ent"> %xsldoc.ent; ]>
-<!--#############################################################################
-| $Id: bridgehead.mod.xsl,v 1.12 2004/01/11 11:35:25 j-devenish Exp $
-|- #############################################################################
-| $Author: j-devenish $
-+ ############################################################################## -->
-
-<xsl:stylesheet
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
- exclude-result-prefixes="doc" version='1.0'>
-
- <doc:reference id="bridgehead" xmlns="">
- <referenceinfo>
- <releaseinfo role="meta">
- $Id: bridgehead.mod.xsl,v 1.12 2004/01/11 11:35:25 j-devenish Exp $
- </releaseinfo>
- <authorgroup>
- &ramon;
- &james;
- </authorgroup>
- <copyright>
- <year>2000</year><year>2001</year><year>2002</year><year>2003</year>
- <holder>Ramon Casellas</holder>
- </copyright>
- <revhistory>
- <doc:revision rcasver="1.10">&rev_2003_05;</doc:revision>
- </revhistory>
- </referenceinfo>
- <title>Free-floating Headings <filename>bridgehead.mod.xsl</filename></title>
- <partintro>
- <para>The file <filename>bridgehead.mod.xsl</filename> contains the
- XSL template for <doc:db>bridgehead</doc:db>.</para>
- </partintro>
- </doc:reference>
-
- <doc:template basename="bridgehead" xmlns="">
- <refpurpose>Process <doc:db>bridgehead</doc:db> elements</refpurpose>
- <doc:description>
- <para>
-
- Free-floating headings for <doc:db
- basename="bridgehead">bridgeheads</doc:db> elements. Renders
- un-numbered section headings.
-
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:params>
- <variablelist>
- <varlistentry>
- <term>renderas</term>
- <listitem><simpara>The sectioning level to be emulated (e.g. <quote>1</quote> for <doc:db>sect1</doc:db>). Chooses the current node's <literal>@renderas</literal> attribute by default.</simpara></listitem>
- </varlistentry>
- <varlistentry>
- <term>content</term>
- <listitem><simpara>The content that forms the bridgehead text. By default, normal templates will be applied for the current node.</simpara></listitem>
- </varlistentry>
- </variablelist>
- </doc:params>
- <doc:notes>
- <para>
-
- The emulation of section headings is achieved through the
- normal &latex; section commands such as
- <function condition="latex">section</function>, <function condition="latex">subsection</function>,
- and so forth. However, levels above three (3) will be typeset
- with the &latex; <function condition="latex">paragraph*</function> command.
-
- </para>
- </doc:notes>
- <doc:samples>
- <simplelist type='inline'>
- &test_book;
- &test_subfig;
- &test_tables;
- </simplelist>
- </doc:samples>
- <!--
- <doc:seealso>
- <itemizedlist>
- <listitem><simpara>&mapping;</simpara></listitem>
- </itemizedlist>
- </doc:seealso>
- -->
- </doc:template>
- <xsl:template match="bridgehead" name="bridgehead">
- <xsl:param name="renderas" select="@renderas"/>
- <xsl:param name="content"><xsl:apply-templates/></xsl:param>
- <xsl:choose>
- <xsl:when test="$renderas='sect1' or $renderas='sect2' or $renderas='sect3'">
- <xsl:text> \</xsl:text>
- <xsl:if test="$renderas='sect2'"><xsl:text>sub</xsl:text></xsl:if>
- <xsl:if test="$renderas='sect3'"><xsl:text>subsub</xsl:text></xsl:if>
- <xsl:text>section*{</xsl:text>
- <xsl:copy-of select="$content"/>
- <xsl:text>}</xsl:text>
- <xsl:call-template name="label.id"/>
- <xsl:text> </xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <!--
- <xsl:text> </xsl:text>
- <xsl:text>\vspace{1em}\noindent{\bfseries </xsl:text><xsl:copy-of select="$content"/><xsl:text>}</xsl:text>
- <xsl:call-template name="label.id"/>
- <xsl:text>\par\noindent </xsl:text>
- -->
- <xsl:text> \paragraph*{</xsl:text>
- <xsl:copy-of select="$content"/>
- <xsl:text>}</xsl:text>
- <xsl:call-template name="label.id"/>
- <xsl:text> \noindent </xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
-</xsl:stylesheet>
+++ /dev/null
-<?xml version='1.0'?>
-<!DOCTYPE xsl:stylesheet [ <!ENTITY % xsldoc.ent SYSTEM "./xsldoc.ent"> %xsldoc.ent; ]>
-<!--#############################################################################
-| $Id: callout.mod.xsl,v 1.10 2004/01/14 14:54:32 j-devenish Exp $
-|- #############################################################################
-| $Author: j-devenish $
-+ ############################################################################## -->
-
-<xsl:stylesheet
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
- exclude-result-prefixes="doc" version='1.0'>
-
- <doc:reference id="callout" xmlns="">
- <referenceinfo>
- <releaseinfo role="meta">
- $Id: callout.mod.xsl,v 1.10 2004/01/14 14:54:32 j-devenish Exp $
- </releaseinfo>
- <authorgroup>
- &ramon;
- &james;
- </authorgroup>
- <copyright>
- <year>2000</year><year>2001</year><year>2002</year><year>2003</year><year>2004</year>
- <holder>Ramon Casellas</holder>
- </copyright>
- <revhistory>
- <doc:revision rcasver="1.5">&rev_2003_05;</doc:revision>
- <doc:revision rcasver="1.6">
- <date>January 2004</date>
- <revremark>Added callout support.</revremark>
- </doc:revision>
- </revhistory>
- </referenceinfo>
- <title>Callouts <filename>callout.mod.xsl</filename></title>
- <partintro>
- <para>
-
- These template use the concept of an <quote>areamark</quote>, an
- <quote>arearef</quote> and an <quote>areasymbol</quote>. An areamark
- is a way of illustrating a callout area as part of an image or
- listing. An arearef is a way of illustrating a callout area as part of
- a callout list. By default, the areamark and the arearef are both
- represented by the areasymbol. (Aside: that the areamark is drawn
- first.) This system allows opens the possibility for an areamark to
- draw a box around an area in addition to displaying the areasymbol.
-
- </para>
- </partintro>
- </doc:reference>
-
- <doc:template xmlns="">
- <refpurpose> Essential preamble for <filename>callout.mod.xsl</filename> support </refpurpose>
- <doc:description>
- <para>
-
- Loads the <productname>overpic</productname> packages and
- defines <function condition="latex">calsscale</function>
- and <function condition="latex">calspair</function> (which
- are used to convert <quote>calspair</quote> coordinates into
- <productname>overpic</productname> percent-style coordinates.
-
- </para>
- </doc:description>
- <doc:variables>
- <variablelist>
- <varlistentry>
- <term><xref linkend="param.latex.use.overpic"/></term>
- <listitem><simpara>
- Whether to enable this preamble or not.
- If 0, callouts will cause &LaTeX; errors.
- </simpara></listitem>
- </varlistentry>
- </variablelist>
- </doc:variables>
- <doc:seealso>
- <itemizedlist>
- <listitem><simpara>&preamble;</simpara></listitem>
- </itemizedlist>
- </doc:seealso>
- </doc:template>
- <xsl:template name="latex.preamble.essential.callout">
- <xsl:if test="$latex.use.overpic=1 and //callout">
- <xsl:text>
- <![CDATA[
-\usepackage[percent]{overpic}
-\newdimen\dblatex@ascale \newdimen\dblatex@bscale
-\newdimen\dblatex@adimen \newdimen\dblatex@bdimen
-\newdimen\dblatex@cdimen \newdimen\dblatex@ddimen
-\newcommand{\calsscale}{%
- \ifnum\@tempcnta>\@tempcntb%
- \dblatex@ascale=1pt%
- \dblatex@bscale=\@tempcntb pt%
- \divide\dblatex@bscale by \@tempcnta%
- \else%
- \dblatex@bscale=1 pt%
- \dblatex@ascale=\@tempcnta pt%
- \divide\dblatex@ascale by \@tempcntb%
- \fi%
-}
-\newcommand{\calspair}[3]{
- \sbox{\z@}{#3}
- \settowidth{\dblatex@cdimen}{\usebox{\z@}}
- \settoheight{\dblatex@ddimen}{\usebox{\z@}}
- \divide\dblatex@cdimen by 2
- \divide\dblatex@ddimen by 2
- \dblatex@adimen=#1 pt \dblatex@adimen=\strip@pt\dblatex@ascale\dblatex@adimen
- \dblatex@bdimen=#2 pt \dblatex@bdimen=\strip@pt\dblatex@bscale\dblatex@bdimen
- \put(\strip@pt\dblatex@adimen,\strip@pt\dblatex@bdimen){\hspace{-\dblatex@cdimen}\raisebox{-\dblatex@ddimen}{\usebox{\z@}}}
-}
-]]>
- </xsl:text>
- </xsl:if>
- </xsl:template>
-
- <doc:template xmlns="">
- <refpurpose>Process <doc:db>programlistingco</doc:db> and <doc:db>screenco</doc:db> elements</refpurpose>
- <doc:description>
- <para>
- Applies templates.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- </doc:template>
- <xsl:template match="programlistingco|screenco">
- <xsl:apply-templates select="programlisting|screen|calloutlist"/>
- </xsl:template>
-
- <doc:template xmlns="">
- <refpurpose>Process <doc:db>areaset</doc:db>-related elements</refpurpose>
- <doc:description>
- <para>
- Suppressed (<doc:db>area</doc:db> templates are applied by
- <xref linkend="template.imagedata"/>).
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- </doc:template>
- <xsl:template match="areaspec|areaset"/>
-
- <doc:template xmlns="">
- <refpurpose>Process <doc:db>co</doc:db>-related elements</refpurpose>
- <doc:description>
- <para>
- Print a callout number as a parenthesis.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:notes>
- <para>This template is probably never applied, because
- we can't yet handled <doc:db basename="co">cos</doc:db>
- in verbatim environments.</para>
- </doc:notes>
- </doc:template>
- <xsl:template match="co">
- <xsl:variable name="conum">
- <xsl:number count="co" format="1"/>
- </xsl:variable>
- <xsl:text>(</xsl:text>
- <xsl:value-of select="$conum"/>
- <xsl:text>)</xsl:text>
- </xsl:template>
-
- <doc:template xmlns="">
- <refpurpose>Process <doc:db>calloutlist</doc:db> elements</refpurpose>
- <doc:description>
- <para>
- Applies templates.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- </doc:template>
- <xsl:template match="calloutlist">
- <xsl:apply-templates select="./title"/>
- <xsl:text> \begin{description} </xsl:text>
- <xsl:apply-templates select="callout"/>
- <xsl:text>\end{description} </xsl:text>
- </xsl:template>
-
- <doc:template xmlns="">
- <refpurpose>Process titles for <doc:db>calloutlist</doc:db> elements</refpurpose>
- <doc:description>
- <para>
-
- Formats a title.
-
- </para>
- </doc:description>
- <doc:variables>
- <variablelist>
- <varlistentry>
- <term><xref linkend="param.latex.list.title.style"/></term>
- <listitem><simpara>
- The &LaTeX; command for formatting titles.
- </simpara></listitem>
- </varlistentry>
- </variablelist>
- </doc:variables>
- <doc:params>
- <variablelist>
- <varlistentry>
- <term>style</term>
- <listitem><simpara>The &LaTeX; command to use. Defaults to
- <xref linkend="param.latex.list.title.style"/>.</simpara></listitem>
- </varlistentry>
- </variablelist>
- </doc:params>
- <doc:notes>
- <para>
- Applies templates as a paragraph, formatted with the specified style.
- </para>
- </doc:notes>
- </doc:template>
- <xsl:template match="calloutlist/title">
- <xsl:param name="style" select="$latex.list.title.style"/>
- <xsl:text> {</xsl:text>
- <xsl:value-of select="$style"/>
- <xsl:text>{</xsl:text>
- <xsl:apply-templates/>
- <xsl:text>}} </xsl:text>
- </xsl:template>
-
- <doc:template basename="callout" xmlns="">
- <refpurpose>Process <doc:db>callout</doc:db> elements</refpurpose>
- <doc:description>
- <para>
- Formats arearefs as an <function condition="latex">item</function>,
- then applies templates. Since there may be multiple IDs specified
- in the <sgmltag class="attribute">arearefs</sgmltag> attribute,
- the <xref linkend="template.generate.callout.arearefs"/> template is
- called recursively to generate the arearefs.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- </doc:template>
- <xsl:template match="callout">
- <xsl:text>\item[{</xsl:text>
- <xsl:call-template name="generate.callout.arearefs"/>
- <xsl:text>}]\null{} </xsl:text>
- <xsl:apply-templates/>
- <xsl:text> </xsl:text>
- </xsl:template>
-
- <doc:template xmlns="">
- <refpurpose>Determine a <doc:db>callout</doc:db>'s arearefs</refpurpose>
- <doc:description>
- <para>
- Splits the arearef attribute on whitespace, then
- constructs a list of references by applying templates
- in <quote>generate.callout.arearef</quote> mode.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:notes>
- <para>
- The current node must be a <doc:db>callout</doc:db>.
- </para>
- </doc:notes>
- </doc:template>
- <xsl:template name="generate.callout.arearefs">
- <xsl:param name="arearefs" select="normalize-space(@arearefs)"/>
- <xsl:param name="count" select="1"/>
- <xsl:if test="$arearefs!=''">
- <xsl:choose>
- <xsl:when test="substring-before($arearefs,' ')=''">
- <xsl:apply-templates select="." mode="generate.callout.arearef">
- <xsl:with-param name="arearef" select="$arearefs"/>
- <xsl:with-param name="count" select="$count"/>
- <xsl:with-param name="last" select="true()"/>
- </xsl:apply-templates>
- </xsl:when>
- <xsl:otherwise>
- <xsl:apply-templates select="." mode="generate.callout.arearef">
- <xsl:with-param name="arearef" select="substring-before($arearefs,' ')"/>
- <xsl:with-param name="count" select="$count"/>
- <xsl:with-param name="last" select="false()"/>
- </xsl:apply-templates>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:call-template name="generate.callout.arearefs">
- <xsl:with-param name="arearefs" select="substring-after($arearefs,' ')"/>
- <xsl:with-param name="count" select="$count + 1"/>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <doc:template xmlns="">
- <refpurpose>Format a <doc:db>callout</doc:db>'s arearefs</refpurpose>
- <doc:description>
- <para>
- Applies templates in <quote>generate.callout.arearef</quote> mode.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:params>
- <variablelist>
- <varlistentry>
- <term>arearef</term>
- <listitem><simpara>
- The ID of the <doc:db>area</doc:db> to which a <doc:db>callout</doc:db>
- refers.
- </simpara></listitem>
- </varlistentry>
- <varlistentry>
- <term>area</term>
- <listitem><simpara>
- The <doc:db>area</doc:db> object to which a <doc:db>callout</doc:db>
- refers. By default, this searches for a area whose <sgmltag
- class="attribute">id</sgmltag> attribute equals the
- <literal>arearef</literal> parameter.
- </simpara></listitem>
- </varlistentry>
- <varlistentry>
- <term>count</term>
- <listitem><simpara>
- The position of this reference in the list of references
- used by a given <doc:db>callout</doc:db>. Influences
- delimiters for list items.
- </simpara></listitem>
- </varlistentry>
- <varlistentry>
- <term>last</term>
- <listitem><simpara>
- Whether this area reference is the last one for a given
- <doc:db>callout</doc:db>. Influences delimiters for list
- items.
- </simpara></listitem>
- </varlistentry>
- </variablelist>
- </doc:params>
- <doc:notes>
- <para>
- Formats a reference for a single arearef. This is performed by
- applying templates for the <doc:db>area</doc:db> in
- <quote>generate.area.arearef</quote> mode.
- </para>
- <para>
- The current node must be a <doc:db>callout</doc:db>.
- </para>
- <para>
- Uses the <quote>naturalinlinelist</quote> localisation context.
- </para>
- </doc:notes>
- </doc:template>
- <xsl:template match="callout" mode="generate.callout.arearef">
- <xsl:param name="arearef" select="@arearefs"/>
- <xsl:param name="area" select="key('id', $arearef)"/>
- <xsl:param name="last" select="false()"/>
- <xsl:param name="count" select="1"/>
- <xsl:variable name="first" select="$count=1"/>
- <xsl:choose>
- <xsl:when test="$first">
- <xsl:call-template name="gentext.template">
- <xsl:with-param name="context" select="'naturalinlinelist'"/>
- <xsl:with-param name="name" select="'start'"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:when test="$last">
- <xsl:call-template name="gentext.template">
- <xsl:with-param name="context" select="'naturalinlinelist'"/>
- <xsl:with-param name="name">
- <xsl:choose>
- <xsl:when test="$count > 2">
- <xsl:text>lastofmany</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>lastoftwo</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="gentext.template">
- <xsl:with-param name="context" select="'naturalinlinelist'"/>
- <xsl:with-param name="name" select="'middle'"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:choose>
- <xsl:when test="$area">
- <xsl:apply-templates select="$area" mode="generate.area.arearef"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>?</xsl:text>
- <xsl:message>
- <xsl:text>Error: no ID for constraint arearefs: </xsl:text>
- <xsl:value-of select="$arearef"/>
- <xsl:text>.</xsl:text>
- </xsl:message>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:if test="$last">
- <xsl:call-template name="gentext.template">
- <xsl:with-param name="context" select="'naturalinlinelist'"/>
- <xsl:with-param name="name" select="'end'"/>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <doc:template basename="area" xmlns="">
- <refpurpose>Illustrate a reference to a callout's area</refpurpose>
- <doc:description>
- <para>
- Formats an <doc:db>area</doc:db> as part of a
- callout list.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:notes>
- <para>
- The current node must be an <doc:db>area</doc:db>.
- </para>
- <para>
- Applies templates in the <quote>generate.arearef.calspair</quote>,
- <quote>generate.arearef.linerange</quote> and
- <quote>generate.arearef</quote> modes.
- </para>
- </doc:notes>
- </doc:template>
- <xsl:template match="area" mode="generate.area.arearef">
- <xsl:variable name="units">
- <xsl:choose>
- <xsl:when test="@units!=''">
- <xsl:value-of select="@units"/>
- </xsl:when>
- <xsl:when test="../@units!=''">
- <xsl:value-of select="../@units"/>
- </xsl:when>
- <xsl:when test="../../@units!=''">
- <xsl:value-of select="../../@units"/>
- </xsl:when>
- </xsl:choose>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="$units='calspair'">
- <xsl:apply-templates select="." mode="generate.arearef.calspair"/>
- </xsl:when>
- <xsl:when test="$units='linerange'">
- <xsl:apply-templates select="." mode="generate.arearef.linerange"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:apply-templates select="." mode="generate.arearef">
- <xsl:with-param name="units" select="$units"/>
- </xsl:apply-templates>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <doc:template basename="area" xmlns="">
- <refpurpose>Illustrate a reference to a callout's area</refpurpose>
- <doc:description>
- <para>
- Formats an <doc:db>area</doc:db> as part of a
- callout list.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:notes>
- <para>
- This is a fallback template for unknown units.
- It does not format an arearef but instead prints
- an error message.
- </para>
- </doc:notes>
- </doc:template>
- <xsl:template match="area" mode="generate.arearef">
- <xsl:param name="units"/>
- <xsl:message>Error: unsupported arearef units <xsl:value-of select="$units"/>.</xsl:message>
- </xsl:template>
-
- <doc:template basename="area" xmlns="">
- <refpurpose>Illustrate a reference to a callout's area</refpurpose>
- <doc:description>
- <para>
- Formats calspair units for a callout list.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:notes>
- <para>
- Calls <xref linkend="template.area-generate.area.areasymbol"/>.
- </para>
- </doc:notes>
- </doc:template>
- <xsl:template match="area" mode="generate.arearef.calspair">
- <xsl:apply-templates select="." mode="generate.area.areasymbol"/>
- </xsl:template>
-
- <doc:template basename="area" xmlns="">
- <refpurpose>Illustrate a reference to a callout's area</refpurpose>
- <doc:description>
- <para>
- Formats linerange units for a callout list.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:notes>
- <para>
- Formats a line range numerically, condensing the line range
- down to a single line reference if the starting line is the
- same as the finishing line.
- </para>
- </doc:notes>
- </doc:template>
- <xsl:template match="area" mode="generate.arearef.linerange">
- <xsl:choose>
- <xsl:when test="not(contains(@coords, ' '))">
- <xsl:value-of select="@coords"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:variable name="start" select="substring-before(@coords, ' ')"/>
- <xsl:variable name="finish" select="substring-after(@coords, ' ')"/>
- <xsl:choose>
- <xsl:when test="$start=$finish">
- <xsl:value-of select="$start"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="string-replace">
- <xsl:with-param name="from" select="' '"/>
- <xsl:with-param name="to" select="'--'"/>
- <xsl:with-param name="string" select="@coords"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <doc:template basename="area" xmlns="">
- <refpurpose>Illustrate a callout's area as part of an image or listing</refpurpose>
- <doc:description>
- <para>
- Formats an <doc:db>area</doc:db> as part of a
- displayed image or listing.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:notes>
- <para>
- Applies templates in the <quote>generate.area.areamark</quote> mode.
- </para>
- </doc:notes>
- </doc:template>
- <xsl:template match="area">
- <xsl:apply-templates select="." mode="generate.area.areamark"/>
- </xsl:template>
-
- <doc:template basename="area" xmlns="">
- <refpurpose>Illustrate a callout's area as part of an image or listing</refpurpose>
- <doc:description>
- <para>
- Formats an <doc:db>area</doc:db> as part of a
- displayed image or listing.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:notes>
- <para>
- Applies templates in the <quote>generate.areamark.calspair</quote> or
- <quote>generate.areamark</quote> modes.
- </para>
- </doc:notes>
- </doc:template>
- <xsl:template match="area" mode="generate.area.areamark">
- <xsl:variable name="units">
- <xsl:choose>
- <xsl:when test="@units!=''">
- <xsl:value-of select="@units"/>
- </xsl:when>
- <xsl:when test="../@units!=''">
- <xsl:value-of select="../@units"/>
- </xsl:when>
- <xsl:when test="../../@units!=''">
- <xsl:value-of select="../../@units"/>
- </xsl:when>
- </xsl:choose>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="$units='calspair'">
- <xsl:apply-templates select="." mode="generate.areamark.calspair"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:apply-templates select="." mode="generate.areamark">
- <xsl:with-param name="units" select="$units"/>
- </xsl:apply-templates>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <doc:template basename="area" xmlns="">
- <refpurpose>Illustrate a callout's area as part of an image or listing</refpurpose>
- <doc:description>
- <para>
- Formats an <doc:db>area</doc:db> as part of a
- displayed image or listing.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:notes>
- <para>
- This is a fallback template for unknown units.
- It does not format an areamark but instead prints
- an error message.
- </para>
- </doc:notes>
- </doc:template>
- <xsl:template match="area" mode="generate.areamark">
- <xsl:param name="units"/>
- <xsl:message>Error: unsupported areamark units <xsl:value-of select="$units"/>.</xsl:message>
- </xsl:template>
-
- <doc:template basename="area" xmlns="">
- <refpurpose>Illustrate a callout's area as part of an image or listing</refpurpose>
- <doc:description>
- <para>
- Formats calspair units for a displayed image or listing.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:notes>
- <para>
- Converts calspair coordinates relative to the width and height of the
- displayed image area. Will understand "x1,y1 x2,y2" and also "x1 y1".
- In the former case, the drawing location is moved to the centre of
- the implied rectangle. Templates are then applied in the
- <quote>generate.area.areasymbol</quote> mode.
- </para>
- </doc:notes>
- </doc:template>
- <xsl:template match="area" mode="generate.areamark.calspair">
- <xsl:choose>
- <xsl:when test="not(contains(@coords, ' '))">
- <xsl:message>Error: invalid calspair '<xsl:value-of select="@coords"/>'.</xsl:message>
- </xsl:when>
- <xsl:otherwise>
- <xsl:variable name="x1y1">
- <xsl:value-of select="substring-before(@coords, ' ')"/>
- </xsl:variable>
- <xsl:variable name="x1">
- <xsl:choose>
- <xsl:when test="contains($x1y1, ',')">
- <xsl:value-of select="substring-before($x1y1, ',')"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$x1y1"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="y1">
- <xsl:choose>
- <xsl:when test="contains($x1y1, ',')">
- <xsl:value-of select="substring-after($x1y1, ',')"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="''"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="x2y2">
- <xsl:value-of select="substring-after(@coords, ' ')"/>
- </xsl:variable>
- <xsl:variable name="y2">
- <xsl:choose>
- <xsl:when test="contains($x2y2, ',')">
- <xsl:value-of select="substring-after($x2y2, ',')"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$x2y2"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="x2">
- <xsl:choose>
- <xsl:when test="contains($x2y2, ',')">
- <xsl:value-of select="substring-before($x2y2, ',')"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="''"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:text>\calspair{</xsl:text>
- <!-- choose horizontal coordinate -->
- <xsl:choose>
- <xsl:when test="$x1 != '' and $x2 != ''">
- <xsl:value-of select="(number($x1)+number($x2)) div 200"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="number(concat($x1, $x2)) div 100"/>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:text>}{</xsl:text>
- <!-- choose vertical coordinate -->
- <xsl:choose>
- <xsl:when test="$y1 != '' and $y2 != ''">
- <xsl:value-of select="(number($y1)+number($y2)) div 200"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="number(concat($y1, $y2)) div 100"/>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:text>}{</xsl:text>
- <xsl:apply-templates select="." mode="generate.area.areasymbol"/>
- <xsl:text>} </xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <doc:template basename="area" xmlns="">
- <refpurpose>Illustrate a callout's area as part of an image or listing</refpurpose>
- <doc:description>
- <para>
- Formats an <doc:db>area</doc:db> as an overlay
- on an image or listing.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:notes>
- <para>
- If the area has a <sgmltag class="attribute">label</sgmltag>
- attribute, it is used as raw &LaTeX; code.
- </para>
- <para>
- If the area has a linkends attribute, templates are
- applied for the first linkend using
- <quote>generate.callout.areasymbol</quote> mode.
- It is implicit in this scenario that an arearef
- and an areamark will both consist of an identical
- icon for an area.
- </para>
- <para>
- If none of the above were performed, an asterisk is printed.
- </para>
- </doc:notes>
- </doc:template>
- <xsl:template match="area" mode="generate.area.areasymbol">
- <xsl:param name="linkends" select="normalize-space(@linkends)"/>
- <xsl:choose>
- <xsl:when test="@label">
- <xsl:value-of select="@label"/>
- </xsl:when>
- <xsl:when test="$linkends!=''">
- <xsl:variable name="linkend">
- <xsl:choose>
- <xsl:when test="contains($linkends, ' ')">
- <xsl:value-of select="substring-before($linkends, ' ')"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$linkends"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="target" select="key('id', $linkend)"/>
- <xsl:choose>
- <xsl:when test="count($target)>0">
- <xsl:for-each select="$target">
- <xsl:apply-templates select="." mode="generate.callout.areasymbol">
- <xsl:with-param name="arearef" select="generate-id(current())"/>
- <xsl:with-param name="area" select="current()"/>
- </xsl:apply-templates>
- </xsl:for-each>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>?</xsl:text>
- <xsl:message>
- <xsl:text>Error: no ID for constraint linkends: </xsl:text>
- <xsl:value-of select="$linkends"/>
- <xsl:text>.</xsl:text>
- </xsl:message>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>*</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <doc:template basename="callout" xmlns="">
- <refpurpose>Illustrate a callout's area as part of an image or listing</refpurpose>
- <doc:description>
- <para>
- Illustrates an <doc:db>area</doc:db> as part of a
- displayed image or listing.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:notes>
- <para>
- Prints the numeric position of the <doc:db>callout</doc:db> within its <doc:db>calloutlist</doc:db>.
- </para>
- </doc:notes>
- </doc:template>
- <xsl:template match="callout" mode="generate.callout.areasymbol">
- <xsl:number count="callout" format="1"/>
- </xsl:template>
-
- <doc:template xmlns="">
- <refpurpose>Process <doc:db>mediaobjectco</doc:db> elements</refpurpose>
- <doc:description>
- <para>
- Applies templates.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- </doc:template>
- <xsl:template match="mediaobjectco">
- <xsl:text> </xsl:text>
- <xsl:apply-templates select="imageobjectco"/>
- <xsl:text> </xsl:text>
- </xsl:template>
-
- <doc:template xmlns="">
- <refpurpose>Process <doc:db>imageobjectco</doc:db> elements</refpurpose>
- <doc:description>
- <para>
- Applies templates.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- </doc:template>
- <xsl:template match="imageobjectco">
- <xsl:apply-templates select="imageobject"/>
- <xsl:text> </xsl:text>
- <xsl:apply-templates select="calloutlist"/>
- </xsl:template>
-
- <doc:template basename="imageobject" xmlns="">
- <refpurpose>Process a <doc:db>imageobjectco</doc:db>'s <doc:db>imageobject</doc:db> elements</refpurpose>
- <doc:description>
- <para>
- Applies templates for <doc:db>imagedata</doc:db>.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- </doc:template>
- <xsl:template match="imageobjectco/imageobject">
- <xsl:apply-templates select="imagedata">
- <xsl:with-param name="is.imageobjectco" select="true()"/>
- </xsl:apply-templates>
- </xsl:template>
-
-</xsl:stylesheet>
+++ /dev/null
-<?xml version='1.0'?>
-<!DOCTYPE xsl:stylesheet [ <!ENTITY % xsldoc.ent SYSTEM "./xsldoc.ent"> %xsldoc.ent; ]>
-<!--#############################################################################
-| $Id: citation.mod.xsl,v 1.6 2003/12/29 01:30:32 j-devenish Exp $
-|- #############################################################################
-| $Author: j-devenish $
-+ ############################################################################## -->
-
-<xsl:stylesheet
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
- exclude-result-prefixes="doc" version='1.0'>
-
-
- <doc:reference id="citation" xmlns="">
- <referenceinfo>
- <releaseinfo role="meta">
- $Id: citation.mod.xsl,v 1.6 2003/12/29 01:30:32 j-devenish Exp $
- </releaseinfo>
- <authorgroup>
- &ramon;
- &james;
- </authorgroup>
- <copyright>
- <year>2000</year><year>2001</year><year>2002</year><year>2003</year>
- <holder>Ramon Casellas</holder>
- </copyright>
- <revhistory>
- <doc:revision rcasver="1.6">&rev_2003_05;</doc:revision>
- </revhistory>
- </referenceinfo>
- <title>Citations <filename>citation.mod.xsl</filename></title>
- <partintro>
-
- <para>This file contains a single XSL template that maps <doc:db
- basename="citation">citations</doc:db> to the &LaTeX;
- <function condition="latex">cite{}</function>. command.</para>
-
- </partintro>
- </doc:reference>
-
- <doc:template basename="citation" xmlns="">
- <refpurpose> Process <doc:db>citation</doc:db> elements </refpurpose>
- <doc:description>
-
- <para>
-
- Outputs a <function condition="latex">cite{...}</function> command
- using the text value of the <doc:db>citation</doc:db>.
-
- </para>
-
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:notes>
- &essential_preamble;
- </doc:notes>
- <doc:samples>
- <simplelist type='inline'>
- &test_book;
- &test_cited;
- </simplelist>
- </doc:samples>
- </doc:template>
-
- <xsl:template match="citation">
- <!-- todo: biblio-citation-check -->
- <xsl:text>\docbooktolatexcite{</xsl:text>
- <xsl:value-of select="."/>
- <xsl:text>}{}</xsl:text>
- </xsl:template>
-
- <doc:template xmlns="">
- <refpurpose> Essential preamble for <filename>citation.mod.xsl</filename> support </refpurpose>
- <doc:description>
- <para>
-
- Defines <function
- condition="latex">docbooktolatexcite</function>. This function
- helps to integrate <doc:db>bibioentry</doc:db>/@<sgmltag
- class="attribute">id</sgmltag> and
- <doc:db>bibioentry</doc:db>/<doc:db>abbrev</doc:db> with
- &LaTeX;.
- Also defines <function condition="latex">docbooktolatexbackcite</function>
- for compatability with <productname>hyperref</productname>'s
- <productname>backref</productname> functionality.
-
- </para>
- </doc:description>
- <doc:seealso>
- <itemizedlist>
- <listitem><simpara>&preamble;</simpara></listitem>
- </itemizedlist>
- </doc:seealso>
- </doc:template>
-
- <xsl:template name="latex.preamble.essential.citation">
- <xsl:text>
- <![CDATA[
-%\usepackage{cite}
-%\renewcommand\citeleft{(} % parentheses around list
-%\renewcommand\citeright{)} % parentheses around list
-\newcommand{\docbooktolatexcite}[2]{%
- \@ifundefined{docbooktolatexcite@#1}%
- {\cite{#1}}%
- {\def\@docbooktolatextemp{#2}\ifx\@docbooktolatextemp\@empty%
- \cite{\@nameuse{docbooktolatexcite@#1}}%
- \else\cite[#2]{\@nameuse{docbooktolatexcite@#1}}%
- \fi%
- }%
-}
-\newcommand{\docbooktolatexbackcite}[1]{%
- \ifx\Hy@backout\@undefined\else%
- \@ifundefined{docbooktolatexcite@#1}{%
- % emit warning?
- }{%
- \ifBR@verbose%
- \PackageInfo{backref}{back cite \string`#1\string' as \string`\@nameuse{docbooktolatexcite@#1}\string'}%
- \fi%
- \Hy@backout{\@nameuse{docbooktolatexcite@#1}}%
- }%
- \fi%
-}
-]]>
- </xsl:text>
- </xsl:template>
-
-</xsl:stylesheet>
-
-