diff options
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/csquotes/README | 11 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/csquotes/RELEASE | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/csquotes/csquotes.pdf | bin | 359795 -> 241840 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/csquotes/csquotes.tex | 167 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/csquotes/csq-compat.def | 4 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/csquotes/csquotes.cfg | 2 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/csquotes/csquotes.def | 5 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/csquotes/csquotes.sty | 262 |
8 files changed, 246 insertions, 207 deletions
diff --git a/Master/texmf-dist/doc/latex/csquotes/README b/Master/texmf-dist/doc/latex/csquotes/README index 644e35ca36d..3d9726318dd 100644 --- a/Master/texmf-dist/doc/latex/csquotes/README +++ b/Master/texmf-dist/doc/latex/csquotes/README @@ -1,4 +1,4 @@ -$Id: README,v 5.0b 2010/08/06 18:16:03 lehman stable $ +$Id: README,v 5.0c 2010/09/21 18:17:28 lehman stable $ ABOUT @@ -28,12 +28,9 @@ purpose. REQUIREMENTS -This package requires e-TeX and the 'etoolbox' package. etoolbox is -available from: - -http://www.ctan.org/tex-archive/macros/latex/contrib/etoolbox/ - -or any CTAN mirror. +- e-TeX +- etoolbox 1.7 or later +- keyval AUTOMATIC INSTALLATION diff --git a/Master/texmf-dist/doc/latex/csquotes/RELEASE b/Master/texmf-dist/doc/latex/csquotes/RELEASE index bb4b4ff5dab..779843535e0 100644 --- a/Master/texmf-dist/doc/latex/csquotes/RELEASE +++ b/Master/texmf-dist/doc/latex/csquotes/RELEASE @@ -1,4 +1,4 @@ -$Id: RELEASE,v 5.0b 2010/08/06 18:16:03 lehman stable $ +$Id: RELEASE,v 5.0c 2010/09/21 18:17:28 lehman stable $ RELEASE NOTES FOR VERSION 5.0 diff --git a/Master/texmf-dist/doc/latex/csquotes/csquotes.pdf b/Master/texmf-dist/doc/latex/csquotes/csquotes.pdf Binary files differindex 83eace5f658..bfe84058075 100644 --- a/Master/texmf-dist/doc/latex/csquotes/csquotes.pdf +++ b/Master/texmf-dist/doc/latex/csquotes/csquotes.pdf diff --git a/Master/texmf-dist/doc/latex/csquotes/csquotes.tex b/Master/texmf-dist/doc/latex/csquotes/csquotes.tex index 8b2c0886e40..ef7bd4690f2 100644 --- a/Master/texmf-dist/doc/latex/csquotes/csquotes.tex +++ b/Master/texmf-dist/doc/latex/csquotes/csquotes.tex @@ -1,4 +1,4 @@ -% $Id: csquotes.tex,v 5.0b 2010/08/06 18:16:03 lehman stable $ +% $Id: csquotes.tex,v 5.0c 2010/09/21 18:17:28 lehman stable $ \documentclass{ltxdockit}[2009/05/24] \usepackage[latin9]{inputenc} \usepackage[american]{babel} @@ -7,16 +7,17 @@ \usepackage{booktabs} \usepackage{graphicx} \usepackage{shortvrb} +\usepackage{needspace} \usepackage{pifont} \MakeAutoQuote{«}{»} \MakeAutoQuote*{<}{>} \MakeShortVerb{\|} -\rcsid{$Id: csquotes.tex,v 5.0b 2010/08/06 18:16:03 lehman stable $} +\rcsid{$Id: csquotes.tex,v 5.0c 2010/09/21 18:17:28 lehman stable $} \titlepage{% - title={The \sty{csquotes} package}, - subtitle={Context sensitive quotation facilities}, + title={The \sty{csquotes} Package}, + subtitle={Context Sensitive Quotation Facilities}, url={http://www.ctan.org/tex-archive/macros/latex/contrib/csquotes/}, author={Philipp Lehman}, email={plehman@gmx.net}, @@ -24,8 +25,8 @@ date={\rcstoday}} \hypersetup{% - pdftitle={The csquotes package}, - pdfsubject={Context sensitive quotation facilities}, + pdftitle={The csquotes Package}, + pdfsubject={Context Sensitive Quotation Facilities}, pdfauthor={Philipp Lehman}, pdfkeywords={tex, e-tex, latex, quote, quotation, smart quotes, babel, polyglossia, multilingual typesetting}} @@ -112,7 +113,7 @@ \section{Introduction} \label{int} -\subsection{About} +\subsection[About]{About \sty{csquotes}} This package provides advanced facilities for inline and display quotations. It is designed for a wide range of tasks ranging from the most simple applications to the more complex demands of formal quotations. The facilities include commands, environments, and user"=definable <smart quotes> which dynamically adjust to their context. Quotation marks are switched automatically if quotations are nested and can adjust to the current language. There are additional facilities designed to cope with the more specific demands of academic writing, especially in the humanities and the social sciences. All quote styles as well as the optional active quotes are freely configurable. @@ -124,17 +125,12 @@ Copyright © 2003--2010 Philipp Lehman. Permission is granted to copy, distribute The multilingual support of this package depends on user contributions. If you want to contribute a quote style, please refer to \secref{cfg:sty} for an overview of the components a quote style is composed of and to \tabref{tab:out} for a list of commands which should be used in the definition of quote styles. -\subsection{Requirements} -\label{int:req} - -This package requires \etex and the \sty{etoolbox} package which is readily available from \acr{CTAN}.\fnurl{http://www.ctan.org/tex-archive/macros/latex/contrib/etoolbox/} \tex distributions have been shipping \etex binaries for quite some time, most distributions even use them by default these days. The \sty{csquotes} package checks if it is running under \etex. Simply try compiling your documents as you usually do, the chances are that it just works. If you get an error message, try compiling the document with \path{elatex} instead of \path{latex} or \path{pdfelatex} instead of \path{pdflatex}, respectively. - -\section{Package options} +\section{Package Options} \label{opt} All package options are given in \keyval syntax. -\subsection{Main options} +\subsection{Main Options} \label{opt:opt} \begin{optionlist} @@ -173,7 +169,7 @@ This option controls multilingual support. It requires either the \sty{babel} pa swedish & quotes, guillemets, guillemets\*\\ \bottomrule \end{tabularx} -\caption[Language options]{Language options defined by default} +\caption[Language Options]{Language Options Defined by Default} \label{tab:lng} \end{table} @@ -192,9 +188,13 @@ Note that \sty{babel}'s language name is \opt{ngerman} here whereas \sty{csquote This option controls whether quotation commands scan ahead for trailing punctuation marks. See \secref{bas:txt:reg,bas:blk:reg,int:txt:reg,int:blk:reg} for details. Also see \cmd{DeclareAutoPunct} in \secref{cfg:dap} and \secref{cfg:aux} on how to configure and use the punctuation look-ahead feature. +\boolitem[false]{csdisplay} + +By default, the block quotation facilities discussed in \secref{bas:blk:reg, bas:blk:bbl, int:blk:reg, int:blk:bbl} will automatically force inline quotations in footnotes, parboxes, minipages, and floats. Set this option to \texttt{true} to permit context sensitive display quotations in these contexts. This option may also be set locally with \cmd{csdisplaytrue} and \cmd{csdisplayfalse}, respectively. + \end{optionlist} -\subsection{Compatibility options} +\subsection{Compatibility Options} \label{opt:leg} \begin{optionlist} @@ -209,12 +209,12 @@ A legacy alias for the \opt{autostyle} option. This option is depreciated. \end{optionlist} -\section{Basic interface} +\section{Basic Interface} \label{bas} This package supports two ways to tag quotations: built-in commands and active quotes defined in the document preamble or the configuration file. This section will introduce the basic commands, active quotes are discussed in \secref{act}. When working with automated citations, you might also want to learn about the integrated quotation facilities presented in \secref{cit}. -\subsection{Quoting regular text} +\subsection{Quoting Regular Text} \label{bas:reg} The most basic command will simply enclose its argument in quotation marks: @@ -228,7 +228,7 @@ Like all quotation facilities, this command is context sensitive. Depending on t \end{ltxsyntax} -\subsection{Quoting text in a foreign language} +\subsection{Quoting Text in a Foreign Language} \label{bas:bbl} To facilitate typesetting quotations in a foreign language, \sty{csquotes} provides two commands which combine \cmd{enquote} with the language switches of the \sty{babel} or the \sty{polyglossia} package: @@ -247,7 +247,8 @@ This command combines \cmd{enquote} with the \env{hyphenrules} environment, that \end{ltxsyntax} -\subsection{Formal quoting of regular text} +\needspace{4\baselineskip} +\subsection{Formal Quoting of Regular Text} \label{bas:txt:reg} Formal quotations are typically accompanied by a citation indicating the source of the quoted text. The following command is an extended version of \cmd{enquote} which encloses the quoted piece of text in quotation marks and adds a citation after the quotation: @@ -270,7 +271,7 @@ Note the use of the optional arguments in the examples above. As seen in the sec \end{ltxsyntax} -\subsection{Formal quoting of text in a foreign language} +\subsection{Formal Quoting of Text in a Foreign Language} \label{bas:txt:bbl} There are two additional commands which combine \cmd{textquote} with the language switches of the \sty{babel} or the \sty{polyglossia} package: @@ -289,7 +290,7 @@ This command combines \cmd{textquote} with the \env{hyphenrules} environment. Ap \end{ltxsyntax} -\subsection{Block quoting of regular text} +\subsection{Block Quoting of Regular Text} \label{bas:blk:reg} A common requirement in academic writing demands that quotations be embedded in the text if they are short but set off as an indented paragraph if they are longer than a certain number of lines. In the latter case no quotation marks are inserted. The following command deals with this requirement automatically: @@ -298,11 +299,11 @@ A common requirement in academic writing demands that quotations be embedded in \cmditem{blockquote}[cite][punct]{text}<tpunct> -This command determines the number of lines required to typeset \prm{text}. If \prm{text} is longer than a given number of lines or if it spans more than one paragraph, it is wrapped in a block quotation environment. Otherwise \cmd{blockquote} behaves like \cmd{textquote}. Quotations in footnotes, parboxes, minipages, and floats are always set inline. By default, the threshold is three lines and the environment used for long quotations is the \env{quote} environment. See \secref{cfg:blk} on how to change these parameters. The optional arguments \prm{cite} and \prm{punct} specify the citation and any terminal punctuation of \prm{text}. \prm{tpunct} denotes trailing punctuation after the command. If the \opt{autopunct} option is enabled, the quotation commands will scan ahead for punctuation marks immediately following their last argument and can move them around if required. See \secref{cfg:aux} on how to change the way these arguments are handled and \secref{use:hok} for reasons why you may want to specify the punctuation as a separate argument. +This command determines the number of lines required to typeset \prm{text}. If \prm{text} is longer than a given number of lines or if it spans more than one paragraph, it is wrapped in a block quotation environment. Otherwise \cmd{blockquote} behaves like \cmd{textquote}. The default threshold is three lines and the environment used for long quotations is the \env{quote} environment. See \secref{cfg:blk} on how to change these parameters. Note that \sty{csquotes} will force inline quotations in footnotes, parboxes, minipages, and floats by default. Use the \opt{csdisplay} option from \secref{opt:opt} to change this behavior. The optional arguments \prm{cite} and \prm{punct} specify the citation and any terminal punctuation of \prm{text}. \prm{tpunct} denotes trailing punctuation after the command. If the \opt{autopunct} option is enabled, the quotation commands will scan ahead for punctuation marks immediately following their last argument and can move them around if required. See \secref{cfg:aux} on how to change the way these arguments are handled and \secref{use:hok} for reasons why you may want to specify the punctuation as a separate argument. \end{ltxsyntax} -\subsection{Block quoting of text in a foreign language} +\subsection{Block Quoting of Text in a Foreign Language} \label{bas:blk:bbl} The following commands combine \cmd{blockquote} with the language switches of the \sty{babel} or the \sty{polyglossia} package: @@ -323,7 +324,8 @@ This command behaves like \cmd{hyphenquote} if the quotation is short. If it exc \end{ltxsyntax} -\subsection{Selecting quote styles} +\needspace{6\baselineskip} +\subsection{Selecting Quote Styles} \label{bas:set} Quote styles may be selected manually at any point in the document body by way of the following command: @@ -338,12 +340,12 @@ The regular form of this command selects a quote style and disables multilingual \end{ltxsyntax} -\section{Active quotes} +\section{Active Quotes} \label{act} This package also supports active characters corresponding to the commands presented in \secref{bas}. Roughly speaking, an active character is a single character which functions as a command. Like the corresponding control sequences, active quotes are fully"=fledged markup elements which verify the nesting level and issue an error if quotations are nested in an invalid way. If multilingual support is enabled, the style of all quotation marks will be adapted to the current language. The commands presented in the following allocate such active quotes. They may be used in the configuration file, the preamble, or the document body. Note that all characters are automatically checked for validity as they are allocated. This package will reject characters which are unsuitable as active quotes. See \secref{hnt:val} for details on the characters which may be used as active quotes. -\subsection{Quoting regular text} +\subsection{Quoting Regular Text} \label{act:reg} \cmd{MakeOuterQuote} and \cmd{MakeInnerQuote} define active quotes which print outer and inner quotation marks. Both take one mandatory argument, the character serving as both opening and closing mark: @@ -362,7 +364,7 @@ All active quotes defined with \cmd{MakeAutoQuote} work like \cmd{enquote}. Thos \end{ltxsyntax} -\subsection{Quoting text in a foreign language} +\subsection{Quoting Text in a Foreign Language} \label{act:bbl} These commands combine \cmd{MakeAutoQuote} with the language switches of the \sty{babel} or the \sty{polyglossia} package: @@ -381,7 +383,7 @@ The active quotes defined with the above commands are similar in concept and fun \end{ltxsyntax} -\subsection{Block quoting of regular text} +\subsection{Block Quoting of Regular Text} \label{act:blk:reg} \cmd{MakeBlockQuote} defines active quotes which will set quotations inline or as a separate paragraph, depending on their length. This command takes three mandatory arguments which must be distinct: @@ -402,7 +404,7 @@ If the delimiter is omitted, the entire text between the opening and the closing \end{ltxsyntax} -\subsection{Block quoting of text in a foreign language} +\subsection{Block Quoting of Text in a Foreign Language} \label{act:blk:bbl} These commands combine \cmd{MakeBlockQuote} with the language switches of the \sty{babel} or the \sty{polyglossia} package: @@ -423,7 +425,7 @@ The active quotes defined with this command are similar in concept and function \end{ltxsyntax} -\subsection{Controlling active quotes} +\subsection{Controlling Active Quotes} \label{act:ctl} The commands introduced above merely allocate active quotes, but these characters are not immediately made active. All allocated quotes are automatically enabled at the beginning of the document body. If any active quotes are allocated in the document body, they need to be enabled with \cmd{EnableQuotes}. The following commands control the state of the active quotes within a local scope. @@ -444,12 +446,12 @@ Disables and deallocates all active quotes, i.e. performs a complete reset of al \end{ltxsyntax} -\section{Integrated interface} +\section{Integrated Interface} \label{cit} The commands presented in this section are extended versions of some of those discussed in \secref{bas}. They differ from their counterparts in that they integrate automated citations into their syntax. Instead of adding \cmd{cite} manually, you pass the citation arguments to the respective quotation command. See \secref{cfg:blk} on how to use a command other than \cmd{cite} to handle the citations. -\subsection{Formal quoting of regular text} +\subsection{Formal Quoting of Regular Text} \label{int:txt:reg} The basic integrated command is an extended version of \cmd{textquote}: @@ -463,7 +465,7 @@ The \prm{text} may be any arbitrary piece of text to be enclosed in quotation ma \end{ltxsyntax} -\subsection{Formal quoting of text in a foreign language} +\subsection{Formal Quoting of Text in a Foreign Language} \label{int:txt:bbl} The following commands combine \cmd{textcquote} with the language switches of the \sty{babel} or the \sty{polyglossia} package: @@ -482,7 +484,7 @@ This command combines \cmd{textcquote} with the \env{hyphenrules} environment. T \end{ltxsyntax} -\subsection{Block quoting of regular text} +\subsection{Block Quoting of Regular Text} \label{int:blk:reg} Block quotations may be combined with automated citations as well by using the extended version of \cmd{blockquote}: @@ -495,7 +497,7 @@ The difference between \cmd{blockcquote} and \cmd{blockquote} is that there are \end{ltxsyntax} -\subsection{Block quoting of text in a foreign language} +\subsection{Block Quoting of Text in a Foreign Language} \label{int:blk:bbl} The following commands combine \cmd{blockcquote} with the language switches of the \sty{babel} or the \sty{polyglossia} package: @@ -516,12 +518,12 @@ This command behaves like \cmd{hyphenblockcquote} if the quotation is short, and \end{ltxsyntax} -\section{Display environments} +\section{Display Environments} \label{env} The environments introduced in this section will typeset quotations as a separate paragraph which looks exactly like a long quotation set by means of the block quotation facilities. Use them for quotations which are to be presented as a separate paragraph regardless of their length. Note that these environments are not replacements for the standard \env{quote} environment in the strict sense. They function as an additional layer on top of the latter, just like the block quotation facilities. The advantage of using these environments instead of resorting to the standard \env{quote} environment is that they are configurable, support citations, and will always be in sync with the block quotation facilities with respect to the configuration options discussed in \secref{cfg:blk,cfg:aux}. -\subsection{Basic display environments} +\subsection{Basic Display Environments} \label{env:bas} The arguments of all display environments are generally appended to the \cmd{begin} section of the environment: @@ -542,9 +544,8 @@ This environment combines \env{displayquote} with \env{hyphenrules}. Apart from \end{ltxsyntax} -\clearpage - -\subsection{Integrated display environments} +\needspace{4\baselineskip} +\subsection{Integrated Display Environments} \label{env:cit} The following environment is an extended version of \env{displayquote}: @@ -565,7 +566,7 @@ This environment combines \env{displaycquote} with \env{hyphenrules}. Apart from \end{ltxsyntax} -\section{Auxiliary commands} +\section{Auxiliary Commands} \label{aux} When quoting text in a formal way, any changes applied to the quoted material, such as omissions, insertions, or alterations, are typically marked as such by using the ellipsis mark and square brackets or parentheses. Use the following commands to indicate such changes in formal quotations: @@ -627,11 +628,11 @@ If available, this package will load the configuration file \path{csquotes.cfg}. swedish & quotes, guillemets, guillemets\*\\ \bottomrule \end{tabularx} -\caption[Styles and variants]{Quote styles and style variants defined by default} +\caption[Styles and Variants]{Quote Styles and Style Variants Defined by Default} \label{tab:sty} \end{table} -\subsection{Defining quote styles} +\subsection{Defining Quote Styles} \label{cfg:sty} Use the following command to define quote styles and style variants: @@ -646,7 +647,7 @@ This command may be used in the configuration file or in the document preamble. \end{ltxsyntax} -\subsection{Defining quote aliases} +\subsection{Defining Quote Aliases} \label{cfg:als} The following command defines quote aliases: @@ -697,11 +698,11 @@ This command may be used in the configuration file or in the document preamble. \\ \bottomrule \end{tabularx} -\caption[Language aliases]{Language aliases defined by default} +\caption[Language Aliases]{Language Aliases Defined by Default} \label{tab:als} \end{table} -\subsection{Defining package options} +\subsection{Defining Package Options} \label{cfg:opt} The following command creates a new package option based on a key\slash value syntax. It takes one mandatory argument, the quote style name: @@ -714,7 +715,7 @@ When using the new option, the name of the quote style will serve as the key. Th \end{ltxsyntax} -\subsection{Executing package options} +\subsection{Executing Package Options} \label{cfg:exe} Apart from passing options to this package as it is loaded, you may also execute options using the following command: @@ -727,7 +728,7 @@ This command permits presetting package options in the configuration file. It ma \end{ltxsyntax} -\subsection{Defining quotes for \pdf strings} +\subsection{Defining Quotes for \pdf Strings} \label{cfg:pdf} The following command specifies the quotation marks for \pdf strings: @@ -741,7 +742,7 @@ This command may be used in the configuration file or in the document preamble. \end{ltxsyntax} -\subsection{Configuring quotations and citations} +\subsection{Configuring Quotations and Citations} \label{cfg:blk} The following commands change the default values used by various quotation facilities of this package. The commands affected by these parameters are indicated in \tabref{tab:blk}. @@ -781,7 +782,7 @@ The following commands change the default values used by various quotation facil Cite command &\_&\_&\_&\_&\_&\_&\+&\+&\+&\_&\_&\_&\+&\+&\+&\_&\_&\_&\+&\+&\+\\ \bottomrule \end{tabularx} -\caption[Configurable parameters]{Scope of configurable parameters} +\caption[Configurable Parameters]{Scope of Configurable Parameters} \label{tab:blk} \end{table} @@ -795,7 +796,7 @@ The following commands change the default values used by various quotation facil \end{ltxsyntax} -\subsection{Hooks for quotations and citations} +\subsection{Hooks for Quotations and Citations} \label{cfg:aux} The appearance of quotes may be configured at a low level by redefining the hooks introduced below. This section will give an overview of their syntax. See \secref{use:hok} for practical examples. The quotation facilities which are responsive to these hooks are indicated in \tabref{tab:aux}. Also see \secref{cfg:tst} for tests which may be useful when redefining the hooks. @@ -838,7 +839,7 @@ The appearance of quotes may be configured at a low level by redefining the hook \cmd{mkccitation} &\_&\_&\_&\_&\_&\_&\+&\+&\+&\_&\_&\_&\+&\+&\+&\_&\_&\_&\+&\+&\+\\ \bottomrule \end{tabularx} -\caption[Auxiliary hooks]{Availability of auxiliary hooks} +\caption[Auxiliary Hooks]{Availability of Auxiliary Hooks} \label{tab:aux} \end{table} @@ -935,7 +936,7 @@ See \secref{use:hok} for practical examples. \end{ltxsyntax} -\subsection{Additional tests in quotation hooks} +\subsection{Additional Tests in Quotation Hooks} \label{cfg:tst} The commands in this section increase the flexibility of the hooks discussed in \secref{cfg:aux}. For example, it may be desirable to adjust the format of a citation depending on the way the corresponding quotation is typeset. It may also be useful to known if the quotation ends with a punctuation mark. @@ -980,7 +981,7 @@ Removes preceding whitespace, \ie removes all skips and penalties from the end o \end{ltxsyntax} -\subsection{Configuring punctuation look-ahead} +\subsection{Configuring Punctuation Look-Ahead} \label{cfg:dap} \begin{ltxsyntax} @@ -997,7 +998,7 @@ This definition is restored automatically whenever the \opt{autopunct} package o \end{ltxsyntax} -\subsection{Configuring ellipses} +\subsection{Configuring Ellipses} \label{cfg:elp} The appearance of ellipses and insertions formatted with the auxiliary commands from \secref{aux} is controlled by five hooks. When \cmd{textelp} is used with an empty argument (ellipsis only), it will execute \cmd{mktextelp}. When used with a non-empty \prm{text} argument (ellipsis and insertion), the \prm{text} will be passed as an argument to \cmd{mktextelpins}. The starred form will pass the \prm{text} to \cmd{mktextinselp} instead. These are the default definitions: @@ -1023,10 +1024,10 @@ You may redefine the above hooks to change the format of the printed output. For % The \cmd{unkern} in the default definitions is required because \cmd{textellipsis} adds asymmetric kerning by default. The kerning after the final dot is similar to the spacing between the dots, which is fine if \cmd{textellipsis} is followed by any text, but undesirable if it is enclosed in brackets. -\section{Usage notes} +\section{Usage Notes} \label{use} -\subsection{Adding a new quote style} +\subsection{Adding a New Quote Style} \label{use:spl} This section will give some comprehensive examples of how to define new quote styles. The examples presented here will only make use of the most basic components a quote style can be composed of. The main point is to illustrate the interaction of quote styles, variants, aliases, and package options. To get started, consider a simple house style which may be selected by way of the package option \opt{style} or the command \cmd{setquotestyle}: @@ -1088,7 +1089,7 @@ To select the default or the alternative style with multilingual support we use: % The base style must be implemented as an alias in this case since the \opt{newspeak} option will select a variant by redefining and thus overwriting the \opt{newspeak} alias. Since the \opt{otherspeak} alias points to \opt{newspeak} and not directly to any backend style, using the \opt{newspeak} option will also have the desired effect if multilingual support is enabled. Note that there are some style names which have a special meaning. See \secref{hnt:pre} for details. -\subsection{Using quotation and citation hooks} +\subsection{Using Quotation and Citation Hooks} \label{use:hok} Style guides for writers usually make detailed provisions concerning the formatting of quotations and citations, including rules dealing with punctuation placement. This section will discuss some typical usage scenarios, using hooks and other facilities introduced in \secref{cfg:aux,cfg:tst,cfg:dap}. In the examples below, we assume the following input: @@ -1275,15 +1276,15 @@ for parenthetical citations and % for citations in footnotes. -\section{Hints and caveats} +\section{Hints and Caveats} \label{hnt} -\subsection{Input encodings} +\subsection{Input Encodings} \label{hnt:inc} The active quotes provided by this package may depend on or benefit from the \sty{inputenc} package under certain circumstances. As long as the active quotes are in the range 0--127, there is no benefit in loading \sty{inputenc}. If you are using an 8-bit input encoding such as \opt{latin1}, \sty{inputenc} is required for the quotes to function properly in a verbatim context. It should therefore be loaded before any active quotes are allocated (not necessarily before this package is loaded). The \utf support of this package builds on the \path{utf8} module of the inputenc package. When using this encoding, ensure that inputenc is loaded with the \opt{utf8} option. Do not use the \opt{utf8x} option as this would implicitly load the \sty{ucs} package which is not supported by \sty{csquotes}. \utf encoding will be detected automatically. All commands discussed in \secref{act} work as usual with this encoding. See also \secref{hnt:mod}. -\subsection{Output encodings} +\subsection{Output Encodings} \label{hnt:onc} The \acr{OT1} font encoding, the default output encoding of \latex, merely includes the quotation marks used in English. You will need to switch to an encoding like \acr{T1} or \acr{LY1} in order to get guillemets or baseline quotation marks. This package deliberately refrains from providing any workarounds for the \acr{OT1} legacy encoding. If you need \acr{T1} encoding for some of the quotation marks, you will most likely need it anyway to get proper hyphenation for the respective language. See \tabref{tab:out} for a list of common quotation marks included in both \acr{T1} and \acr{LY1} encoding. @@ -1309,21 +1310,21 @@ The \acr{OT1} font encoding, the default output encoding of \latex, merely inclu \cmd{guilsinglright} & \mksample[60]{\guilsinglright} \\ \bottomrule \end{tabularx} -\caption[Quotation marks]{Quotation marks included in \acr{T1} and \acr{LY1} encoding} +\caption[Quotation Marks]{Quotation Marks Included in \acr{T1} and \acr{LY1} Encoding} \label{tab:out} \end{table} -\subsection{Valid active quotes} +\subsection{Valid Active Quotes} \label{hnt:val} In general, an active quote may be any single character with category code 12 or 13, or any multibyte \utf sequence representing a single character. However, there are a few exceptions: numbers, punctuation marks, the apostrophe, the hyphen, and all characters which are part of the \latex syntax are rejected. In sum, the following characters will be considered as reserved by this package: \texttt{A--Z a--z 0--9 . , ; : ! ? \textquotesingle\ - \# \$ \% \& \textasciicircum\ \textunderscore\ \textasciigrave\, \textasciitilde\ \textbackslash\ @ \textasteriskcentered\ \{ \} [ ]} -\subsection{Invalid nesting and unbalanced active quotes} +\subsection{Invalid Nesting and Unbalanced Active Quotes} \label{hnt:grp} Every quotation forms a group which includes both the quoted piece of text and the quotation marks. This package tracks the nesting level of all quotations and thus allows for basic validation. If quotations are nested in an invalid way, it will issue an error message. Keep in mind that the active quotes are more than a convenient way to enter quotation marks. They are fully"=fledged markup elements which imply grouping as well, hence they must always be balanced and must not interfere with other group boundaries. This package ensures that an error is triggered if quotes are unbalanced or nested in an invalid way. However, note that packages generally can not catch low-level errors caused by grouping mistakes, nor do they have any control over the wording of generic error messages. -\subsection{Active quotes in special contexts} +\subsection{Active Quotes in Special Contexts} \label{hnt:mod} The commands provided by this package are designed for use in text mode. If you inadvertently use them in math mode, they will issue an error message. Note that all active quotes retain their original function in math mode. It is perfectly possible to use a character like the greater-than symbol as an active quote without interfering with math mode. @@ -1332,17 +1333,17 @@ In a verbatim context, the active quotes will normally be disabled. If a charact Some care is still required when choosing active quotes. Note that you normally cannot use active characters in the argument to commands expecting a string of characters, such as \cmd{input}, \cmd{label}, or \cmd{cite}. There are two packages which try to remedy this situation: the \sty{babel} package and the \sty{underscore} package (when loaded with the \opt{strings} option). Both packages redefine several standard commands affected by this general problem. If any one of these packages is loaded, \sty{csquotes} will take advantage of all improvements automatically. Unfortunately, both packages patch a different set of commands and neither one covers all possibly vulnerable commands. -\subsection{\pdf strings and \sty{hyperref} support} +\subsection{\pdf Strings and \sty{hyperref} Support} \label{hnt:pdf} This package interfaces with the \sty{hyperref} package as \pdf strings such as bookmarks are generated. See \secref{cfg:pdf} on how to configure the quotation marks used in \pdf strings. Support for \pdf strings is only available with the basic facilities presented in \secref{bas:reg,bas:bbl} as well as \secref{act:reg,act:bbl}. Be advised that the way \sty{hyperref} builds \pdf strings imposes severe limitations on the capabilities of all commands. Most notably, the nesting level of quotations cannot be tracked in this context. Nested quotations will generally get outer marks, but you may use starred commands or active inner quotes to request inner marks explicitly. If quotation marks are to be included in the document properties of a \pdf file, you must use \cmd{hypersetup} to specify the strings. The replacement mechanism will not function within the optional argument to \cmd{usepackage}. For information about \pdf strings see the \sty{hyperref} documentation. -\subsection{Footnotes inside quotations} +\subsection{Footnotes Inside Quotations} \label{hnt:ftn} This package will automatically reset the nesting level within any footnote included in a quotation. If the \sty{babel} or the \sty{polyglossia} package has been loaded, it will also reset the language. The language of the footnote text including the hyphenation patterns will match the language of the text surrounding the quotation. This applies to parboxes, minipages, and floats as well. -\subsection{Using \sty{csquotes} with \sty{babel}'s shorthands} +\subsection{Using \sty{csquotes} with \sty{babel}'s Shorthands} \label{hnt:bbl} The commands discussed in \secref{aut:amk} may be combined with the shorthands of the \sty{babel} package such that \sty{babel} provides the user interface and \sty{csquotes} the backend.\footnote{This also applies to the \sty{polyglossia} package if the \opt{babelshorthands} option of \sty{polyglossia} has been enabled.} For example, the German module of the \sty{babel} package defines, amongst other things, the shorthands |"`| and |"'|. Such shorthands are input aids, \ie physical markup elements with a fixed definition. Typing |"`| is a short way of saying |\quotedblbase| but it is not different in concept. These shorthands can be transformed into <smart quotes> which behave like \cmd{enquote}. Here is a simple ad~hoc solution suitable for documents with only one language: @@ -1369,19 +1370,19 @@ It is possible to move such definitions to \path{csquotes.cfg}. In this case, th % This code redefines the shorthands only if the \sty{babel} package has been loaded and the main language is \texttt{german}. Note that \sty{babel}'s shorthands are language"=specific. The way they are configured and handled is technically and conceptually different from the active quotes discussed in \secref{act}. Active quotes are defined globally and automatically adapt to the current language. With \sty{babel}, each language has its own set of shorthands. Also note that \sty{babel} uses \cmd{AtBeginDocument} to initialize the main document language, including the corresponding shorthands. We use \cmd{AtEndPreamble} to defer the code until the end of the preamble. This way, we can be sure that \sty{babel} has been loaded but that the main document language has not been initialized yet. See the \sty{babel} manual for further details. The \cmd{AtEndPreamble} command is provided by the \sty{etoolbox} package. -\subsection{Miscellaneous notes about the predefined styles} +\subsection{Miscellaneous Notes about the Predefined Styles} \label{hnt:pre} There are three styles which serve a special purpose: \opt{default}, \opt{fallback}, and \opt{debug}. The \opt{default} style is a dynamic alias pointing to the default quote style used if the multilingual interface is not enabled. The package option \opt{style} and the command \cmd{setquotestyle} will redefine this alias. The \opt{fallback} style is a backend style used as a fallback whenever the multilingual interface is enabled but there is no matching quote style for the current language. It will print bold question marks by default. The \opt{debug} style will not print quotation marks but the current quote level as a bold number. This style may be selected using the \opt{style} option or the \cmd{setquotestyle} command. It is intended for debugging only. All variants of the \opt{french} style use spaced out guillemets as outer marks. The style variant \opt{quotes} uses double quotes as inner marks. The starred variant \opt{quotes*} is similar to its regular counterpart except that it will also space out the inner marks. The \opt{guillemets} variant employs spaced out guillemets on all levels. It will also insert guillemets at the beginning of every paragraph inside a quotation spanning multiple paragraphs. In addition to that, two adjoining marks at the end of a quotation are replaced by a single one; if two nested quotations end simultaneously, the second closing mark is omitted automatically. The starred variant \opt{guillemets*} is similar to its regular counterpart, differing only in the middle mark inserted at the beginning of every paragraph. The regular variant uses a left"=pointing guillemet whereas the starred one uses a right"=pointing one. -\section{Author interface} +\section{Author Interface} \label{aut} The following sections discuss the programmer interface to the \sty{csquotes} package as well as some details of the implementation. They are intended for class and package authors who want to interface with this package. -\subsection{Controlling active quotes} +\subsection{Controlling Active Quotes} \label{aut:ctl} The author commands in this section behave essentially like the corresponding user commands discussed in \secref{act:ctl}. The only difference is that they work quietly behind the scenes without writing any notices to the transcript file. The scope of these commands is local so that all changes may be confined to a group. Note that the active quotes are enabled at the beginning of the document body. Under no circumstances will this package make any characters active in the document preamble. You will only need the following commands when dealing with active quotes at the beginning of or in the document body. @@ -1410,7 +1411,7 @@ This command implicitly executes \cmd{@disablequotes} and deallocates all active \end{ltxsyntax} -\subsection{Active quotes in a strings-only context} +\subsection{Active Quotes in a Strings-Only Context} \label{aut:str} A possible problem with active characters are strings-only contexts, i.\,e. cases in which an active character is used in the formation of a control sequence name. A typical example is the \cmd{label} command which expects a string of characters. Any active character may break \cmd{label} when used in its argument. There are two packages which try to remedy this situation, albeit in different ways: \sty{babel} and \sty{underscore}. @@ -1431,7 +1432,7 @@ This is best done in a group. If grouping is not feasible, you must ensure that % This could either be done in a group or without any grouping, but followed by \cmd{restore@protect}. The first approach works with the active characters of the \sty{babel} and the \sty{underscore} packages. The second one works with the \sty{underscore} and the \sty{at} packages. Unfortunately, the active characters of the \sty{inputenc} package support neither of the above"=mentioned techniques. As far as \sty{csquotes} is concerned, it does not matter which approach you take. In both cases all active quotes expand to themselves with category code 12. With macro-level \utf support, \utf encoded active quotes expand to a string of characters with category code 12. This string will be valid \utf. In a verbatim \cmd{write} operation, you should employ one of the techniques discussed in this section rather than \cmd{@verbatimquotes}, which is geared to verbatim typesetting. -\subsection{Block quotations} +\subsection{Block Quotations} \label{aut:blk} The block quotation facilities need to typeset all quotations twice. The first pass is required to measure the length of the quotation. The actual typesetting takes place on the second pass, in a format depending on the result of the first one. In order to prevent any side"=effects of the first (trial) pass, the \sty{csquotes} package (1) performs the first pass inside a group, (2) employs checkpointing to freeze all LaTeX counters, and (3) sets \cmd{if@filesw} to \texttt{false}. However, it can not prevent side"=effects caused by commands that (1) make any global assignments which are not overwritten on the second pass (for example, by way of \cmd{g@addto@macro}), (2) increment counters globally in a way that circumvents \latex's counter commands, or (3) do not check \cmd{if@filesw} every time they are about to write to an auxiliary file. If you observe any malfunctions related to the trial pass (for example, if counters are incremented twice or if an item appears twice in a list), use \cmd{BlockquoteDisable} to redefine or disable the affected command temporarily. @@ -1444,7 +1445,7 @@ The \prm{code} may be arbitrary \latex code which redefines vulnerable commands \end{ltxsyntax} -\subsection{Registering quotation marks} +\subsection{Registering Quotation Marks} \label{aut:sfc} In order to track punctuation marks inside quotations, this package requires that all quotation marks be transparent to the space factor, \ie that they have a space factor code of zero. This setting is specific to the output encoding. Settings for the encodings \acr{OT1}, \acr{OT2}, \acr{OT4}, \acr{T1}, \acr{LY1}, \acr{LGR}, \acr{T2A}, \acr{T2B}, \acr{T2C}, \acr{LCY}, \acr{X2}, \acr{EU1}, and \acr{EU2} are provided by default. Other encodings may be set up in the configuration file using the following command: @@ -1464,7 +1465,7 @@ The \prm{encoding} is the name of the output encoding, for example \texttt{OT1}. % The \prm{position} argument may use any notation accepted by \tex in integer assignments, \eg \texttt{171} in decimal or \verb+"00AB+ in hexadecimal notation. See the settings in \path{csquotes.def} for further examples. The advantage of registering quotes with the above command (rather than adjusting the space factor codes globally) is that the declarations are only used locally inside quotations and will not affect any other part of the document. -\subsection{Automatic quotation marks} +\subsection{Automatic Quotation Marks} \label{aut:amk} The commands in this section provide access to the automatic quotation facilities at a slightly lower level than the user commands in \secref{bas:reg,act:reg}. In contrast to the commands discussed in \secref{aut:imk}, the facilities in this section are fully"=fledged markup elements which verify the nesting level and issue an error if quotations are nested in an invalid way. They form groups and must always be balanced, see \secref{hnt:grp} for details. In other words, the facilities in this section are semantic markup elements, the ones in \secref{aut:imk} are physical markup elements. @@ -1487,7 +1488,7 @@ In terms of their function, the above commands correspond to the regular version The above commands may be used to implement an alternative user interface. For example, you can combine them with the shorthands of the \sty{babel} package such that \sty{babel} provides the user interface and \sty{csquotes} the backend. See \secref{hnt:bbl} and the \sty{babel} manual for details. -\subsection{Internal quotation marks} +\subsection{Internal Quotation Marks} \label{aut:imk} The commands in this section print the quotation marks of the current style, as defined with \cmd{DeclareQuoteStyle}, without any grouping or nesting control. The quotation marks reflect all changes to the quotation style. If the multilingual interface is enabled, they are also synced with the current language. @@ -1515,12 +1516,18 @@ Note that the initialization hooks for the respective quotation style are not ex The scope of these hooks must always be confined to a group. -\section{Revision history} +\section{Revision History} This revision history is a list of changes relevant to users of this package. Changes of a more technical nature which do not affect the user interface or the behavior of the package are not included in the list. If an entry in the revision history states that a feature has been \emph{extended}, this indicates a syntactically backwards compatible modification, such as the addition of an optional argument to an existing command. Entries stating that a feature has been \emph{modified}, \emph{renamed}, or \emph{removed} demand attention. They indicate a modification which may require changes to existing documents in some, hopefully rare, cases. The \opt{version} option from \secref{opt:opt} may be helpful in this case. The numbers on the right indicate the relevant section of this manual. \begin{changelog} +\begin{release}{5.0c}{2010-09-21} +\item Added package option \opt{csdisplay}\see{opt:opt} +\item Added \cmd{csdisplaytrue} and \cmd{csdisplayfalse}\see{opt:opt} +\item Fixed conflict with \sty{polyglossia} +\end{release} + \begin{release}{5.0b}{2010-08-06} \item Fixed issue with \sty{babel}'s active punctuation marks \end{release} @@ -1640,8 +1647,8 @@ This revision history is a list of changes relevant to users of this package. Ch \end{release} \begin{release}{4.0}{2008-03-02} -\item \etex now mandatory requirement\see{int:req} -\item New dependency on \sty{etoolbox} package\see{int:req} +\item \etex now mandatory requirement +\item New dependency on \sty{etoolbox} package \item Added package option \opt{spanish}\see{opt:opt} \item Added variant \opt{mexican} to style \opt{spanish}\see{opt:opt} \item Removed variant \opt{oldstyle} from \opt{english} style\see{opt:opt} diff --git a/Master/texmf-dist/tex/latex/csquotes/csq-compat.def b/Master/texmf-dist/tex/latex/csquotes/csq-compat.def index d787fe51902..c530a7e89a0 100644 --- a/Master/texmf-dist/tex/latex/csquotes/csq-compat.def +++ b/Master/texmf-dist/tex/latex/csquotes/csq-compat.def @@ -1,7 +1,7 @@ -% $Id: csq-compat.def,v 5.0b 2010/08/06 18:16:03 lehman stable $ +% $Id: csq-compat.def,v 5.0c 2010/09/21 18:17:28 lehman stable $ \ProvidesFile{csquotes.def} -[\csq@rcsid $Id: csq-compat.def,v 5.0b 2010/08/06 18:16:03 lehman stable $ +[\csq@rcsid $Id: csq-compat.def,v 5.0c 2010/09/21 18:17:28 lehman stable $ csquotes backwards compatibility] \def\csq@getversion#1{% diff --git a/Master/texmf-dist/tex/latex/csquotes/csquotes.cfg b/Master/texmf-dist/tex/latex/csquotes/csquotes.cfg index 39953d0b3b1..616515b3f13 100644 --- a/Master/texmf-dist/tex/latex/csquotes/csquotes.cfg +++ b/Master/texmf-dist/tex/latex/csquotes/csquotes.cfg @@ -1,4 +1,4 @@ -% $Id: csquotes.cfg,v 5.0b 2010/08/06 18:16:03 lehman stable $ +% $Id: csquotes.cfg,v 5.0c 2010/09/21 18:17:28 lehman stable $ \ProvidesFile{csquotes.cfg} diff --git a/Master/texmf-dist/tex/latex/csquotes/csquotes.def b/Master/texmf-dist/tex/latex/csquotes/csquotes.def index f5611ca08e8..ce1a04725ef 100644 --- a/Master/texmf-dist/tex/latex/csquotes/csquotes.def +++ b/Master/texmf-dist/tex/latex/csquotes/csquotes.def @@ -1,7 +1,7 @@ -% $Id: csquotes.def,v 5.0b 2010/08/06 18:16:03 lehman stable $ +% $Id: csquotes.def,v 5.0c 2010/09/21 18:17:28 lehman stable $ \ProvidesFile{csquotes.def} -[\csq@rcsid $Id: csquotes.def,v 5.0b 2010/08/06 18:16:03 lehman stable $ +[\csq@rcsid $Id: csquotes.def,v 5.0c 2010/09/21 18:17:28 lehman stable $ csquotes generic definitions] % Set defaults @@ -228,7 +228,6 @@ \DeclareQuoteAlias{brazilian}{brazil} \DeclareQuoteAlias{british}{UKenglish} \DeclareQuoteAlias{british}{ukenglish} -\DeclareQuoteAlias{french}{frenchb} \DeclareQuoteAlias{german}{ngerman} \DeclareQuoteAlias{austrian}{naustrian} \DeclareQuoteAlias{norwegian}{norsk} diff --git a/Master/texmf-dist/tex/latex/csquotes/csquotes.sty b/Master/texmf-dist/tex/latex/csquotes/csquotes.sty index a29534c45f3..9faf582a3c8 100644 --- a/Master/texmf-dist/tex/latex/csquotes/csquotes.sty +++ b/Master/texmf-dist/tex/latex/csquotes/csquotes.sty @@ -1,4 +1,4 @@ -% $Id: csquotes.sty,v 5.0b 2010/08/06 18:16:03 lehman stable $ +% $Id: csquotes.sty,v 5.0c 2010/09/21 18:17:28 lehman stable $ % Copyright (c) 2003-2010 Philipp Lehman. % @@ -16,9 +16,9 @@ \def\csq@rcsid$#1: #2 #3 #4 #5${#4 v#3} -\NeedsTeXFormat{LaTeX2e} +\NeedsTeXFormat{LaTeX2e}[2005/12/01] \ProvidesPackage{csquotes} -[\csq@rcsid $Id: csquotes.sty,v 5.0b 2010/08/06 18:16:03 lehman stable $ +[\csq@rcsid $Id: csquotes.sty,v 5.0c 2010/09/21 18:17:28 lehman stable $ context-sensitive quotations] \def\csq@version$#1: #2.#3 ${#2#3} @@ -72,9 +72,10 @@ %% Category codes -\def\csq@docatcodes{\do\~\do\&\do\:\do\"\do\<\do\>} -\def\do#1{\noexpand\do\noexpand#1{\the\catcode`#1}} -\edef\csq@docatcodes{\csq@docatcodes} +\def\csq@catcodes{\do\~\do\&\do\:\do\"\do\<\do\>} +\def\do#1{\catcode\number`#1=\the\catcode`#1\relax} +\edef\csq@catcodes{\csq@catcodes} +\let\do\noexpand \catcode`\~=\active \catcode`\&=3 @@ -83,11 +84,14 @@ \@makeother\< \@makeother\> -%% General things +%% General -\newtoggle{csq@block} +\newtoggle{csq@temp} \newtoggle{csq@quiet} \newtoggle{csq@active} +\newtoggle{csq@block} +\newtoggle{csq@parbox} +\newbool{csdisplay} \newcount\csq@reset \newcount\csq@gtype @@ -447,6 +451,9 @@ %% Closing marks \protected\def\csq@qclose{% + \csq@qclose@i{}} + +\def\csq@qclose@i{% \ifnum\csq@qlevel=\z@ \csq@mismatch{% Cannot close any quote. The current level is 0}% @@ -455,13 +462,13 @@ \csq@eqerror \else \expandafter\expandafter - \expandafter\csq@qclose@i + \expandafter\csq@qclose@ii \fi \fi} -\def\csq@qclose@i{% +\def\csq@qclose@ii#1{% \ifdim\lastkern=\csq@omitmarker - \csq@eqgroup + #1\csq@eqgroup \else \csq@addkern@close \ifodd\csq@qlevel @@ -472,6 +479,7 @@ \let\csq@kernchar@i\csq@thequote@iclose \fi \csq@setmarker@close + \ifblank{#1}{}{\expandafter#1}% \expandafter\csq@eqgroup \expandafter\def \expandafter\csq@kernchar@i @@ -511,9 +519,9 @@ \csq@tempa} \appto\@parboxrestore{% - \let\csq@bquote@i\csq@bquote@ii \let\csq@theeverypar\@empty \csq@qlevel\z@ + \toggletrue{csq@parbox}% \togglefalse{csq@block}} %% Restore kerning @@ -774,13 +782,15 @@ \def\csq@resetlang{% \ifdef\csq@mainlang - {\csuse{otherlanguage*}{\csq@mainlang}} + {\csuse{otherlanguage*}{\csq@mainlang}}% FIXME {}} \protected\long\def\csq@switchlang#1{% \ifdef\csq@mainlang {\begingroup - \csuse{otherlanguage*}{\csq@mainlang}#1% + \csuse{otherlanguage*}{\csq@mainlang}% + #1% + \csuse{endotherlanguage*}% \endgroup} {#1}} @@ -789,6 +799,8 @@ \def\csq@lang#1{% \csq@savelang \lowercase{\csuse{otherlanguage*}{#1}}} +\def\csq@endlang{% + \csuse{endotherlanguage*}} \def\csq@nolang#1{% \begingroup @@ -799,6 +811,7 @@ \def\csq@hyph#1{% \csq@savelang \lowercase{\csq@hyphenrules{#1}}} +\let\csq@endhyph\@empty \def\csq@nohyph#1{% \begingroup @@ -851,8 +864,11 @@ \csq@warn@multilang{Cannot adjust default style}% \fi \csq@reset\z@ - \let\csq@lang\csq@nolang \let\csq@hyph\csq@nohyph + \let\csq@endhyph\@empty + \let\csq@lang\csq@nolang + \let\csq@endlang\@empty + \let\csq@switchlang\@firstofone \def\csq@resetqstyle{% \csq@warn@multilang{Cannot enable multilingual quotes}}} @@ -955,26 +971,28 @@ % Plain quotes \newrobustcmd*{\enquote}{% - \@ifstar{\csq@quote@ii{}}{\csq@quote@i{}}} + \@ifstar{\csq@quote@ii{}{}}{\csq@quote@i{}{}}} + +% {<init>}{<endinit>}{<text>} -\long\def\csq@quote@i#1#2{% - \csq@bqgroup #1\csq@oqopen@i #2\csq@qclose} -\long\def\csq@quote@ii#1#2{% - \csq@bqgroup #1\csq@iqopen@i #2\csq@qclose} +\long\def\csq@quote@i#1#2#3{% + \csq@bqgroup#1\csq@oqopen@i#3\csq@qclose@i{#2}} +\long\def\csq@quote@ii#1#2#3{% + \csq@bqgroup#1\csq@iqopen@i#3\csq@qclose@i{#2}} % Plain quotes + language switching \newrobustcmd*{\foreignquote}{% \@ifstar\csq@fquote@ii\csq@fquote@i} -\def\csq@fquote@i#1{\csq@quote@i{\csq@lang{#1}}} -\def\csq@fquote@ii#1{\csq@quote@ii{\csq@lang{#1}}} +\def\csq@fquote@i#1{\csq@quote@i{\csq@lang{#1}}{\csq@endlang}} +\def\csq@fquote@ii#1{\csq@quote@ii{\csq@lang{#1}}{\csq@endlang}} \newrobustcmd*{\hyphenquote}{% \@ifstar\csq@hquote@ii\csq@hquote@i} -\def\csq@hquote@i#1{\csq@quote@i{\csq@hyph{#1}}} -\def\csq@hquote@ii#1{\csq@quote@ii{\csq@hyph{#1}}} +\def\csq@hquote@i#1{\csq@quote@i{\csq@hyph{#1}}{\csq@endhyph}} +\def\csq@hquote@ii#1{\csq@quote@ii{\csq@hyph{#1}}{\csq@endhyph}} % PDF strings @@ -1010,30 +1028,30 @@ \newrobustcmd*{\textquote}{% \@ifstar - {\csq@getcargs{\csq@tquote{}{\csq@iqopen}}} - {\csq@getcargs{\csq@tquote{}{\csq@oqopen}}}} + {\csq@getcargs{\csq@tquote{}{}{\csq@iqopen@i}}} + {\csq@getcargs{\csq@tquote{}{}{\csq@oqopen@i}}}} -% {<init>}{<qopen>}{<citehook>}{<cite>}{<punct>}{<text>} +% {<init>}{<endinit>}{<qopen>}{<citehook>}{<cite>}{<punct>}{<text>} -\long\def\csq@tquote#1#2#3#4#5#6{% - \csq@getpunct{\csq@tquote@i{#1}{#2}{#3}{#4}{#5}{#6}}} +\long\def\csq@tquote#1#2#3#4#5#6#7{% + \csq@getpunct{\csq@tquote@i{#1}{#2}{#3}{#4}{#5}{#6}{#7}}} -% {<init>}{<qopen>}{<citehook>}{<cite>}{<punct>}{<text>}{<apunct>}<tpunct> +% {<init>}{<endinit>}{<qopen>}{<citehook>}{<cite>}{<punct>}{<text>}{<apunct>}<tpunct> -\long\def\csq@tquote@i#1#2#3#4#5#6#7#8{% +\long\def\csq@tquote@i#1#2#3#4#5#6#7#8#9{% \begingroup \csq@setsfcodes \edef\csq@tempa{% \unexpanded{% \mktextquote - {#2}% - {#6}% - {\csq@qclose}% - {#5}{#7}}% - {\ifblank{#4} + {#3}% + {#7}% + {\csq@qclose@i{#2}}% + {#6}{#8}}% + {\ifblank{#5} {} - {\unexpanded{\csq@switchlang{#3{#4}}}}}}% - #1\csq@tempa#8% + {\unexpanded{\csq@switchlang{#4{#5}}}}}}% + \csq@bqgroup#1\csq@tempa#9% \endgroup} % {<qopen>}{<text>}{<qclose>}{<punct>}{<apunct>}{<cite>} @@ -1046,24 +1064,24 @@ \@ifstar\csq@ftquote@ii\csq@ftquote@i} \def\csq@ftquote@i#1{% - \csq@getcargs{\csq@tquote{\csq@lang{#1}}{\csq@oqopen}}} + \csq@getcargs{\csq@tquote{\csq@lang{#1}}{\csq@endlang}{\csq@oqopen@i}}} \def\csq@ftquote@ii#1{% - \csq@getcargs{\csq@tquote{\csq@lang{#1}}{\csq@iqopen}}} + \csq@getcargs{\csq@tquote{\csq@lang{#1}}{\csq@endlang}{\csq@iqopen@i}}} \newrobustcmd*{\hyphentextquote}{% \@ifstar\csq@htquote@ii\csq@htquote@i} \def\csq@htquote@i#1{% - \csq@getcargs{\csq@tquote{\csq@hyph{#1}}{\csq@oqopen}}} + \csq@getcargs{\csq@tquote{\csq@hyph{#1}}{\csq@endhyph}{\csq@oqopen@i}}} \def\csq@htquote@ii#1{% - \csq@getcargs{\csq@tquote{\csq@hyph{#1}}{\csq@iqopen}}} + \csq@getcargs{\csq@tquote{\csq@hyph{#1}}{\csq@endhyph}{\csq@iqopen@i}}} % Integrated text quotes \newrobustcmd*{\textcquote}{% \@ifstar - {\csq@getccargs{\csq@tquote{}{\csq@iqopen}}} - {\csq@getccargs{\csq@tquote{}{\csq@oqopen}}}} + {\csq@getccargs{\csq@tquote{}{}{\csq@iqopen@i}}} + {\csq@getccargs{\csq@tquote{}{}{\csq@oqopen@i}}}} % Integrated text quotes + language switching @@ -1071,17 +1089,17 @@ \@ifstar\csq@ftcquote@ii\csq@ftcquote@i} \def\csq@ftcquote@i#1{% - \csq@getccargs{\csq@tquote{\csq@lang{#1}}{\csq@oqopen}}} + \csq@getccargs{\csq@tquote{\csq@lang{#1}}{\csq@endlang}{\csq@oqopen@i}}} \def\csq@ftcquote@ii#1{% - \csq@getccargs{\csq@tquote{\csq@lang{#1}}{\csq@iqopen}}} + \csq@getccargs{\csq@tquote{\csq@lang{#1}}{\csq@endlang}{\csq@iqopen@i}}} \newrobustcmd*{\hyphentextcquote}{% \@ifstar\csq@htcquote@ii\csq@htcquote@i} \def\csq@htcquote@i#1{% - \csq@getccargs{\csq@tquote{\csq@hyph{#1}}{\csq@oqopen}}} + \csq@getccargs{\csq@tquote{\csq@hyph{#1}}{\csq@endhyph}{\csq@oqopen@i}}} \def\csq@htcquote@ii#1{% - \csq@getccargs{\csq@tquote{\csq@hyph{#1}}{\csq@iqopen}}} + \csq@getccargs{\csq@tquote{\csq@hyph{#1}}{\csq@endhyph}{\csq@iqopen@i}}} % PDF strings @@ -1096,44 +1114,50 @@ % Block quotes \newrobustcmd*{\blockquote}{% - \csq@getcargs{\csq@bquote{}}} + \csq@getcargs{\csq@bquote{}{}}} -% {<init>}{<citehook>}{<cite>}{<punct>}{<text>} +% {<init>}{<endinit>}{<citehook>}{<cite>}{<punct>}{<text>} -\long\def\csq@bquote#1#2#3#4#5{% +\long\def\csq@bquote#1#2#3#4#5#6{% \csq@ifnested {\csq@err@nbquote} {\csq@getpunct{% - \ifbool{inner}{\csq@bquote@ii}{\csq@bquote@i}% - {#1}{#2}{#3}{#4}{#5}}}} + \ifbool{inner} + {\csq@bquote@ii} + {\ifbool{csdisplay} + {\csq@bquote@i} + {\iftoggle{csq@parbox}\csq@bquote@ii\csq@bquote@i}}% + {#1}{#2}{#3}{#4}{#5}{#6}}}} -% {<init>}{<citehook>}{<cite>}{<punct>}{<text>}{<apunct>}<tpunct> +% {<init>}{<endinit>}{<citehook>}{<cite>}{<punct>}{<text>}{<apunct>}<tpunct> -\long\def\csq@bquote@i#1#2#3#4#5{% +\long\def\csq@bquote@i#1#2#3#4#5#6{% \begingroup \@blockquote@prehook \@fileswfalse \let\csq@bslash\\% \let\csq@newline\newline - \togglefalse{csq@block}% - \def\csq@isblock{\toggletrue{csq@block}}% + \togglefalse{csq@temp}% \setbox\@tempboxa=\vbox{% - \def\par{\aftergroup\csq@isblock\@par}% - \def\\{\aftergroup\csq@isblock\let\\\csq@bslash\\}% - \def\newline{\aftergroup\csq@isblock + \def\par{% + \global\toggletrue{csq@temp}\@par}% + \def\\{% + \global\toggletrue{csq@temp}% + \let\\\csq@bslash\\}% + \def\newline{% + \global\toggletrue{csq@temp}% \let\newline\csq@newline\newline}% - \parfillskip\z@ \@plus 1fil\relax - \parindent\z@ - \vrule \@height1\baselineskip \@width\z@ #1#5#4}% + \parfillskip\z@\@plus 1fil\relax\parindent\z@ + \vrule\@height1\baselineskip\@width\z@ #1#6#5#2}% \ifdim\ht\@tempboxa>\csq@tshold\baselineskip - \toggletrue{csq@block}% + \toggletrue{csq@temp}% \fi - \iftoggle{csq@block} + \iftoggle{csq@temp} {\aftergroup\@firstoftwo} {\aftergroup\@secondoftwo}% \@blockquote@posthook \endgroup - \csq@bquote@iii\csq@bquote@ii{#1}{#2}{#3}{#4}{#5}} + \csq@bquote@iii\csq@bquote@ii{#1}{#2}{#3}{#4}{#5}{#6}} \newrobustcmd*{\BlockquoteDisable}{% \gappto\@blockquote@prehook} @@ -1158,23 +1182,25 @@ \let\csq@nbgobble\@firstofone -% {<init>}{<citehook>}{<cite>}{<punct>}{<text>}{<apunct>}<tpunct> +% {<init>}{<endinit>}{<citehook>}{<cite>}{<punct>}{<text>}{<apunct>}<tpunct> + +\def\csq@bquote@ii#1#2{\csq@tquote@i{#1}{#2}{\csq@oqopen@i}} -\def\csq@bquote@ii#1{\csq@tquote@i{#1}{\csq@oqopen}} +% {<init>}{<endinit>}{<citehook>}{<cite>}{<punct>}{<text>}{<apunct>}<tpunct> -\long\def\csq@bquote@iii#1#2#3#4#5#6#7{% +\long\def\csq@bquote@iii#1#2#3#4#5#6#7#8{% \begin{\csq@blockenvironment}% - \csq@setsfcodes \toggletrue{csq@block}% + \csq@setsfcodes \edef\csq@tempa{% \unexpanded{% \mkblockquote - {#5}% - {#4}{#6}}% - {\ifblank{#3} + {#6}% + {#5}{#7}}% + {\ifblank{#4} {} - {\unexpanded{\csq@switchlang{#2{#3}}}}}}% - #1\csq@tempa#7% + {\unexpanded{\csq@switchlang{#3{#4}}}}}}% + #1\csq@tempa#8#2% \end{\csq@blockenvironment}} % {<text>}{<punct>}{<apunct>}{<cite>} @@ -1184,31 +1210,35 @@ % Block quotes + language switching \newrobustcmd*{\foreignblockquote}[1]{% - \csq@getcargs{\csq@bquote{\csq@lang{#1}}}} + \csq@getcargs{\csq@bquote{\csq@lang{#1}}{\csq@endlang}}} \newrobustcmd*{\hyphenblockquote}[1]{% - \csq@getcargs{\csq@bquote{\csq@hyph{#1}}}} + \csq@getcargs{\csq@bquote{\csq@hyph{#1}}{\csq@endhyph}}} \newrobustcmd*{\hybridblockquote}[1]{% - \csq@getcargs{\csq@bquote{% - \iftoggle{csq@block}\csq@lang\csq@hyph{#1}}}} + \csq@getcargs{% + \csq@bquote + {\iftoggle{csq@block}{\csq@lang}{\csq@hyph}{#1}} + {\iftoggle{csq@block}{\csq@endlang}{\csq@endhyph}}}} % Integrated block quotes \newrobustcmd*{\blockcquote}{% - \csq@getccargs{\csq@bquote{}}} + \csq@getccargs{\csq@bquote{}{}}} % Integrated block quotes + language switching \newrobustcmd*{\foreignblockcquote}[1]{% - \csq@getccargs{\csq@bquote{\csq@lang{#1}}}} + \csq@getccargs{\csq@bquote{\csq@lang{#1}}{\csq@endlang}}} \newrobustcmd*{\hyphenblockcquote}[1]{% - \csq@getccargs{\csq@bquote{\csq@hyph{#1}}}} + \csq@getccargs{\csq@bquote{\csq@hyph{#1}}{\csq@endhyph}}} \newrobustcmd*{\hybridblockcquote}[1]{% - \csq@getccargs{\csq@bquote{% - \iftoggle{csq@block}\csq@lang\csq@hyph{#1}}}} + \csq@getccargs{% + \csq@bquote + {\iftoggle{csq@block}{\csq@lang}{\csq@hyph}{#1}} + {\iftoggle{csq@block}{\csq@endlang}{\csq@endhyph}}}} % PDF strings @@ -1223,25 +1253,24 @@ % Display quotes \newenvironment*{displayquote} - {\csq@getcargs{\csq@bdquote{}}} + {\csq@getcargs{\csq@bdquote{}{}}} {\csq@edquote} -% {<init>}{<citehook>}{<cite>}{<punct>} +% {<init>}{<endinit>}{<citehook>}{<cite>}{<punct>} -\def\csq@bdquote#1#2#3#4{% +\def\csq@bdquote#1#2#3#4#5{% \csuse{\csq@blockenvironment}% - \csq@setsfcodes \toggletrue{csq@block}% - #1\ifblank{#3} - {\def\csq@tempb{\mkenddispquote{#4}{}}% - \mkbegdispquote{#4}{}} - {\def\csq@tempb{\mkenddispquote{#4}{\csq@switchlang{#2{#3}}}}% - \mkbegdispquote{#4}{\csq@switchlang{#2{#3}}}}% + \csq@setsfcodes + #1\ifblank{#4} + {\def\csq@tempb{\mkenddispquote{#5}{}#2}% + \mkbegdispquote{#5}{}} + {\def\csq@tempb{\mkenddispquote{#5}{\csq@switchlang{#3{#4}}}#2}% + \mkbegdispquote{#5}{\csq@switchlang{#3{#4}}}}% \ignorespaces} \def\csq@edquote{% - \unspace - \csq@tempb + \unspace\csq@tempb \csuse{end\csq@blockenvironment}} \providerobustcmd*{\unspace}{% @@ -1261,27 +1290,27 @@ % Display quotes + language switching \newenvironment*{foreigndisplayquote}[1] - {\csq@getcargs{\csq@bdquote{\csq@lang{#1}}}} + {\csq@getcargs{\csq@bdquote{\csq@lang{#1}}{\csq@endlang}}} {\csq@edquote} \newenvironment*{hyphendisplayquote}[1] - {\csq@getcargs{\csq@bdquote{\csq@hyph{#1}}}} + {\csq@getcargs{\csq@bdquote{\csq@hyph{#1}}{\csq@endhyph}}} {\csq@edquote} % Integrated display quotes \newenvironment*{displaycquote} - {\csq@getccargs{\csq@bdquote{}}} + {\csq@getccargs{\csq@bdquote{}{}}} {\csq@edquote} % Integrated display quotes + language switching \newenvironment*{foreigndisplaycquote}[1] - {\csq@getccargs{\csq@bdquote{\csq@lang{#1}}}} + {\csq@getccargs{\csq@bdquote{\csq@lang{#1}}{\csq@endlang}}} {\csq@edquote} \newenvironment*{hyphendisplaycquote}[1] - {\csq@getccargs{\csq@bdquote{\csq@hyph{#1}}}} + {\csq@getccargs{\csq@bdquote{\csq@hyph{#1}}{\csq@endhyph}}} {\csq@edquote} % Hooks @@ -1388,7 +1417,7 @@ \let\csq@mkpdfstrings\@empty \appto\csq@hook@hyperref{\csq@mkpdfstrings} -\ifdef\inpenc@prehook % inputenc 2006/05/05 v1.1b +\ifdef\inpenc@prehook {\AtBeginDocument{% \addto@hook\inpenc@prehook{% \csq@info{Input encoding change}% @@ -1678,7 +1707,7 @@ {\csq@err@char \@gobbletwo}}} -\ifundef\inputencodingname % inputenc >= 2006/05/05 v1.1b, inputenx +\ifundef\inputencodingname {\def\csq@ifutfenc{% \csq@ifucs {\csq@err@ucs\@secondoftwo} @@ -1803,7 +1832,9 @@ \csq@addspecial{#3} {\csq@bqgroup\csq@lang{#2}#1} {\csq@pdf@ooqmark}{}% - \csq@addspecial{#4}{\csq@qclose}{\csq@pdf@coqmark}{}} + \csq@addspecial{#4} + {\csq@qclose@i{\csq@endlang}} + {\csq@pdf@coqmark}{}} \newrobustcmd*{\MakeHyphenQuote}{% \@ifstar @@ -1813,22 +1844,26 @@ \csq@addspecial{#3} {\csq@bqgroup\csq@hyph{#2}#1} {\csq@pdf@ooqmark}{}% - \csq@addspecial{#4}{\csq@qclose}{\csq@pdf@coqmark}{}} + \csq@addspecial{#4} + {\csq@qclose@i{\csq@endhyph}} + {\csq@pdf@coqmark}{}} \newrobustcmd*{\MakeBlockQuote}[3]{% - \csq@addbspecial{#1}{#2}{#3}{\csq@bquote{}{\mkcitation}}} + \csq@addbspecial{#1}{#2}{#3}{\csq@bquote{}{}{\mkcitation}}} \newrobustcmd*{\MakeForeignBlockQuote}[4]{% \csq@addbspecial{#2}{#3}{#4}% - {\csq@bquote{\csq@lang{#1}}{\mkcitation}}} + {\csq@bquote{\csq@lang{#1}}{\csq@endlang}{\mkcitation}}} \newrobustcmd*{\MakeHyphenBlockQuote}[4]{% \csq@addbspecial{#2}{#3}{#4}% - {\csq@bquote{\csq@hyph{#1}}{\mkcitation}}} + {\csq@bquote{\csq@hyph{#1}}{\csq@endhyph}{\mkcitation}}} \newrobustcmd*{\MakeHybridBlockQuote}[4]{% \csq@addbspecial{#2}{#3}{#4}% - {\csq@bquote{\iftoggle{csq@block}\csq@lang\csq@hyph{#1}}% + {\csq@bquote + {\iftoggle{csq@block}{\csq@lang}{\csq@hyph}{#1}} + {\iftoggle{csq@block}{\csq@endlang}{\csq@endhyph}} {\mkcitation}}} \newrobustcmd*{\EnableQuotes}{} @@ -2223,7 +2258,7 @@ \csq@reset4\relax} \define@key{csq}{babel}[true]{% - \csq@warning{% + \csq@info{% Option 'babel' depreciated.\MessageBreak Using 'autostyle'}% \setkeys{csq}{autostyle=#1}} @@ -2239,6 +2274,9 @@ {\input{csq-compat.def}}% \csq@getversion{#1}} +\define@key{csq}{csdisplay}[true]{% + \setbool{csdisplay}{#1}} + %% Initial setup % Provide 'quote' environment @@ -2312,10 +2350,8 @@ % Restore catcodes -\def\do#1#2{\catcode`#1=#2\relax} -\csq@docatcodes -\undef\csq@docatcodes -\let\do\noexpand +\csq@catcodes +\undef\csq@catcodes % Load predefined styles |