[gnu.utils.bug] Problems with texinfo.tex and g++.texinfo

jkp@SAUNA.HUT.FI (Jyrki Kuoppala) (12/09/89)

>The table of contents generator seems to barf on the letters "C++".
>So "Contributors to GNU C++" comes out looking like this:

The attached context diff (for texinfo.tex 2.3 as it was in MIT a few
weeks or so ago) cures the problem and other problems with special
characters in chapter headings also.  I hope it can be merged to the
version on MIT.

By the way, I have modified texinfo to work with the Finnish language.
I suppose the hard-coded month names etc. should be made more cleanly
(well the changes should be made in TeX, actually) but it works quite
well now.  The stuff is available for anonymous ftp in sauna.hut.fi
(pub/gnu/stexinfo) if anyone's interested - should be pretty easy to
modify ie. to German language.  Here's the README file:

When writing some documents with SLaTeX, I became quite frustrated
because the documents were not very readable on the screen (well, you
can read them with xdvi if you put the dvi files in a public place but
the user interface is lousy).  It seems like a waste to use a
text-formatter that renders the text unusable to most of the users to
document things.  Of course you get the neat paper output, but you
leave the people with just ascii terminals out in the cold.

So, I know about texinfo.  But I want to write in Finnish with those
funny dots on a and o.  Further, the convention is to use {, | and }
as the small alphabet as a and o with the dots and and } as an a with
a ball on it, respectively.  And texinfo uses { and } as control
characters.


The solution:

I have changed the texinfo characters { and } to be < and > so I can
use the scandinavian characters.  Do you feel that this is a good
choice ?  Probably we should settle a standard; I hope somebody else
already doesn't use different characters.  For now, I'm calling the
changed texinfo `stexinfo'.

Description of how stexinfo differs from texinfo:

{ prints as a with dots and comes to info file as {
- the same for |, }, [, \ and ].

@{, @|, @}, @[, @\ and @] are used to get the ASCII equivalents in the
printed manual; obviously there's no difference between these in the
info file (no, I don't think 8-bit codes are in wide enough use yet).

@< and @> are used to get < and >

I made the same changes to texinfmt.el.  [ Sorry, no
stexinfo-format-buffer; just load the enclosed stexinfmt.el and use
texinfo-format-buffer.  I'll fix this someday. ]

*** /p/lib/tex/inputs/texinfo.tex.old.2	Mon Nov 13 19:30:08 1989
--- /p/lib/tex/inputs/texinfo.tex	Fri Dec  8 17:03:05 1989
***************
*** 907,918 ****
  \def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}}
  
  \def\indexdummies{%
! \def\w{\realbackslash w }%
! \def\bf{\realbackslash bf }%
! \def\rm{\realbackslash rm }%
! \def\sl{\realbackslash sl }%
! \def\dots{\realbackslash dots }%
! \def\copyright{\realbackslash copyright }%
  \def\tclose##1{\realbackslash tclose {##1}}%
  \def\code##1{\realbackslash code {##1}}%
  \def\samp##1{\realbackslash samp {##1}}%
--- 907,926 ----
  \def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}}
  
  \def\indexdummies{%
! \def\sf{\realbackslash sf}%
! \def\TeX{\realbackslash TeX}%
! \def\labelspace{\realbackslash labelspace}%
! \def\dotfill{\realbackslash dotfill}%
! \def\tt{\realbackslash tt}%
! \def\gtr{\realbackslash gtr}%
! \def\less{\realbackslash less}%
! \def\char{\realbackslash char}%
! \def\w{\realbackslash w}%
! \def\bf{\realbackslash bf}%
! \def\rm{\realbackslash rm}%
! \def\sl{\realbackslash sl}%
! \def\dots{\realbackslash dots}%
! \def\copyright{\realbackslash copyright}%
  \def\tclose##1{\realbackslash tclose {##1}}%
  \def\code##1{\realbackslash code {##1}}%
  \def\samp##1{\realbackslash samp {##1}}%
***************
*** 1172,1189 ****
  \def\chapternofonts{%
  \let\rawbackslash=\relax%
  \let\frenchspacing=\relax%
! \def\char{\realbackslash char}
! \def\tclose##1{\realbackslash tclose {##1}}
! \def\code##1{\realbackslash code {##1}}
! \def\samp##1{\realbackslash samp {##1}}
! \def\r##1{\realbackslash r {##1}}
! \def\i##1{\realbackslash i {##1}}
! \def\b##1{\realbackslash b {##1}}
! \def\cite##1{\realbackslash cite {##1}}
! \def\key##1{\realbackslash key {##1}}
! \def\file##1{\realbackslash file {##1}}
! \def\var##1{\realbackslash var {##1}}
! \def\kbd##1{\realbackslash kbd {##1}}
  }
  
  \outer\def\chapter{\parsearg\chapterzzz}
--- 1180,1210 ----
  \def\chapternofonts{%
  \let\rawbackslash=\relax%
  \let\frenchspacing=\relax%
! \def\sf{\realbackslash sf}%
! \def\TeX{\realbackslash TeX}%
! \def\labelspace{\realbackslash labelspace}%
! \def\dotfill{\realbackslash dotfill}%
! \def\tt{\realbackslash tt}%
! \def\gtr{\realbackslash gtr}%
! \def\less{\realbackslash less}%
! \def\char{\realbackslash char}%
! \def\w{\realbackslash w}%
! \def\bf{\realbackslash bf}%
! \def\rm{\realbackslash rm}%
! \def\sl{\realbackslash sl}%
! \def\dots{\realbackslash dots}%
! \def\copyright{\realbackslash copyright}%
! \def\tclose##1{\realbackslash tclose {##1}}%
! \def\code##1{\realbackslash code {##1}}%
! \def\samp##1{\realbackslash samp {##1}}%
! \def\r##1{\realbackslash r {##1}}%
! \def\i##1{\realbackslash i {##1}}%
! \def\b##1{\realbackslash b {##1}}%
! \def\cite##1{\realbackslash cite {##1}}%
! \def\key##1{\realbackslash key {##1}}%
! \def\file##1{\realbackslash file {##1}}%
! \def\var##1{\realbackslash var {##1}}%
! \def\kbd##1{\realbackslash kbd {##1}}%
  }
  
  \outer\def\chapter{\parsearg\chapterzzz}


//Jyrki

Jyrki Kuoppala    Helsinki University of Technology, Finland.
Internet :        jkp@cs.hut.fi           [130.233.251.253]
BITNET :          jkp@fingate.bitnet      Gravity is a myth, the Earth sucks!