texinfo-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

texinfo update (Sun Jul 15 07:53:01 EDT 2007)


From: Karl Berry
Subject: texinfo update (Sun Jul 15 07:53:01 EDT 2007)
Date: Sun, 15 Jul 2007 07:53:03 -0400

Index: ChangeLog
===================================================================
RCS file: /sources/texinfo/texinfo/ChangeLog,v
retrieving revision 1.732
retrieving revision 1.733
diff -u -r1.732 -r1.733
--- ChangeLog   15 Jul 2007 00:51:04 -0000      1.732
+++ ChangeLog   15 Jul 2007 11:51:12 -0000      1.733
@@ -1,3 +1,24 @@
+2007-07-15  Oleg Katsitadze  <address@hidden>
+
+       * doc/texinfo.tex (\quotedblleft, \quotedblright, \quoteleft, 
\quoteright):
+       aliases for the quotation marks from the CM fonts.
+       (\guillemetleft, \guillemotleft, \guillemetright, \guillemotright, 
\guilsinglleft, \guilsinglright, \quotedblbase, \quotesinglbase):
+       new macros to borrow quotation marks from the EC fonts.  The
+       following font macros support these glyphs.
+       (\ecfont): new macro to switch to a EC font as close as possible
+       to the current style.
+       (\textecsize, \smallecsize, \smallerecsize, titleecsize, \chapecsize, 
\sececsize, \ssececsize, \reducedecsize):
+       new macros to store EC font name sizes.
+       * makeinfo/cmds.c, makeinfo/cmds.h: added defs for the new quotation 
marks.
+       * makeinfo/lang.c (cm_special_char): added guillemetleft,
+       guillemotleft, guillemetright, guillemotright.
+       * util/texinfo.dtd (lsquo, rsquo, sbquo, bdquo, laquo, raquo, lsaquo, 
rsaquo):
+       entities for the new quotation marks.
+       * doc/texinfo.txi (Inserting Quotation Marks): new section.
+       (General Syntactic Conventions): moved quotation mark syntax to
+       Inserting Quotation Marks.
+       (Preparing for TeX): added info on installation of EC and Euro fonts.
+
 2007-07-14  Karl Berry  <address@hidden>
 
        * doc/texinfo.txi (@copying, GNU Sample Texts),
Index: doc/texinfo.tex
===================================================================
RCS file: /sources/texinfo/texinfo/doc/texinfo.tex,v
retrieving revision 1.251
retrieving revision 1.252
diff -u -r1.251 -r1.252
--- doc/texinfo.tex     10 Jul 2007 00:22:59 -0000      1.251
+++ doc/texinfo.tex     15 Jul 2007 11:51:12 -0000      1.252
@@ -3,7 +3,7 @@
 % Load plain if necessary, i.e., if running under initex.
 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
 %
-\def\texinfoversion{2007-07-09.17}
+\def\texinfoversion{2007-07-15.14}
 %
 % Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, 2007,
 % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
@@ -1950,6 +1950,7 @@
 \setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT}
 \font\texti=cmmi10 scaled \mainmagstep
 \font\textsy=cmsy10 scaled \mainmagstep
+\def\textecsize{1095}
 
 % A few fonts for @defun names and args.
 \setfont\defbf\bfshape{10}{\magstep1}{OT1}
@@ -1969,6 +1970,7 @@
 \setfont\smallttsl\ttslshape{10}{900}{OT1TT}
 \font\smalli=cmmi9
 \font\smallsy=cmsy9
+\def\smallecsize{0900}
 
 % Fonts for small examples (8pt).
 \def\smallernominalsize{8pt}
@@ -1982,6 +1984,7 @@
 \setfont\smallerttsl\ttslshape{10}{800}{OT1TT}
 \font\smalleri=cmmi8
 \font\smallersy=cmsy8
+\def\smallerecsize{0800}
 
 % Fonts for title page (20.4pt):
 \def\titlenominalsize{20pt}
@@ -1997,6 +2000,7 @@
 \font\titlesy=cmsy10 scaled \magstep4
 \def\authorrm{\secrm}
 \def\authortt{\sectt}
+\def\titleecsize{2074}
 
 % Chapter (and unnumbered) fonts (17.28pt).
 \def\chapnominalsize{17pt}
@@ -2010,6 +2014,7 @@
 \setfont\chapsc\scbshape{10}{\magstep3}{OT1}
 \font\chapi=cmmi12 scaled \magstep2
 \font\chapsy=cmsy10 scaled \magstep3
+\def\chapecsize{1728}
 
 % Section fonts (14.4pt).
 \def\secnominalsize{14pt}
@@ -2023,6 +2028,7 @@
 \setfont\secsc\scbshape{10}{\magstep2}{OT1}
 \font\seci=cmmi12 scaled \magstep1
 \font\secsy=cmsy10 scaled \magstep2
+\def\sececsize{1440}
 
 % Subsection fonts (13.15pt).
 \def\ssecnominalsize{13pt}
@@ -2036,6 +2042,7 @@
 \setfont\ssecsc\scbshape{10}{1315}{OT1}
 \font\sseci=cmmi12 scaled \magstephalf
 \font\ssecsy=cmsy10 scaled 1315
+\def\ssececsize{1200}
 
 % Reduced fonts for @acro in text (10pt).
 \def\reducednominalsize{10pt}
@@ -2049,6 +2056,7 @@
 \setfont\reducedttsl\ttslshape{10}{1000}{OT1TT}
 \font\reducedi=cmmi10
 \font\reducedsy=cmsy10
+\def\reducedecsize{1000}
 
 % reset the current fonts
 \textfonts
@@ -2075,6 +2083,7 @@
 \setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT}
 \font\texti=cmmi10 scaled \mainmagstep
 \font\textsy=cmsy10 scaled \mainmagstep
+\def\textecsize{1000}
 
 % A few fonts for @defun names and args.
 \setfont\defbf\bfshape{10}{\magstephalf}{OT1}
@@ -2094,6 +2103,7 @@
 \setfont\smallttsl\ttslshape{10}{900}{OT1TT}
 \font\smalli=cmmi9
 \font\smallsy=cmsy9
+\def\smallecsize{0900}
 
 % Fonts for small examples (8pt).
 \def\smallernominalsize{8pt}
@@ -2107,6 +2117,7 @@
 \setfont\smallerttsl\ttslshape{10}{800}{OT1TT}
 \font\smalleri=cmmi8
 \font\smallersy=cmsy8
+\def\smallerecsize{0800}
 
 % Fonts for title page (20.4pt):
 \def\titlenominalsize{20pt}
@@ -2122,6 +2133,7 @@
 \font\titlesy=cmsy10 scaled \magstep4
 \def\authorrm{\secrm}
 \def\authortt{\sectt}
+\def\titleecsize{2074}
 
 % Chapter fonts (14.4pt).
 \def\chapnominalsize{14pt}
@@ -2135,6 +2147,7 @@
 \setfont\chapsc\scbshape{10}{\magstep2}{OT1}
 \font\chapi=cmmi12 scaled \magstep1
 \font\chapsy=cmsy10 scaled \magstep2
+\def\chapecsize{1440}
 
 % Section fonts (12pt).
 \def\secnominalsize{12pt}
@@ -2148,6 +2161,7 @@
 \setfont\secsc\scbshape{10}{\magstep1}{OT1}
 \font\seci=cmmi12 
 \font\secsy=cmsy10 scaled \magstep1
+\def\sececsize{1200}
 
 % Subsection fonts (10pt).
 \def\ssecnominalsize{10pt}
@@ -2161,6 +2175,7 @@
 \setfont\ssecsc\scbshape{10}{1000}{OT1}
 \font\sseci=cmmi10
 \font\ssecsy=cmsy10
+\def\ssececsize{1000}
 
 % Reduced fonts for @acro in text (9pt).
 \def\reducednominalsize{9pt}
@@ -2174,6 +2189,7 @@
 \setfont\reducedttsl\ttslshape{10}{900}{OT1TT}
 \font\reducedi=cmmi9
 \font\reducedsy=cmsy9
+\def\reducedecsize{0900}
 
 % reduce space between paragraphs
 \divide\parskip by 2
@@ -2688,6 +2704,35 @@
   \thiseurofont
 }
 
+% Hacks for glyphs from the EC fonts similar to \euro.  We don't
+% use \let for the aliases, because sometimes we redefine the original
+% macro, and the alias should reflect the redefinition.
+\def\guillemetleft{{\ecfont \char"13}}
+\def\guillemotleft{\guillemetleft}
+\def\guillemetright{{\ecfont \char"14}}
+\def\guillemotright{\guillemetright}
+\def\guilsinglleft{{\ecfont \char"0E}}
+\def\guilsinglright{{\ecfont \char"0F}}
+\def\quotedblbase{{\ecfont \char"12}}
+\def\quotesinglbase{{\ecfont \char"0D}}
+%
+\def\ecfont{%
+  % We can't distinguish serif/sanserif and italic/slanted, but this
+  % is used for crude hacks anyway (like adding French and German
+  % quotes to documents typeset with CM, where we lose kerning), so
+  % hopefully nobody will notice/care.
+  \edef\ecsize{\csname\curfontsize ecsize\endcsname}%
+  \edef\nominalsize{\csname\curfontsize nominalsize\endcsname}%
+  \ifx\curfontstyle\bfstylename
+    % bold:
+    \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize
+  \else
+    % regular:
+    \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize
+  \fi
+  \thisecfont
+}
+
 % @registeredsymbol - R in a circle.  The font for the R should really
 % be smaller yet, but lllsize is the best we can do for now.
 % Adapted from the plain.tex definition of \copyright.
@@ -2710,6 +2755,11 @@
 \def\Orb{\mathhexbox20D}
 \fi
 
+% Quotes.
+\chardef\quotedblleft="5C
+\chardef\quotedblright=`\"
+\chardef\quoteleft=`\`
+\chardef\quoteright=`\'
 
 \message{page headings,}
 
@@ -3946,11 +3996,21 @@
   \definedummyword\equiv
   \definedummyword\error
   \definedummyword\euro
+  \definedummyword\guillemetleft
+  \definedummyword\guillemetright
+  \definedummyword\guilsinglleft
+  \definedummyword\guilsinglright
   \definedummyword\expansion
   \definedummyword\minus
   \definedummyword\pounds
   \definedummyword\point
   \definedummyword\print
+  \definedummyword\quotedblbase
+  \definedummyword\quotedblleft
+  \definedummyword\quotedblright
+  \definedummyword\quoteleft
+  \definedummyword\quoteright
+  \definedummyword\quotesinglbase
   \definedummyword\result
   \definedummyword\textdegree
   %
@@ -4080,11 +4140,21 @@
   \def\equiv{==}%
   \def\error{error}%
   \def\euro{euro}%
+  \def\guillemetleft{<<}%
+  \def\guillemetright{>>}%
+  \def\guilsinglleft{<}%
+  \def\guilsinglright{>}%
   \def\expansion{==>}%
   \def\minus{-}%
   \def\pounds{pounds}%
   \def\point{.}%
   \def\print{-|}%
+  \def\quotedblbase{"}%
+  \def\quotedblleft{"}%
+  \def\quotedblright{"}%
+  \def\quoteleft{`}%
+  \def\quoteright{'}%
+  \def\quotesinglbase{,}%
   \def\result{=>}%
   \def\textdegree{degrees}%
   %
@@ -8102,6 +8172,7 @@
   \DeclareUnicodeCharacter{00A8}{\"{ }}
   \DeclareUnicodeCharacter{00A9}{\copyright}
   \DeclareUnicodeCharacter{00AA}{\ordf}
+  \DeclareUnicodeCharacter{00AB}{\guillemetleft}
   \DeclareUnicodeCharacter{00AD}{\-}
   \DeclareUnicodeCharacter{00AE}{\registeredsymbol}
   \DeclareUnicodeCharacter{00AF}{\={ }}
@@ -8110,6 +8181,7 @@
   \DeclareUnicodeCharacter{00B4}{\'{ }}
   \DeclareUnicodeCharacter{00B8}{\cedilla{ }}
   \DeclareUnicodeCharacter{00BA}{\ordm}
+  \DeclareUnicodeCharacter{00BB}{\guillemetright}
   \DeclareUnicodeCharacter{00BF}{\questiondown}
 
   \DeclareUnicodeCharacter{00C0}{\`A}
@@ -8458,8 +8530,16 @@
 
   \DeclareUnicodeCharacter{2013}{--}
   \DeclareUnicodeCharacter{2014}{---}
+  \DeclareUnicodeCharacter{2018}{\quoteleft}
+  \DeclareUnicodeCharacter{2019}{\quoteright}
+  \DeclareUnicodeCharacter{201A}{\quotesinglbase}
+  \DeclareUnicodeCharacter{201C}{\quotedblleft}
+  \DeclareUnicodeCharacter{201D}{\quotedblright}
+  \DeclareUnicodeCharacter{201E}{\quotedblbase}
   \DeclareUnicodeCharacter{2022}{\bullet}
   \DeclareUnicodeCharacter{2026}{\dots}
+  \DeclareUnicodeCharacter{2039}{\guilsinglleft}
+  \DeclareUnicodeCharacter{203A}{\guilsinglright}
   \DeclareUnicodeCharacter{20AC}{\euro}
 
   \DeclareUnicodeCharacter{2192}{\expansion}
Index: doc/texinfo.txi
===================================================================
RCS file: /sources/texinfo/texinfo/doc/texinfo.txi,v
retrieving revision 1.202
retrieving revision 1.203
diff -u -r1.202 -r1.203
--- doc/texinfo.txi     15 Jul 2007 00:51:03 -0000      1.202
+++ doc/texinfo.txi     15 Jul 2007 11:51:12 -0000      1.203
@@ -1,5 +1,5 @@
 \input texinfo.tex    @c -*-texinfo-*-
address@hidden $Id: texinfo.txi,v 1.202 2007/07/15 00:51:03 karl Exp $
address@hidden $Id: texinfo.txi,v 1.203 2007/07/15 11:51:12 olegkat Exp $
 @c Ordinarily, Texinfo files have the extension .texi.  But texinfo.texi
 @c clashes with texinfo.tex on 8.3 filesystems, so we use texinfo.txi.
 
@@ -443,6 +443,7 @@
 * Inserting Space::             How to insert the right amount of space
                                  within a sentence.
 * Inserting Accents::           How to insert accents and special characters.
+* Inserting Quotation Marks::   How to insert quotation marks.
 * Dots Bullets::                How to insert dots and bullets.
 * TeX and copyright::           How to insert the @TeX{} logo
                                  and the copyright symbol.
@@ -1243,30 +1244,9 @@
 paragraph indentation if required (@pxref{noindent,,@code{@@noindent}}).
 
 @item
address@hidden Quotation characters (`'), in source
-Use doubled single-quote characters to begin and end quotations:
address@hidden@address@hidden@dots{}'@w{}'}}.  @TeX{} converts two single 
quotes to
-left- and right-hand doubled quotation marks,
address@hidden this comes out as "like this" in Info, which is just confusing.
address@hidden
-``like this'',
address@hidden iftex
-and Info converts doubled single-quote characters to ASCII
-double-quotes: @address@hidden@address@hidden'@w{}'}} becomes 
@address@hidden"@dots{}"}}.
-
-You may occasionally need to produce two consecutive single quotes;
-for example, in documenting a computer language such as Maxima where
address@hidden'@w{}'} is a valid command.  You can do this with the input
address@hidden'@@address@hidden@}'}; the empty @code{@@w} command stops the 
combination into
-the double-quote characters.
-
address@hidden Unicode quotation characters
address@hidden Grave accent, vs. left quote
-The left quote character (@t{`}, ASCII code 96) used in Texinfo is a
-grave accent in ANSI and ISO character set standards.  We use it as a
-quote character because that is how @TeX{} is set up, by default.  We
-hope to eventually support the various quotation characters in
-Unicode.
+Texinfo supports the usual quotation marks used in English, and
+quotation marks used in other languages, please see @ref{Inserting
+Quotation Marks}.
 
 @item
 @cindex Multiple dashes in source
@@ -10056,6 +10036,7 @@
 * Inserting Space::             How to insert the right amount of space
                                  within a sentence.
 * Inserting Accents::           How to insert accents and special characters.
+* Inserting Quotation Marks::   How to insert quotation marks.
 * Dots Bullets::                How to insert dots and bullets.
 * TeX and copyright::           How to insert the @TeX{} logo
                                  and the copyright symbol.
@@ -10478,9 +10459,11 @@
 This is so as to make the source as convenient to type and read as
 possible, since accented characters are very common in some languages.
 
address@hidden documentencoding
 To get the true accented characters output in Info, and not just the
-ASCII transliterations, you can use the @option{--enable-encoding}
-option to @command{makeinfo} (@pxref{makeinfo options}).
+ASCII transliterations, it is necessary to specify
address@hidden@@documentencoding} with an encoding which supports the required
+characters (@pxref{documentencoding,,@code{@@documentencoding}}).
 
 @findex " @r{(umlaut accent)}
 @cindex Umlaut accent
@@ -10514,8 +10497,8 @@
 @cindex Hacek accent
 @cindex Check accent
 @cindex Caron accent
address@hidden {@@address@hidden@}} {Output} {hacek/check/caron accent}
address@hidden Command               @tab Output         @tab What
address@hidden address@hidden@@address@hidden@}}} {Output} {hacek/check/caron 
accent}
address@hidden Command           @tab Output         @tab What
 @item @t{@@"o}              @tab @"o            @tab umlaut accent
 @item @t{@@'o}              @tab @'o            @tab acute accent
 @item @t{@@,@address@hidden          @tab @,{c}          @tab cedilla accent
@@ -10577,7 +10560,7 @@
 @cindex Es-zet
 @cindex Sharp S
 @cindex German S
address@hidden {x@@address@hidden@}} {oe OE} {es-zet or sharp S}
address@hidden address@hidden@@address@hidden@}}} {oe OE} {es-zet or sharp S}
 @item @t{@@address@hidden@}}   @tab @exclamdown{}   @tab upside-down !
 @item @t{@@address@hidden@}} @tab @questiondown{} @tab upside-down ?
 @item @t{@@address@hidden@} @@address@hidden@}}  @tab @aa{} @AA{}     @tab a,A 
with circle
@@ -10592,6 +10575,156 @@
 @end multitable
 
 
address@hidden Inserting Quotation Marks
address@hidden Inserting Quotation Marks
address@hidden Inserting quotation marks
address@hidden Quotation marks, inserting
+
address@hidden Quotation characters (`'), in source
+Use doubled single-quote characters to begin and end quotations:
address@hidden@address@hidden@dots{}'@w{}'}}.  @TeX{} converts two single 
quotes to
+left- and right-hand doubled quotation marks,
address@hidden this comes out as "like this" in Info, which is just confusing.
address@hidden
+``like this'',
address@hidden iftex
+and Info converts doubled single-quote characters to ASCII
+double-quotes: @address@hidden@address@hidden'@w{}'}} becomes 
@address@hidden"@dots{}"}}.
+
+You may occasionally need to produce two consecutive single quotes;
+for example, in documenting a computer language such as Maxima where
address@hidden'@w{}'} is a valid command.  You can do this with the input
address@hidden'@@address@hidden@}'}; the empty @code{@@w} command stops the 
combination into
+the double-quote characters.
+
address@hidden Unicode quotation characters
address@hidden Grave accent, vs. left quote
+The left quote character (@t{`}, ASCII code 96) used in Texinfo is a
+grave accent in ANSI and ISO character set standards.  We use it as a
+quote character because that is how @TeX{} is set up, by default.
+
+Texinfo supports several other quotation marks used in languages other
+than English.  Below is a table with the commands Texinfo provides for
+inserting quotation marks.
+
address@hidden documentencoding
address@hidden UTF-8
address@hidden ISO 8859-15
address@hidden Latin 9
address@hidden ISO 8859-1
address@hidden Latin 1
+In order to get the symbols for the quotation marks in encoded Info
+output, it is necessary to specify @code{@@documentencoding UTF-8}.
+(@xref{documentencoding,,@code{@@documentencoding}}.)  Double
+guillemets are also present in ISO 8859-1 (aka address@hidden) and ISO
+8859-15 (aka address@hidden).
+
address@hidden European Computer Modern fonts
address@hidden EC fonts
+The standard @TeX{} fonts support the usual quotation marks used in
+English (the ones produced with single and doubled ASCII
+single-quotes).  For the other quotation marks, @TeX{} uses European
+Computer Modern (EC) fonts (@code{ecrm1000} and other variants).
+These fonts are freely available, of course; you can download them
+from @url{http://@/www.ctan.org/@/tex-archive/@/fonts/ec}, among other
+places.
+
address@hidden CM-Super fonts
+The free EC fonts are bitmap fonts, which makes them appropriate only
+if you are typesetting your manual for print.  For on-line viewing the
address@hidden (vector) versions of the fonts are preferable.  The
address@hidden EC fonts are not free, you have to buy them from
+commercial suppliers.  Fortunately, there is a free alternative,
+CM-Super font package
+(@url{http://@/www.ctan.org/@/tex-archive/@/fonts/@/ps-type1/@/cm-super},
+among other places).
+
+Both distributions include installation instructions.
+
address@hidden Single quotation marks
address@hidden Double quotation marks
address@hidden Left quotation marks
address@hidden Right quotation marks
address@hidden quotedblleft
address@hidden ``
address@hidden quoteleft
address@hidden `
address@hidden quotedblright
address@hidden ''
address@hidden quoteright
address@hidden '
address@hidden Double low-9 quotation mark
address@hidden Single low-9 quotation mark
address@hidden quotedblbase
address@hidden @quotedblbase{} (double low-9 quotation mark)
address@hidden quotesinglbase
address@hidden @quotesinglbase{} (single low-9 quotation mark)
address@hidden Angle quotation marks
address@hidden Guillemets
address@hidden Guillemots
address@hidden French quotation marks
address@hidden Quotation marks, French
address@hidden German quotation marks
address@hidden Quotation marks, German
address@hidden Double guillemets
address@hidden Single guillemets
address@hidden Double angle quotation marks
address@hidden Single angle quotation marks
address@hidden Left-pointing angle quotation marks
address@hidden Right-pointing angle quotation marks
address@hidden Double left-pointing angle quotation mark
address@hidden Double right-pointing angle quotation mark
address@hidden Single left-pointing angle quotation mark
address@hidden Single right-pointing angle quotation mark
address@hidden guillemetleft
address@hidden guillemotleft
address@hidden @guillemetleft{}
address@hidden guillemetright
address@hidden guillemotright
address@hidden @guillemetright{}
address@hidden guilsinglleft
address@hidden @guilsinglleft{}
address@hidden guilsinglright
address@hidden @guilsinglright{}
address@hidden address@hidden@@address@hidden@} '@w{}'}} {Glyph} 
{Right-pointing double angle quotation mark (U+00BB)}
address@hidden Command                    @tab Glyph             @tab Unicode 
name (point)
address@hidden @address@hidden ``.}    @tab @quotedblleft{}   @tab Left double 
quotation mark (U+201C)
address@hidden @address@hidden ''.}   @tab @quotedblright{}  @tab Right double 
quotation mark (U+201D)
address@hidden @address@hidden `.}        @tab @quoteleft{}      @tab Left 
single quotation mark (U+2018)
address@hidden @address@hidden '.}       @tab @quoteright{}     @tab Right 
single quotation mark (U+2019)
address@hidden @t{@@address@hidden@}}         @tab @quotedblbase{}   @tab 
Double low-9 quotation mark (U+201E)
address@hidden @t{@@address@hidden@}}       @tab @quotesinglbase{} @tab Single 
low-9 quotation mark (U+201A)
address@hidden @t{@@address@hidden@}}        @tab @guillemetleft{}  @tab 
Left-pointing double angle quotation mark (U+00AB)
address@hidden @t{@@address@hidden@}}       @tab @guillemetright{} @tab 
Right-pointing double angle quotation mark (U+00BB)
address@hidden @t{@@address@hidden@}}        @tab @guilsinglleft{}  @tab Single 
left-pointing angle quotation mark (U+2039)
address@hidden @t{@@address@hidden@}}       @tab @guilsinglright{} @tab Single 
right-pointing angle quotation mark (U+203A)
address@hidden multitable
+
+For the double angle quotation marks, Adobe and @LaTeX{} glyph names
+are also supported:  @code{@@guillemotleft} and
address@hidden@@guillemotright}.  These names are actually incorrect; a
+``guillemot'' is a bird species (a type of auk).
+
+Traditions for quotation mark usage vary to a great extent between
+languages
+(@url{http://@/en.wikipedia.org/@/wiki/@/Quotation_mark%2C_non-English_usage#Overview}).
+Texinfo does not provide commands for typesetting quotation marks
+according to the numerous traditions.  Therefore, you have to choose
+the commands appropriate for the language of your manual.  Sometimes
+aliases (@pxref{alias,,@code{@@alias}}) can simplify the usage and
+make the source code more readable.  For example, in German,
address@hidden@@quotedblbase} is used for the left double quote, and the right
+double quote is actually @code{@@quotedblleft}, which is
+counter-intuitive.
+
+Thus, the following aliases may be convenient:
+
address@hidden
+@@alias lgqq = quotedblbase
+@@alias rgqq = quotedblleft
address@hidden example
+
+
 @node Dots Bullets
 @section Inserting Ellipsis and Bullets
 @cindex Dots, inserting
@@ -10736,6 +10869,7 @@
 widely-used and supported ISO 8859-1 (address@hidden).
 
 @pindex feymr10
address@hidden Euro font
 The Euro symbol does not exist in the standard @TeX{} fonts (which
 were designed before the Euro was legislated into existence).
 Therefore, @TeX{} uses an additional font, named @code{feymr10} (along
@@ -14683,6 +14817,19 @@
 from another distribution.  More details are at the end of the description
 of the @code{@@image} command (@pxref{Images}).
 
address@hidden European Computer Modern fonts, installing
address@hidden EC fonts, installing
address@hidden CM-Super fonts, installing
+To be able to use quotation marks other than those used in English
+you'll need to install European Computer Modern fonts and optionally
+CM-Super fonts, unless they are already installed (@pxref{Inserting
+Quotation Marks}).
+
address@hidden address@hidden, installing}
address@hidden Euro font, installing
+If you intend to use the @code{@@euro} command, you should install the
+Euro font, if it is not already installed.  @xref{euro}.
+
 @pindex texinfo.cnf @r{installation}
 @cindex Customizing of @TeX{} for Texinfo
 @cindex Site-wide Texinfo configuration file
@@ -14763,6 +14910,7 @@
 initex texinfo @@dump
 @end example
 
address@hidden
 (@code{dump} is a @TeX{} primitive.)  Then, move @file{texinfo.fmt} to
 wherever your @code{.fmt} files are found; typically, this will be in the
 subdirectory @file{web2c} of your @TeX{} installation.
@@ -18741,7 +18889,7 @@
 (@url{http://www.gnu.org/software/rcs}) version control systems, which
 expand it into a string such as:
 @example
-$Id: texinfo.txi,v 1.202 2007/07/15 00:51:03 karl Exp $
+$Id: texinfo.txi,v 1.203 2007/07/15 11:51:12 olegkat Exp $
 @end example
 (This is useful in all sources that use version control, not just manuals.)
 You may wish to include the @samp{$Id:} comment in the @code{@@copying}
@@ -18815,7 +18963,7 @@
 
 @verbatim
 \input texinfo   @c -*-texinfo-*-
address@hidden $Id: texinfo.txi,v 1.202 2007/07/15 00:51:03 karl Exp $
address@hidden $Id: texinfo.txi,v 1.203 2007/07/15 11:51:12 olegkat Exp $
 @comment %**start of header
 @setfilename sample.info
 @include version.texi
Index: makeinfo/cmds.c
===================================================================
RCS file: /sources/texinfo/texinfo/makeinfo/cmds.c,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -r1.74 -r1.75
--- makeinfo/cmds.c     9 Jul 2007 20:34:30 -0000       1.74
+++ makeinfo/cmds.c     15 Jul 2007 11:51:12 -0000      1.75
@@ -1,5 +1,5 @@
 /* cmds.c -- Texinfo commands.
-   $Id: cmds.c,v 1.74 2007/07/09 20:34:30 olegkat Exp $
+   $Id: cmds.c,v 1.75 2007/07/15 11:51:12 olegkat Exp $
 
    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
    Free Software Foundation, Inc.
@@ -214,6 +214,12 @@
   { "frenchspacing", cm_frenchspacing, NO_BRACE_ARGS },
   { "ftable", cm_ftable, NO_BRACE_ARGS },
   { "group", cm_group, NO_BRACE_ARGS },
+  { "guillemetleft", cm_special_char, BRACE_ARGS },
+  { "guillemetright", cm_special_char, BRACE_ARGS },
+  { "guillemotleft", cm_special_char, BRACE_ARGS },
+  { "guillemotright", cm_special_char, BRACE_ARGS },
+  { "guilsinglleft", cm_guilsinglleft, BRACE_ARGS },
+  { "guilsinglright", cm_guilsinglright, BRACE_ARGS },
   { "heading", cm_heading, NO_BRACE_ARGS },
   { "headings", cm_ignore_line, NO_BRACE_ARGS },
   { "headitem", cm_headitem, NO_BRACE_ARGS },
@@ -284,6 +290,12 @@
   { "pxref", cm_pxref, BRACE_ARGS },
   { "questiondown", cm_special_char, BRACE_ARGS },
   { "quotation", cm_quotation, NO_BRACE_ARGS },
+  { "quotedblbase", cm_quotedblbase, BRACE_ARGS },
+  { "quotedblleft", cm_quotedblleft, BRACE_ARGS },
+  { "quotedblright", cm_quotedblright, BRACE_ARGS },
+  { "quoteleft", cm_quoteleft, BRACE_ARGS },
+  { "quoteright", cm_quoteright, BRACE_ARGS },
+  { "quotesinglbase", cm_quotesinglbase, BRACE_ARGS },
   { "r", cm_r, BRACE_ARGS },
   { "raisesections", cm_raisesections, NO_BRACE_ARGS },
   { "ref", cm_ref, BRACE_ARGS },
@@ -590,6 +602,138 @@
     }
 }
 
+/* Left single guillemet (single left-pointing angle quotation mark). */
+void
+cm_guilsinglleft (int arg)
+{
+  if (arg == START)
+    {
+      if (html)
+        add_word ("&lsaquo;");
+      else if (xml && !docbook)
+        xml_insert_entity ("lsaquo");
+      else
+        add_word ("<");
+    }
+}
+
+/* Right single guillemet (single right-pointing angle quotation mark). */
+void
+cm_guilsinglright (int arg)
+{
+  if (arg == START)
+    {
+      if (html)
+        add_word ("&rsaquo;");
+      else if (xml && !docbook)
+        xml_insert_entity ("rsaquo");
+      else
+        add_word (">");
+    }
+}
+
+/* Double low-9 quotation mark. */
+void
+cm_quotedblbase (int arg)
+{
+  if (arg == START)
+    {
+      if (html)
+        add_word ("&bdquo;");
+      else if (docbook)
+        xml_insert_entity ("ldquor");
+      else if (xml && !docbook)
+        xml_insert_entity ("bdquo");
+      else
+        add_word ("\"");
+    }
+}
+
+/* Left double quotation mark. */
+void
+cm_quotedblleft (int arg)
+{
+  if (arg == START)
+    {
+      if (html)
+        add_word ("&ldquo;");
+      else if (docbook)
+        xml_insert_entity ("ldquo");
+      else if (xml && !docbook)
+        xml_insert_entity ("ldquo");
+      else
+        add_word ("\"");
+    }
+}
+
+/* Right double quotation mark. */
+void
+cm_quotedblright (int arg)
+{
+  if (arg == START)
+    {
+      if (html)
+        add_word ("&rdquo;");
+      else if (docbook)
+        xml_insert_entity ("rdquo");
+      else if (xml && !docbook)
+        xml_insert_entity ("rdquo");
+      else
+        add_word ("\"");
+    }
+}
+
+/* Left single quotation mark. */
+void
+cm_quoteleft (int arg)
+{
+  if (arg == START)
+    {
+      if (html)
+        add_word ("&lsquo;");
+      else if (docbook)
+        xml_insert_entity ("lsquo");
+      else if (xml && !docbook)
+        xml_insert_entity ("lsquo");
+      else
+        add_word ("`");
+    }
+}
+
+/* Right single quotation mark. */
+void
+cm_quoteright (int arg)
+{
+  if (arg == START)
+    {
+      if (html)
+        add_word ("&rsquo;");
+      else if (docbook)
+        xml_insert_entity ("rsquo");
+      else if (xml && !docbook)
+        xml_insert_entity ("rsquo");
+      else
+        add_word ("'");
+    }
+}
+
+/* Single low-9 quotation mark. */
+void
+cm_quotesinglbase (int arg)
+{
+  if (arg == START)
+    {
+      if (html)
+        add_word ("&sbquo;");
+      else if (docbook)
+        xml_insert_entity ("lsquor");
+      else if (xml && !docbook)
+        xml_insert_entity ("sbquo");
+      else
+        add_word (",");
+    }
+}
+
 void
 cm_today (int arg)
 {
Index: makeinfo/cmds.h
===================================================================
RCS file: /sources/texinfo/texinfo/makeinfo/cmds.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- makeinfo/cmds.h     1 Jul 2007 21:20:32 -0000       1.12
+++ makeinfo/cmds.h     15 Jul 2007 11:51:12 -0000      1.13
@@ -1,5 +1,5 @@
 /* cmds.h -- declarations for cmds.c.
-   $Id: cmds.h,v 1.12 2007/07/01 21:20:32 karl Exp $
+   $Id: cmds.h,v 1.13 2007/07/15 11:51:12 olegkat Exp $
 
    Copyright (C) 1998, 1999, 2002, 2003, 2004, 2007
    Free Software Foundation, Inc.
@@ -99,10 +99,18 @@
   cm_expansion (int arg),
   cm_image (int arg),
   cm_insert_copying (void),
+  cm_guilsinglleft (int arg),
+  cm_guilsinglright (int arg),
   cm_minus (int arg),
   cm_point (int arg),
   cm_print (int arg),
   cm_punct (int arg),
+  cm_quotedblbase (int arg),
+  cm_quotedblleft (int arg),
+  cm_quotedblright (int arg),
+  cm_quoteleft (int arg),
+  cm_quoteright (int arg),
+  cm_quotesinglbase (int arg),
   cm_registeredsymbol (int arg),
   cm_result (int arg);
 
Index: makeinfo/lang.c
===================================================================
RCS file: /sources/texinfo/texinfo/makeinfo/lang.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- makeinfo/lang.c     12 Jul 2007 13:28:11 -0000      1.29
+++ makeinfo/lang.c     15 Jul 2007 11:51:12 -0000      1.30
@@ -1,5 +1,5 @@
 /* lang.c -- language-dependent support.
-   $Id: lang.c,v 1.29 2007/07/12 13:28:11 karl Exp $
+   $Id: lang.c,v 1.30 2007/07/15 11:51:12 olegkat Exp $
 
    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
    Free Software Foundation, Inc.
@@ -1453,6 +1453,12 @@
         add_encoded_char ("aring", command);
       else if (strcmp (command, "ss") == 0)
         add_encoded_char ("szlig", command);
+      else if (strcmp (command, "guillemetleft") == 0
+               || strcmp (command, "guillemotleft") == 0)
+        add_encoded_char ("laquo", "<<");
+      else if (strcmp (command, "guillemetright") == 0
+               || strcmp (command, "guillemotright") == 0)
+        add_encoded_char ("raquo", ">>");
       else
         line_error ("cm_special_char internal error: address@hidden", command);
     }
Index: util/texinfo.dtd
===================================================================
RCS file: /sources/texinfo/texinfo/util/texinfo.dtd,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- util/texinfo.dtd    8 Jan 2007 19:40:58 -0000       1.11
+++ util/texinfo.dtd    15 Jul 2007 11:51:12 -0000      1.12
@@ -1,4 +1,4 @@
-<!-- $Id: texinfo.dtd,v 1.11 2007/01/08 19:40:58 karl Exp $
+<!-- $Id: texinfo.dtd,v 1.12 2007/07/15 11:51:12 olegkat Exp $
    Document Type Definition for Texinfo XML output (the '-'-xml option).
 
   Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
@@ -398,8 +398,16 @@
 <!ENTITY dots       "<punct end-of-sentence='no'>&#x2026;</punct>">
 <!ENTITY enddots    "<punct end-of-sentence='yes'>&#x2026;</punct>">
 <!ENTITY amp        "&#x26;">
+<!ENTITY lsquo      "&#x2018;">
+<!ENTITY rsquo      "&#x2019;">
+<!ENTITY sbquo      "&#x201a;">
 <!ENTITY ldquo      "&#x201c;">
 <!ENTITY rdquo      "&#x201d;">
+<!ENTITY bdquo      "&#x201e;">
+<!ENTITY laquo      "&#xab;">
+<!ENTITY raquo      "&#xbb;">
+<!ENTITY lsaquo     "&#x2039;">
+<!ENTITY rsaquo     "&#x203a;">
 <!ENTITY mdash      "&#x2014;">
 <!ENTITY ndash      "&#x2013;">
 <!ENTITY period     "<punct end-of-sentence='no'>.</punct>">
P ChangeLog
P doc/texinfo.tex
P doc/texinfo.txi
P makeinfo/cmds.c
P makeinfo/cmds.h
P makeinfo/lang.c
P util/texinfo.dtd




reply via email to

[Prev in Thread] Current Thread [Next in Thread]