diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/glosstex/TODO |
Initial commit
Diffstat (limited to 'support/glosstex/TODO')
-rw-r--r-- | support/glosstex/TODO | 291 |
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: |