summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/nestquot
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/nestquot
Initial commit
Diffstat (limited to 'macros/latex/contrib/nestquot')
-rw-r--r--macros/latex/contrib/nestquot/nestquot.sty85
1 files changed, 85 insertions, 0 deletions
diff --git a/macros/latex/contrib/nestquot/nestquot.sty b/macros/latex/contrib/nestquot/nestquot.sty
new file mode 100644
index 0000000000..abc00ea74c
--- /dev/null
+++ b/macros/latex/contrib/nestquot/nestquot.sty
@@ -0,0 +1,85 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{nestquot}[1999/12/10 V 0.1 Nested Quotes]
+%
+% nestquot provides two new commands: \nlq and \nrq for nesting left
+% and right quotes that properly change between double and single
+% quotes according to their nesting level, e. g. the input
+% \nlq Foo \nlq bar\nrq\ bletch\nrq
+% will be typeset as if it had been entered as
+% ``Foo `bar' bletch''
+%
+% nestquot provides four options:
+%
+% german uses german quotes
+% french uses guillemets pointing outward
+% guillemet uses guillemets pointing inward, as it is usual in german
+% typesetting. (Note that this is ``guillemet'' without an
+% ``o''. Just beacause Adobe can't spell doesn't mean that
+% we should, too.)
+% dq if nestquot.sty is loaded after german.sty, the quotes "`
+% and "' are redefined to \nlq and \nrq
+%
+% Copyright (c) 1999 by Florian Hars, florian@hars.de
+% All rights reserved.
+%
+% Redistribution and use in source and binary forms, with or without
+% modification, are permitted provided that the following conditions
+% are met:
+% 1. Redistributions of source code must retain the above copyright
+% notice, this list of conditions and the following disclaimer.
+% 2. Redistributions in binary form must reproduce the above copyright
+% notice, this list of conditions and the following disclaimer in the
+% documentation and/or other materials provided with the distribution.
+% 3. Neither the name of the author nor the names of its contributors
+% may be used to endorse or promote products derived from this software
+% without specific prior written permission.
+%
+% THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+% ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+% IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+% PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
+% BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+% CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+% SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+% BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+% WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+% OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+% IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+%
+\newif\ifn@stquote\n@stquotefalse
+\DeclareRobustCommand{\nlq}{\ifn@stquote\n@lq\n@stquotefalse
+ \else\n@lqq\n@stquotetrue\fi}%
+\DeclareRobustCommand{\nrq}{\ifn@stquote\n@rqq\n@stquotefalse
+ \else\n@rq\n@stquotetrue\fi}
+\newcommand{\n@lqq}{``}%
+\newcommand{\n@lq}{`}%
+\newcommand{\n@rqq}{''}%
+\newcommand{\n@rq}{'}%
+\DeclareOption{german}{%
+\renewcommand{\n@lqq}{\glqq}%
+\renewcommand{\n@lq}{\glq}%
+\renewcommand{\n@rqq}{\grqq}%
+\renewcommand{\n@rq}{\grq}%
+}%
+\DeclareOption{french}{%
+\renewcommand{\n@lqq}{\flqq}%
+\renewcommand{\n@lq}{\flq}%
+\renewcommand{\n@rqq}{\frqq}%
+\renewcommand{\n@rq}{\frq}%
+}%
+\DeclareOption{guillemet}{%
+\renewcommand{\n@lqq}{\frqq}%
+\renewcommand{\n@lq}{\frq}%
+\renewcommand{\n@rqq}{\flqq}%
+\renewcommand{\n@rq}{\flq}%
+}%
+\DeclareOption{dq}{%
+\ifx\def@dqmacro\@undefined
+ \PackageWarning{nestquot}{Option `kurz' requires the use of german.sty}%
+\else
+ \def@dqmacro{`}{\nlq}{\nlq}%
+ \def@dqmacro{'}{\nrq}{\nrq}%
+\fi
+}%
+\ProcessOptions\relax
+