summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/nestquot/nestquot.sty
blob: abc00ea74c8d1a8adb5267fe4c74aa101f952276 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
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