$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 and
to allow for greater flexibility. Or alternatively, provide \GLX@output@short@lt, lf, it, if. That way, we wouldn't need to parse the -stuff. Just pass . ** 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 ' () ' oder als ' ()', je nach package option, und entweder im text oder als footnote, je nach package option) \acft (entweder als ' () ' oder ' ()', je nach package option, aber im text) \acftl (immer als ' ()' aber im text) \acfti (immer als '() ' 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, ' ()' 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 ** removed little bug in database.c that caused failure while parsing a 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,(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 : item/short-form first oder : long-form first : inline in text oder : as footnote new commands: \ac(list)[pageref-mode]{item} \acf(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: