SMLFamily / SML-The-Living-Language

SML, The Living Language (aka, Successor ML)
72 stars 6 forks source link

Reproduce an index #1

Open larsbergstrom opened 10 years ago

larsbergstrom commented 10 years ago

As the previous index had hard-coded entries and page numbers that did not correspond to the new layout from the LaTeX sources, it has been removed.

We would like to re-create the index through the makeidx package, which has documentation at: https://en.wikibooks.org/wiki/LaTeX/Indexing

This work is basically to go through the printed copy of the Definition of Standard ML (Revised), annotate the LaTeX with \index{key} annotations, and enable index generation.

omasanori commented 10 years ago

Has anyone already started working on this? If not, I'd like to help you.

RobertHarper commented 10 years ago

By "this" you mean?

Robert Harper (from handheld)

On Nov 18, 2014, at 05:17, OGINO Masanori notifications@github.com wrote:

Has anyone already started working on this? If not, I'd like to help you.

— Reply to this email directly or view it on GitHub.

omasanori commented 10 years ago

What I mean by "this" is adding '\index` annotations to LaTeX text based on a printed copy. I apologize for any confusion.

larsbergstrom commented 10 years ago

@omasanori, I believe that @dmacqueen started looking into adding the index, but has not made much progress on it yet. We would welcome any help you can provide!

Do you have a copy of the original printed text, in order to see where the index entries previously pointed?

RobertHarper commented 10 years ago

oh, great, thanks! lars will guide you.

bob harper

On Nov 18, 2014, at 05:36, OGINO Masanori notifications@github.com wrote:

What I mean by "this" is adding '\index` annotations to LaTeX text based on a printed copy. I apologize for any confusion.

— Reply to this email directly or view it on GitHub https://github.com/SMLFamily/SML-The-Living-Language/issues/1#issuecomment-63451072.

dmacqueen commented 10 years ago

I am in fact working on the index for the SML ’97 Defn.

The definition was not produced in the normal way, but adding \index items for each occurrence of a term in the index, but instead there are “positional” \index items scattered through the text, typically a couple per page, and there is an ML program index.sml that takes the root.idx output for those positional indexes and translates it into a normal index, index.tex. (index.sml takes the place of the makeindex command)

This was also the technique used in the SML ’90 Defn, where we have the this index translation program in the file index.sml (this had to be updated to SML from the original version written for an early version of SML and the early SML libraries).

Unfortunately, the SML ’97 Defn sources did not include a corresponding index.sml program, so we were unable to generate the index as we did for SML ’90. There were two ways of recreating the index:

1) start from scratch and follow the conventional practice for indexing, or 2) use the existing positional index items and recreate the corresponding index.sml program to translate their locations to a

I decided to use the second approach. What I have done so far is to mark up my copy of the Defn book with the locations of all these positional index items, and the next step that I am working on is to start with the SML ’90 index.sml file and update the mapping in the second half of that file so it corresponds with the index entries in the book. This seemed slightly less laborious than creating a conventional index from scratch.

So the question is how to potentially partition the effort so that more than one person can pitch in. My key tool is my annotated copy of the book, so anyone else who wants to participate has to create their own annotated book. It may be possible to add the annotations on a “by need” basis, avoiding having to annotate the whole book before starting.

Dave

On Nov 18, 2014, at 8:51 AM, Robert Harper notifications@github.com wrote:

oh, great, thanks! lars will guide you.

bob harper

On Nov 18, 2014, at 05:36, OGINO Masanori notifications@github.com wrote:

What I mean by "this" is adding '\index` annotations to LaTeX text based on a printed copy. I apologize for any confusion.

— Reply to this email directly or view it on GitHub https://github.com/SMLFamily/SML-The-Living-Language/issues/1#issuecomment-63451072.

— Reply to this email directly or view it on GitHub https://github.com/SMLFamily/SML-The-Living-Language/issues/1#issuecomment-63503050.

David MacQueen dmacqueen@mac.com

RobertHarper commented 10 years ago

My experience with PFPL is that it is not hard to do a conventional index from scratch.

On Nov 18, 2014, at 17:38, David MacQueen notifications@github.com wrote:

I am in fact working on the index for the SML ’97 Defn.

The definition was not produced in the normal way, but adding \index items for each occurrence of a term in the index, but instead there are “positional” \index items scattered through the text, typically a couple per page, and there is an ML program index.sml that takes the root.idx output for those positional indexes and translates it into a normal index, index.tex. (index.sml takes the place of the makeindex command)

This was also the technique used in the SML ’90 Defn, where we have the this index translation program in the file index.sml (this had to be updated to SML from the original version written for an early version of SML and the early SML libraries).

Unfortunately, the SML ’97 Defn sources did not include a corresponding index.sml program, so we were unable to generate the index as we did for SML ’90. There were two ways of recreating the index:

1) start from scratch and follow the conventional practice for indexing, or 2) use the existing positional index items and recreate the corresponding index.sml program to translate their locations to a

I decided to use the second approach. What I have done so far is to mark up my copy of the Defn book with the locations of all these positional index items, and the next step that I am working on is to start with the SML ’90 index.sml file and update the mapping in the second half of that file so it corresponds with the index entries in the book. This seemed slightly less laborious than creating a conventional index from scratch.

So the question is how to potentially partition the effort so that more than one person can pitch in. My key tool is my annotated copy of the book, so anyone else who wants to participate has to create their own annotated book. It may be possible to add the annotations on a “by need” basis, avoiding having to annotate the whole book before starting.

Dave

On Nov 18, 2014, at 8:51 AM, Robert Harper notifications@github.com wrote:

oh, great, thanks! lars will guide you.

bob harper

On Nov 18, 2014, at 05:36, OGINO Masanori notifications@github.com wrote:

What I mean by "this" is adding '\index` annotations to LaTeX text based on a printed copy. I apologize for any confusion.

— Reply to this email directly or view it on GitHub https://github.com/SMLFamily/SML-The-Living-Language/issues/1#issuecomment-63451072.

— Reply to this email directly or view it on GitHub https://github.com/SMLFamily/SML-The-Living-Language/issues/1#issuecomment-63503050.

David MacQueen dmacqueen@mac.com — Reply to this email directly or view it on GitHub.

omasanori commented 10 years ago

@larsbergstrom I have a paperback of SML '97.

I prefer the conventional makeindex approach because it is the usual way and is integrated into latexmk. However, as @dmacqueen pointed out, it needs some more work at the beginning. I'll follow the decision of the editors.

dmacqueen commented 10 years ago

It’s not really the “hardness”, it’s the tedium!

Dave

On Nov 18, 2014, at 5:46 PM, Robert Harper notifications@github.com wrote:

My experience with PFPL is that it is not hard to do a conventional index from scratch.

On Nov 18, 2014, at 17:38, David MacQueen notifications@github.com wrote:

I am in fact working on the index for the SML ’97 Defn.

The definition was not produced in the normal way, but adding \index items for each occurrence of a term in the index, but instead there are “positional” \index items scattered through the text, typically a couple per page, and there is an ML program index.sml that takes the root.idx output for those positional indexes and translates it into a normal index, index.tex. (index.sml takes the place of the makeindex command)

This was also the technique used in the SML ’90 Defn, where we have the this index translation program in the file index.sml (this had to be updated to SML from the original version written for an early version of SML and the early SML libraries).

Unfortunately, the SML ’97 Defn sources did not include a corresponding index.sml program, so we were unable to generate the index as we did for SML ’90. There were two ways of recreating the index:

1) start from scratch and follow the conventional practice for indexing, or 2) use the existing positional index items and recreate the corresponding index.sml program to translate their locations to a

I decided to use the second approach. What I have done so far is to mark up my copy of the Defn book with the locations of all these positional index items, and the next step that I am working on is to start with the SML ’90 index.sml file and update the mapping in the second half of that file so it corresponds with the index entries in the book. This seemed slightly less laborious than creating a conventional index from scratch.

So the question is how to potentially partition the effort so that more than one person can pitch in. My key tool is my annotated copy of the book, so anyone else who wants to participate has to create their own annotated book. It may be possible to add the annotations on a “by need” basis, avoiding having to annotate the whole book before starting.

Dave

On Nov 18, 2014, at 8:51 AM, Robert Harper notifications@github.com wrote:

oh, great, thanks! lars will guide you.

bob harper

On Nov 18, 2014, at 05:36, OGINO Masanori notifications@github.com wrote:

What I mean by "this" is adding '\index` annotations to LaTeX text based on a printed copy. I apologize for any confusion.

— Reply to this email directly or view it on GitHub https://github.com/SMLFamily/SML-The-Living-Language/issues/1#issuecomment-63451072.

— Reply to this email directly or view it on GitHub https://github.com/SMLFamily/SML-The-Living-Language/issues/1#issuecomment-63503050.

David MacQueen dmacqueen@mac.com — Reply to this email directly or view it on GitHub.

— Reply to this email directly or view it on GitHub https://github.com/SMLFamily/SML-The-Living-Language/issues/1#issuecomment-63579373.

David MacQueen dmacqueen@mac.com

dmacqueen commented 10 years ago

We could do a comparison — measure how long it takes doing, say, 100 index entries the conventional way vs 100 entries in the mapping in index.sml. That would give us a comparison of the relative time and effort required by the two approaches.

Either way, one needs to go through the entire existing index in the book to make sure all the entries get covered.

Dave

On Nov 18, 2014, at 6:07 PM, OGINO Masanori notifications@github.com wrote:

@larsbergstrom https://github.com/larsbergstrom I have a paperback of SML '97.

I prefer the conventional makeindex approach because it is the usual way and is integrated into latexmk. However, as @dmacqueen https://github.com/dmacqueen pointed out, it needs some more work at beginning. I'll follow the decision of the editors.

— Reply to this email directly or view it on GitHub https://github.com/SMLFamily/SML-The-Living-Language/issues/1#issuecomment-63581116.

David MacQueen dmacqueen@mac.com

RobertHarper commented 10 years ago

agreed, especially if we want to be accurate with respect to the original.

bob

On Nov 18, 2014, at 22:38, David MacQueen notifications@github.com wrote:

It’s not really the “hardness”, it’s the tedium!

Dave

On Nov 18, 2014, at 5:46 PM, Robert Harper notifications@github.com wrote:

My experience with PFPL is that it is not hard to do a conventional index from scratch.

On Nov 18, 2014, at 17:38, David MacQueen notifications@github.com wrote:

I am in fact working on the index for the SML ’97 Defn.

The definition was not produced in the normal way, but adding \index items for each occurrence of a term in the index, but instead there are “positional” \index items scattered through the text, typically a couple per page, and there is an ML program index.sml that takes the root.idx output for those positional indexes and translates it into a normal index, index.tex. (index.sml takes the place of the makeindex command)

This was also the technique used in the SML ’90 Defn, where we have the this index translation program in the file index.sml (this had to be updated to SML from the original version written for an early version of SML and the early SML libraries).

Unfortunately, the SML ’97 Defn sources did not include a corresponding index.sml program, so we were unable to generate the index as we did for SML ’90. There were two ways of recreating the index:

1) start from scratch and follow the conventional practice for indexing, or 2) use the existing positional index items and recreate the corresponding index.sml program to translate their locations to a

I decided to use the second approach. What I have done so far is to mark up my copy of the Defn book with the locations of all these positional index items, and the next step that I am working on is to start with the SML ’90 index.sml file and update the mapping in the second half of that file so it corresponds with the index entries in the book. This seemed slightly less laborious than creating a conventional index from scratch.

So the question is how to potentially partition the effort so that more than one person can pitch in. My key tool is my annotated copy of the book, so anyone else who wants to participate has to create their own annotated book. It may be possible to add the annotations on a “by need” basis, avoiding having to annotate the whole book before starting.

Dave

On Nov 18, 2014, at 8:51 AM, Robert Harper notifications@github.com wrote:

oh, great, thanks! lars will guide you.

bob harper

On Nov 18, 2014, at 05:36, OGINO Masanori notifications@github.com wrote:

What I mean by "this" is adding '\index` annotations to LaTeX text based on a printed copy. I apologize for any confusion.

— Reply to this email directly or view it on GitHub https://github.com/SMLFamily/SML-The-Living-Language/issues/1#issuecomment-63451072.

— Reply to this email directly or view it on GitHub https://github.com/SMLFamily/SML-The-Living-Language/issues/1#issuecomment-63503050.

David MacQueen dmacqueen@mac.com — Reply to this email directly or view it on GitHub.

— Reply to this email directly or view it on GitHub https://github.com/SMLFamily/SML-The-Living-Language/issues/1#issuecomment-63579373.

David MacQueen dmacqueen@mac.com — Reply to this email directly or view it on GitHub https://github.com/SMLFamily/SML-The-Living-Language/issues/1#issuecomment-63587647.