If it would help I am close to a LaTeX tokeniser close to the one described in the TeXbook (Knuth). I figured mathed need it and could send a copy to an interested developer for bug flattening and use elsewhere. It could surely squash problems with reading filenames wiht a few newliines and spaces in them (yup, you are reading straight---linux et al allow anything except / and \0 in filenames, so you could do shell code with the aid of a few directories). Currently it does not handle delimited parameters, catcode magic, \string, \csname<..blah..>\endcsname and macro expansion in general. macro expansion or \csanme<blah>\endcsname and catcode magic. Macro expansion is not supported yet either. Fixers are welcome to add the missing bits. Finally here is a macro you might like, shamelessly adapted from an AMS macro in the TeXbook. It gives you a box flush right, seperated by at least 4em from the text, with a new line if need be. Note: this macro only works at the end of a paragraph and works by adjusting the line break parameters. \long\def\endpf{\ifvmode\hbox{}\fi\unskip\nobreak\penalty50\hskip4em\mbox{}\par fillskip=0pt\hfill$\Box$} -- Duncan (-: "software industry, the: unique industry where selling substandard goods is legal and you can charge extra for fixing the problems."