summaryrefslogtreecommitdiff
path: root/support/glosstex/TODO
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/glosstex/TODO
Initial commit
Diffstat (limited to 'support/glosstex/TODO')
-rw-r--r--support/glosstex/TODO291
1 files changed, 291 insertions, 0 deletions
diff --git a/support/glosstex/TODO b/support/glosstex/TODO
new file mode 100644
index 0000000000..861b32bbaa
--- /dev/null
+++ b/support/glosstex/TODO
@@ -0,0 +1,291 @@
+$Id: TODO,v 1.66 1997/12/03 18:08:22 volkan Exp $
+
+* BUGS
+
+** the .gdf-files to be used should be designated within the document
+ and so put into the .aux-file, not designated on the commandline.
+ The same way as it is done with BibTeX and \bibliography{foo,
+ bar}. Problem: this would break the UI.
+
+* `FEATURES'
+
+** A Makeindex input line cannot exceed 1024 characters on one side,
+ but an argument cannot span more than one line. Seems as though we
+ should have a look at xindy. Another way around this is to change
+ the makeindex sources (#define ARGUMENT_MAX in mkind.h) and
+ recompile. This should be noted in the documentation of glosstex.
+
+** while scanning the input (.aux)-files, glosstex is limited to an
+ arbitrary number of characters per entry (constant argument to
+ sscanf). this can be circumvented by using the GNU version of
+ sscanf, which automatically malloc's the needed memory.
+
+** LaTeX produces a nasty error `! LaTeX Error: Something's
+ wrong--perhaps a missing \item.' when the .glx-file is empty.
+
+* TODO
+
+** \GLX@output@short and \GLX@output@long both should get called with
+ <paren> and <form> to allow for greater flexibility. Or
+ alternatively, provide \GLX@output@short@lt, lf, it, if. That way,
+ we wouldn't need to parse the <form>-stuff. Just pass <paren>.
+
+** document all the `.' and `o' that are output.
+
+** An "Die TeXnische Komödie" article about GlossTeX would be nice.
+
+** add support for xindy
+
+* MAYBE
+
+** include functionality of nomencl, à la include references produced
+ by \ref and not only \pageref, or eq-ref. problem: too much
+ features. it's not easy to deterimine the environment we're
+ currently in. Also, nomencl and glosstex complement each other
+ well, don't they?
+
+** include a test-suite with files foo.glx.expect to be able to test
+ each version during development whether it's still fully
+ functional. that'd be hard to do, since we expect DVI-files, don't
+ we? we may produce some expected GXS or GLX files.
+
+** each list should be able to produce independent lists on
+ part/chapter/section-level. problem: hard to implement, featurism,
+ not really necessary.
+
+** it should be possible to make a list with the terms sorted in order
+ of appearance. We wouldn't need MakeIndex in this case. This may
+ lead to a future release which doesn't rely on MakeIndex
+ anymore. Something like BibTeX which has it's own language for it's
+ .bst-files. Or reimplement GlossTeX using a .bst for BibTeX.
+
+* DONE
+
+** make sure that the following lines don't appear in glosstex.mst
+ (which btw should really be called glosstex.ist)
+
+ \def\filename{glosstex}
+ \def\fileversion{0.4a}
+ \def\filedate{1997/06/12}
+ \let\docdate=\filedate
+
+** TDS: glosstex.mst should be called glosstex.ist (which is more
+ common in the TeX world) and moved to texmf/makeindex
+
+** Damit die Acronym-expansion funktionieren kann, muß die .glx-Datei
+ mindestens einmal abgearbeitet werden, auch wenn gar keine Liste
+ erwünscht ist. Abhilfe: \printglosstex(foo) oder neuen Befehl
+ \printglosstex* einführen, der keine Ausgabe erzeugt.
+
+ Put something into \AtEndOfPackage{\printglosstex{foobarkazong}} or
+ better, with \AtBeginDocument
+
+** use README.m4 as source for README and LICENSE
+
+** ist ein begriff explizit in irgendeiner liste explizit angefordert,
+ wird dieser aber per "*" etwa in einer anderen liste auch
+ angefordert, taucht er dort nicht auf. möglichkeit: wildcards
+ werden in einem 2. pass eingetragen, da explizite referenzen
+ priorität haben. 1.37 ist halbwegs korrekte version, bei der dieser
+ bug noch auftritt.
+
+** the endmark \glosstexpage := \hfill\page doesn't work reliably. see
+ thmmarks.sty (I can't seem to find it) and ntheorem.sty for a
+ better solution. Or avoid this problem at all. There are also some
+ minor layout problems due to formatting the output.
+
+** was genau passiert, wenn irgendwelche einträge mit "*" angefordert
+ werden, dieselben einträge aber auch explizit? in welchen listen
+ tauchen die ganzen einträge dann auf? Das sollte genauestens
+ Dokumentiert werden, auch im Source!
+
+ Die Sache ist erledigt. Alles läuft jetzt in 2 passes! Änderungen
+ v.a. in database.c
+
+
+** (from sad@utk.edu) Die Fu"snotenidee mag ich. Die Package option
+ auch, aber vielleicht w"urde ich es dennoch als zwei getrennt
+ erreichbare Versionen implementieren, also z.B.
+
+ \acf (entweder als ' (<item>) <long-form>' oder als
+ '<long-form> (<item>)', je nach package option, und
+ entweder im text oder als footnote, je nach package option)
+ \acft (entweder als ' (<item>) <long-form>' oder
+ '<long-form> (<item>)', je nach package option, aber im
+ text)
+ \acftl (immer als '<long-form> (<item>)' aber im text)
+ \acfti (immer als '(<item>) <long-form>' aber im text)
+ \acff (wie \acft{} aber als footnote)
+ \acffl (wie oben, aber als footnote)
+ \acffi (wie oben, aber als footnote)
+
+
+Das gibt die gr"o"ste Freiheit f"ur's Formatieren, denn manchmal klingt,
+vor allem im Deutschen mit diesen W"ortern, die zwei Kapitel spannen und
+immer noch dreizeilige Acronyme produzieren, '<long-form> (<item>)'
+einfach traurig, vor allem, wenn 'long-form' irgendwelche grammatischen
+Schn"orkel beinhaltet. Hm, Beispiel, an den Haaren herbeigezogen:
+
+ Wir waren in 'Die nordamerikanische Tomatenschlacht' (DNATS)
+
+klingt trauriger als das meiner Meinung nach bessere jedoch
+sich dem glosstex Ansatz entziehende
+
+ Wir waren in der 'nordamerikanischen Tomatenschlacht' (DNATS)
+
+w"ahrend
+
+ Wir waren in DNATS ('Die nordamerikanische Tomatenschlacht')
+
+das umgeht ohne den Filmtitel zu ver"andern.
+
+Da f"allt dann noch eine andere M"oglichkeit f"ur optionen a la
+Makeindex auf: Wahlweise 'open quote' 'close quote' Symbole um die
+Langform, sagen wir mal per default als blanks wenn vorangestellt und
+als '(' und ')' wenn hinten an, aber einstellbar als alles m"ogliche,
+z.~B. als die folgenden Paare (einzeln ansprechbar)
+
+ ' '
+ " "
+ ` `
+ ` '
+ `` ''
+ ( )
+ [ ]
+ \{ \}
+ -- --
+ --- ---
+ , ,
+
+oder auch beliebige andere folgen, wie
+
+ (' ')
+ --- oder ausf"uhrlicher geschreiben, , selbst wenn sich das ziemlich
+ beschissen liest ---
+
+
+usw. :-) Dann vielleicht noch ein bi"schen Feinkontrolle "uber's
+Erscheinungsbild des Textes (sagen wir mal, \textbf{}. \textsc{}.
+\text{tt} usw) getrennt f"ur beide Teile, und alle interessanten
+M"oglichkeiten sollten ersch"opft sein. Ich f"ande das ganz sch"on, auch
+wenn man das nat"urlich schon itzo per Hand mit ein paar Macros machen
+kann. (Nat"urlich sollte glosstex dann tcp/ip enabled sein und einen
+report per sendmail zu Dir schicken, falls irgendwer au"ser mir
+diese Schn"orkel wirklich benutzt :->).
+
+** in \GLX@do@acf die Klammern () durch Macros ersetzen, abhängig von
+ <list>
+
+** removed little bug in database.c that caused failure while parsing
+ a <long-form> containing a ``,``.
+
+** there's a strange bug in the Makefile that causes on recursive
+ invocation of $(MAKE) Makefile.os2 and Makefile.unx to be read
+ additionally to Makefile. dev only. This should be worth a
+ bug-report, but first construct this bug on a minimal makefile.
+
+ Oh man, I am so stupid. MAKEFILES is a special variable in
+ make. RTFM!
+
+ Have a look at the Makefile from doc++ in /usr/local/lib/doc++/src,
+ especially the "release" target.
+
+** write a kpathsea sh-wrapper around glosstex.bin to be used with
+ teTeX
+
+ or
+
+ call MakeIndex from within GlossTeX with exec(). Should also work
+ with DOS (process.h instead of unistd.h in UNIX). name of MakeIndex
+ binary should be configureable. in DOS, it's called makeindx,
+ AFAIK.
+
+ or
+
+ some path searching functionality to find .gdf-files and .mst files
+ (in combination with the above). maybe a sh-kpathsea-wrapper like
+ makeindex and makeindex.bin in teTeX? Drawback: only functional
+ under Unix (so what!). Another solution: combine this with the
+ kpathsea sh-wrapper, something similar to texi2dvi, which also
+ calls makeindex and so forth.
+
+ note: kpse is some kind of black magic to me (at least at the
+ moment), so the instructions below may be complete nonsense,
+ nonstandard and absolutely ridiculous. but they work for me.
+
+ check wether "kpsetool -v -n glosstex '$GDFINPUTS'" or "kpsetool
+ -v -n tex '$GDFINPUTS'" do what you want, i.e. their output
+ should be equal. These won't find your teTeX texmf tree (where
+ your texmf.cnf file lives) if glosstex is not in something like
+ teTeX/bin or "teTeX/bin/foo-bar". in these cases, replace
+ "TETEXDIR = $SELFAUTOPARENT" in texmf.cnf with something like
+ "TETEXDIR = /usr/local/lib/teTeX". this makes sure that the
+ proper texmf tree is found, even if glosstex is not in the teTeX
+ texmf tree but in your local TeX tree.
+
+ You also need symbolic links from
+ /usr/local/lib/localTeX/texmf.cnf to your teTeX texmf.cnf. This
+ is because kpatsea looks for texmf.cnf in the tree where the
+ binary was found.
+
+** when glosstex is called with non-existant files, the output files
+ .gxg and gxs are created nevertheless. Maybe we should unlink them
+ before exiting?
+
+** do some stuff with autoconf and automake to automatically generate
+ glosstex-i486-unknown-linux binaries for distrib.
+
+ done this with uname -something.
+
+** parenl und parenr auch auf item-ebene festlegen. done using
+ \ac,lparen,rparen,<form>(list)[pageref-mode]{item}
+
+** \newcommand{\glosstexgroup} for use with lethead_prefix in
+ MakeIndex, similar to \nomgroup. not really necessary. what is this
+ good for, anyhow?
+
+ This wont work, since glosstex produces list_item, to embed all
+ items from all lists into one list for makeindex. makeindex would
+ only recognize a new group based on the first letter or the list,
+ which is not what we want.
+
+** some macros have to be declared \long (\newcommand*) to be able to
+ accept whole paragraphs as arguments. Especially those who define
+ the begin environment stuff
+
+** update documentation. new user-level commands:
+
+ options: itemfirst, longfirst, text, footnote, roundparen,
+ squareparen
+
+ <i> : item/short-form first oder <l>: long-form first
+ <t> : inline in text oder <g>: as footnote
+
+ new commands:
+ \ac<form>(list)[pageref-mode]{item}
+ \acf<form>(list)[pageref-mode]{item}
+
+ glxitemorderdefault[list]{i|l}, glxitemplacementdefault[list]{t|f},
+ glxparendefault[list]{left}{right}
+
+** clean up the documentation:
+
+ use more logical markup in documentation instead of visual. also
+ make the documentation and source more consistent with respect to
+ terminology ** check that at EOL, there is always a % in .dtx
+
+ document each macro in dtx, especially the arguments
+
+** move most of the info from the READMES into the main
+ documentation. The README should only contain the most basic idea
+ on what glosstex is.
+
+** \AtEndOfDocument tell user, that there were undefined terms and
+ that she should run glosstex.
+
+** contact the maintainer of the latex catalogue
+
+;;; Local Variables:
+;;; mode: indented-text
+;;; mode: outline-minor
+;;; End: