Making the Haskell 2010 report latex repo

The Haskell 2010 report is here: http://darcs.haskell.org/haskell2010-report Also mirrored in git here: git@github.com:hvr/haskell2010-report.git This version doesn't build because it uses old "Char" instead of "Data.Char"-style imports. So my version here: https://github.com/chrisdone/haskell2010-report Fixes that: https://github.com/chrisdone/haskell2010-report/commit/6a773abb7201f4854ba51... But that's as far as I get. Here is what happens when I run $ cd tools; make; cd .. $ cd report; make I get: http://lpaste.net/raw/5699097250156773376 As is typical in the LaTeX, a torrent of uninteresting information is spewed out. Finally, at the end, it says:
(./haskell.ind (./index-intro.tex) ! Argument of \OT1\" has an extra }. <inserted text> \par l.61 \item |hyperindexformat{\"} , 51, 73, 107, 112 ?
Does anyone familiar with the language of LaTeX have any idea what's going on? Has anyone successfully been able to build it? If so, please state the exact steps to do so and I will be very grateful. Ciao!

On 3/07/2014, at 8:14 AM, Christopher Done wrote:
(./haskell.ind (./index-intro.tex) ! Argument of \OT1\" has an extra }. <inserted text> \par l.61 \item |hyperindexformat{\"} , 51, 73, 107, 112 ?
Does anyone familiar with the language of LaTeX have any idea what's going on?
The \" command in TeX says "You see the next item? Put a diaeresis over it." So it is expecting a plain character, or possibly a command naming a character. But } is an "active" character with a special meaning. The most likely explanation here is that \" should *really* be \textquotedbl. Apparently someone thought \" in TeX was like \" in a C string, but it never has been. If you can change that line from \item |hyperindexformat{\"}.... to \item |hyperindexformat{\textquotdbl}.... the problem *might* go away.

It seems that the hyperindexformat in haskell.ind is generated. If I edit
the file as you wrote and do make clean && make, the file is modified back
to using \".
On 2 July 2014 18:46, Richard A. O'Keefe
On 3/07/2014, at 8:14 AM, Christopher Done wrote:
(./haskell.ind (./index-intro.tex) ! Argument of \OT1\" has an extra }. <inserted text> \par l.61 \item |hyperindexformat{\"} , 51, 73, 107, 112 ?
Does anyone familiar with the language of LaTeX have any idea what's going on?
The \" command in TeX says "You see the next item? Put a diaeresis over it." So it is expecting a plain character, or possibly a command naming a character. But } is an "active" character with a special meaning.
The most likely explanation here is that \" should *really* be \textquotedbl. Apparently someone thought \" in TeX was like \" in a C string, but it never has been.
If you can change that line from \item |hyperindexformat{\"}.... to \item |hyperindexformat{\textquotdbl}.... the problem *might* go away.

On 4/07/2014, at 3:03 AM, Christopher Done wrote:
It seems that the hyperindexformat in haskell.ind is generated.
Well, yes. That much was obvious.
If I edit the file as you wrote and do make clean && make, the file is modified back to using \".
When I said 'change that line', I didn't have manual editing in mind. I meant to insert a step in the Makefile that runs ed(1) to patch the output of the indexing program. It would be better to trace back and find out _why_ this is being generated. There would appear to be four pages where the corresponding TeX input asks for " to be indexed; changing that to index double quote instead would be another short term fix.

Hi. It seems that there's a bad interaction between hyperref and makeidx. The | character is used by makeidx and hyperref for something that's called "encapsulation", which means applying a formatting directive to the page number. The makeidx program seems to support escaping the | by using "|, but hyperref seems to get confused by this. Therefore, the indexing of the logical or operator fails. I haven't quickly been able to find a fix. One option could be to change the encapsulation character from | to something unused. A quick fix is to disable hyperref's attempts to link the index, by saying \usepackage[hyperindex=false]{hyperref}. That should make the report compile. Cheers, Andres

On 4 July 2014 00:06, Andres Löh
Hi.
It seems that there's a bad interaction between hyperref and makeidx. The | character is used by makeidx and hyperref for something that's called "encapsulation", which means applying a formatting directive to the page number. The makeidx program seems to support escaping the | by using "|, but hyperref seems to get confused by this. Therefore, the indexing of the logical or operator fails.
I haven't quickly been able to find a fix. One option could be to change the encapsulation character from | to something unused.
A quick fix is to disable hyperref's attempts to link the index, by saying \usepackage[hyperindex=false]{hyperref}. That should make the report compile.
Thanks, let me try that.

On 3 July 2014 15:31, Richard A. O'Keefe
On 4/07/2014, at 3:03 AM, Christopher Done wrote:
It seems that the hyperindexformat in haskell.ind is generated.
Well, yes. That much was obvious.
Perhaps, if you are familiar with LaTeX (which I have explicitly stated I am not). The reason I ask the mailing list is so that I don't have to invest the time which you all have already invested in learning the tool, just so that I can generate our venerable Haskell report.

[Sorry, Christ. I accidentally forgot to include the Café.] On Wed, Jul 2, 2014 at 10:14 PM, Christopher Done wrote: Finally, at the end, it says:
(./haskell.ind (./index-intro.tex) ! Argument of \OT1\" has an extra }. <inserted text> \par l.61 \item |hyperindexformat{\"} , 51, 73, 107, 112 ?
Does anyone familiar with the language of LaTeX have any idea what's going on? Has anyone successfully been able to build it? If so, please state the exact steps to do so and I will be very grateful.
I really don't know why this is happening, but commenting out || from the TeX and removing it completely from the Haskell gets the build working. I haven't used LaTeX indexing before, but reading [1] tells me that the current code should work. I posted a pull request [2] demonstrating the change. [1] http://en.wikibooks.org/wiki/LaTeX/Indexing#Using_special_characters [2] https://github.com/chrisdone/haskell2010-report/pull/3 Regards, Sean
participants (4)
-
Andres Löh
-
Christopher Done
-
Richard A. O'Keefe
-
Sean Leather