TUG 2000

Abstracts submitted to TUG 2000


1. Benjamin Bayart: FDNTeX manifest

This article is the manifest of what FDNTeX should become in a near future. It is a manifest, and as it, it cannot be a pure prediction of the future. It just contains the first ideas of what should be done for this new distribution of TeX.

2. Kaveh Bazargan: Multiple output from generic TeX files

3. Barbara Beeton: Unicode and math, a combination whose time has come – Finally!

To technical publishers looking at ways to provide mathematical content in electronic form (Web pages, e-books, etc.), fonts are seen as “an f-word”. Without an adequate complement of symbols and alphabetic type styles available for direct presentation of mathematical expressions, the possibilities are limited to such workarounds as .gif and .pdf files, either of which limits the flexibility of presentation.

The STIX project (Scientific and Technical Information eXchange), representing a consortium of scientific and technical publishers and scientific societies, has been trying to do something about filling this gap. Starting with a comprehensive list of symbols used in technical publishing, drawn from the fonts of consortium members and from other sources like the public entity sets for SGML as listed in the ISO Technical Report 9573-13, a proposal was made to the Unicode Technical Committee to add more math symbols and variant alphabets to Unicode. Negotiations have been underway since mid-1997 (the wheels of standards organizations grind exceedingly slowly), but things are beginning to happen.

This paper will share the latest information on the progress of additional math symbols in Unicode, and the plans for making fonts of these symbols freely available to anyone who needs them.

4. A. Berdnikov, Yu. Yarmola, O. Lapko and A. Janishewsky: Some experience in converting LH Fonts from Metafont to Type1 format

This paper decribes the long-term project in converting LH fonts by O. Lapko from Metafont format into more suitable for modern typography Type1 format. The combination of

makes the basis for the hope of success (finally!) in creating the full Type1 analogs of EC and LH fonts.

Other topics considered in this paper are:

This work is under preparation now.

5. Marina Yu. Nikulina and Alexander S. Berdnikov: Chess fonts and chess macros for chess games and puzzles

Well known chess macros CHESS.STY (by Piet Tutelaers) and BDFCHESS.STY (by Frank Hassel) do not work well with russian language without manual correction of the original macro. After issuing new Babel package (versions 3.6 and 3.7) CHESS.STY and BDFCHESS.STY cannot recognize the presence of Babel and as a result would not support the multilanguage chess notation correctly. The other reason to issue new macro is that CHESS.STY and BDFCHESS.STY deal with the classical chess game only – such things as the non-standard figures and non-standard chess boards are not supported.

The new macro package is described which tries to correct these remarks. It follows the scheme suggested in CHESS.STY and BDFCHESS.STY and is more the extension of the ideas suggested in these packages than the original macro package. It includes the support of the multilingual chess notation in a more robust way (including the support of the russian notation). It also uses extended chess font enabling to represent chess and checkers on non-standard boards (like the hexagonal one) and with non-standard pieces, to draw the arrows showing the moves, etc.

It is planned that the Metafont fonts will be accomplished with equivalent Type1 fonts, but this depends greatly on the success of another project – the converter from MF to Type1.

This work is under preparation now. Depending on its success the contribution may be divided into two reports:

6. Olga A. Grineva, Galina V. Mitina, Alexey V. Filippov and Alexander S. Berdnikov: PMPict – Poor Man' Picture package, the extension of the standard LaTeX picture environment

While there are many powerful tools to draw graphics in LaTeX (pictex, dratex, xypic, mfpic, pstrics), most ordinary users still prefer to use the native LaTeX' environment `picture' with (may be) some its extensions like epic.sty, eepic.sty, eepicemu.sty.

Among these extensions there is the style file pmgraph.sty suggested some time ago – it tries to overcome the limitations of the vector slopes and circular element sizes available in standard LaTeX using the magnified LaTeX graphical fonts. Although that solution was satisfactory for high resolution output with medium requirements to picture quality, it appears to be quite bad when the .pdf-file from .tex-file is created – all the "wire-edges" are clearly visible on screen at sufficient magnification.

Similar problems arize with epic.sty and eepicemu.sty – the overlappings of individual line segments are clearly visible. For another reason the pictures created from tiny points by pictex and drawtex are also not too good when used for .pdf-files – while it takes a lot of time and resources for TeX compiler to create the .dvi-file, it takes no less time and resources from .pdf-viewer to display it on screen. Conversion of MFPiC output into input data acceptable for .pdf-document requires expert level skills, and the same is true for PSTricks (if this is possible at all). But xypic works without problems, and the same is true for the interactive drawing programs which produces the .ps and .eps output (lately converted to .pdf by GhostScript).

To help the users who still use standard LaTeX drawing tools, the style file pmgraph.sty was modified and extended. The result of this modification is the LaTeX> package `pmpict' described here. The major extension is the possibility to draw the lines with arbitrary slopes without visually distinguishable wire-edges – it requires the 8-bit line fonts instead of 7-bit line10 and linew10 used by LaTeX. Similarly the range of circular sizes is highly extended in pmpict by using 8-bit fonts. While most of other extensions (like frames with multiple shadows) are just copied from pmgraph.sty, the user can find some new and attractive features like `turtle graphics' and arithmetics with variables, points and vectors.

7. Wlodek Bzyl: Typesetting TeX documents containing computer code

I would like to present a preprocessor driven by grammars able to automatically mark-up (pretty-print and cross-reference) pieces of computer code immersed in a TeX document.

By computer code I mean any language for which exists BNF (Backus-Naur Form) grammar which YACC (Bison) tool accepts. These include almost any computer language. But my tool could use any such grammar to automatically mark-up text written in the language defined by it.

8. David Carlisle: xmltex: A non validating (and not 100% conforming) namespace aware XML parser implemented in TeX

xmltex implements a non validating parser for documents matching the W3C XML Namespaces Recommendation.

The system may just be used to parse the file (expanding entity references and normalising namespace declarations) in which case it records a trace of the parse on the terminal. Normally however the information from the parse is used to trigger TeX typesetting code. Declarations (in TeX syntax) are provided as part of xmltex to associate TeX code with the start and end of each XML element, attributes, processing instructions, and with unicode character data.

9. Donald W. DeLand and Greg Faron: Developing Interactive, Web-based Courseware

This paper describes our company's ongoing efforts to adapt mathematics textbooks for online delivery. We show how the textbooks, written primarily in LaTeX, have been adapted for web delivery using IBM's techexplorer browser plug-in, and enhanced using an extensive set of interactive Java applets. To complement these textbooks, we are developing an online study, homework, and testing system for mathematics that combines techexplorer, PHP (a free, open-source hypertext preprocessor), mySQL (an open-source database application), and application links to computer algebra systems. Our ultimate goal is to provide a comprehensive environment for delivering math courseware online.

10. Michael Downes: An amsrefs package for LaTeX

A new references package for LaTeX and an associated BibTeX style will be released by the American Mathematical Society in 2000. In passing information from a .bib file to a .bbl file, the BibTeX style leaves it almost unchanged, apart from doing the sorting and omitting superfluous fields. This resolves an obvious anomaly in LaTeX documents: that full logical markup is used everywhere, in keeping with the fundamental principles of LaTeX – except in the bibliography. Of course there normally is logical markup behind the scenes, in the BibTeX database files; the trouble is that the logical markup is discarded in the process of producing the .bbl file. This becomes significant when a LaTeX document passes into the hands of a publisher, who will typically wish for it to serve as (or to yield via automatic translation) a self-contained archival version of the document. As another benefit, the markup provided by the amsrefs package makes it possible to place the bibliography style specs entirely under the control of the LaTeX documentclass file, instead of having them split awkwardly between two locations (the class file and the BibTeX style file). The package also provides additional citing commands to address some conceptual problems in the design of the standard \cite command.

11. Jonathan Fine: Line and page breaking

In their seminal paper of 1981, Knuth and Plass described how to apply the method of discrete dynamic programming to the problem of breaking a paragraph into lines. This paper describes how the same method can be applied to the problem of page make up, or in other words breaking paragraphs into pages. One of the key ideas is that there must be interaction between the line breaking and page breaking routines.

This version of the paper describes the problem, and the approach taken. Work is in progress to implement the algorithms described here. Visit http://www.active-tex.demon.co.uk for macros and the latest information.

12. Pedro Palao Gostanza: Fast scanners and self-parsing in TeX

It is customary to embed little languages in TeX LaTeX picture environment, XY-pic and TESLA are illustrative examples. TeX can process these languages in a reasonable fast manner because their syntax is chosen with TeX abilities in mind; for instance, arguments are surrounded with braces or delimited with hash characters. Also, programs written with these little languages are usually small. Sometimes, TeX has to process programs written in bigger languages, or in languages designed without TeX concern. Typical examples are pretty-printing or interpreting high level languages or typesetting HTML directly.

13. Hans Hagen, Han The Thanh, Erik Frambach, Berend de Boer and Ed Cashin: A PDFTeX showcase

Topics will include some or all of:

14. Yannis Haralambous: Typesetting Scholarly Documents at the Atelier Fluxus Virus

Atelier Fluxus Virus is a company specialized in typesetting critical editions, documents using classical or oriental languages (ancient Greek, Latin, Arabic, Hebrew, Syriac, Copric, Hieroglyphic Egyptian, Amharic, Sanskrit, Armenian, Georgian, etc.) and more generally books considered as “difficult” to typeset. In this talk we will describe problems we have encountered and methods and tools we have developed and are using to solve them.

15. John Plaice and Yannis Haralambous: Omega version 2

We present the latest developments of the Omega system: multidirectional typesetting, a new accentuation algorithm, the use of external binary translation processes, enhanced XML/MathML generation, etc. We will also give an overview of developments by various Omega users around the world, for different languages and scripts.

16. Hirotsugu Kakugawa: A Device Independent DVI Interpreter Library for Various Output Devices

DVIlib is a device independent DVI interpreter library written in C which has been developed by the author. Since DVIlib is completely independent from specific output devices, new printer drivers and previewers (DVIware) can be easily developed. DVIlib is a set of functions to read and render DVI files. Important two functions in DVIlib are the followings.

To render a page, DVIlib generates a bitmap for each character in a page and call a call-back function to draw a bitmap on a device. For drawing a rule (rectangle) in a page, it calls a call-back function to draw a rectangle on a device. Therefore, what a programmer must do to make a new DVIware is to write device dependent routines (initialization, drawing a bitmap and a rectangle on a device). DVIlib adopts VFlib (See [1,2] for detail) as a font module and therefore many font file formats are available, including PK, GF, VF, and Type 1, for example. Thus, any DVIware that adopts DVIlib supports many font file formats.

DVIlib has an interface module to Ghostscript (gs) to draw EPS (Encapsulated PostScript) figures by the `special' DVI instruction. Each EPS figure is converted to a bitmap by the `special' DVI instruction handling routine in DVIlib and a call-back function to draw a bitmap is called which is also used to draw characters. In case a call-back function to draw a graymap (or pixmap) is defined, EPS figures are rendered in grayscale (or full color).

Since DVIlib is a set of functions to read and render a page, it does not impose a specific user interface on DVIware that uses DVIlib. Each DVIware can define its own user interface, such as a set of command line options and graphical user interface. By defining the same syntax and semantics of command line options and user interface, a family of DVIware for various output devices that offers the same operation can be formed. Not only it is a core of a family of DVIware but also it is used as a core of another family of DVIware.

As sample programs, the author developed several DVIware, for example:

Typical printer drivers can be implemented in 500 lines in C. A previewer on X Window System with minimum functionality is implemented by only 140 lines in C. A previewer with GTK+ toolkit is implemented by about 6000 lines in C. Since all of them adopt DVIlib (and therefore VFlib), all of them support displaying (or printing) EPS figures and various font file formats.

Although combination of xdvi, dvips, and Ghostscript is a strong set of software for TeX DVI files, we may be bothered configuring these software (e.g. font definitions) consistently to obtain the same output. This problem often occurs when we use localized (e.g., Japanese) versions of those software. Since each DVIware which adopts DVIlib share the same DVI interpreter and a font rasterizer module, what we get on paper by printer is exactly the same as what we see on CRT screen (except device resolutions). In addition to this, the same configuration file can be shared by previewer and printer drivers.

Another features of DVIlib are as follows.

DVIlib is offered as a form of library and thus, DVIware is linked against DVIlib. (This approach is different from a family of DVIware by Beebe [5]. Each DVIware by Beebe lexically includes several C functions to form a DVIware.) It is implemented in C and about 6400 lines of code, half of which is a routine for `special' DVI instruction. (VFlib, font module of DVIlib, is also implemented in C and about 33000 lines of code.)

DVIlib a part of the TeX-Guy package which is a set of DVIlib and DVIware based on DVIlib. DVIlib and VFlib are free software and distributed under the terms of Library GNU Public License. They are tested on FreeBSD 3.2 and Solaris 2.5.1; it is not difficult to port it to other Unix-like systems such as Linux. For screen shots and download, access http://TypeHack.aial.hiroshima-u.ac.jp/TeX-Guy/.


17. M. Y. Kolodin, O. V. Eterevksy, O. G. Lapko and I. A. Maknovaya: `Russian style' with LaTeX and Babel: what does it look like and how does it work

General and scientific typesetting in Russia has many specific features that should be supported by (La)TeX. Personal habits, local peculiarities and national traditions and standards are involved, as well as (La)TeX possibilities and limitations. The unified TeX implementation, stand-alone or based on Babel, is needed to meet all the requirements. These peculiarities and implementation are discussed interdependently in the paper.

18. Michel Lavaud: The AsTeX assistant and navigator

The Assistant AsTEX is a program to aid the use of TeX under Windows 95/98/NT. It permits the entry of commands or collections of commands in any Windows editor via use of toolbar buttons rather than entering at the keyboard.

The navigateur AsTEX allows navigation in dvi, ps, or pdf documents by clicking on elements provided in a navigation window.

It provides an interface independent of the program used to visualise the document. The programs that work with this standard include Dviwin, Dview, GSview and Acrobat Reader.

19. Bernice Sacks Lipkin: LaTeX and the personal database

20. Frank Mittelbach : LaTeX designs using templates

21. Timothy Murphy: The Penrose notation: a LaTeX challenge

Over 30 years ago, Roger Penrose – Oxford mathematician and AI scourge – invented a notation for tensors, which has become a kind of secret language among a coterie of aficionados.

This notation lies somewhere between the classic index notation of relativists and the functorial notation of multilinear algebraists. By general consensus, Penrose' notation avoids the complexity of the first and the chilling abstraction of the second, providing a concrete model for tensor algebra and calculus of great pedagogical value.

The aim of this talk is to describe the Penrose notation – and it should be emphasized at the outset that there are absolutely no mathematical `prerequisites' to understanding this description – and to present a LaTeX package for incorporating the notation into mathematical documents.

This package is far from perfect; indeed it is its very imperfection which encourages the author to place it before this audience, in the hope (and trust) that its collective TeXpertise will suggest improvements in the package, or even an entirely new approach.

Many mathematicians down the centuries have developed their own private languages, necessarily restricted to their notebooks by the exigencies of metal type. It is interesting to speculate on the influence of the press in ironing out idiosyncrasies of thought, in the same way that it ironed out variations in grammar and spelling.

But the digital press opens up a new possibility: these once secret languages may enter the universal realm of mathematical discourse. The one-dimensional age ushered in by Gutenberg may be at an end.

Notations like this are much more than diagrams. They hold the meaning of the document, and enter into the mathematical syntax. In our case, the first step is to express the Penrose notation in BNF form, or its fashionable equivalent, XML.

22. The NTS Team: NTS: New Typesetting System

23. Dick Nickalls and Apostolos Syropoulos: A Perl porting of mathsPIC

This article describes our porting of the MS-DOS mathsPIC (CTAN/graphics/pictex/mathspic/) to standard PERL.

MathsPIC is an MS-DOS filter program for use with the excellent PicTeX drawing engine (note that the PicTeX files have been recently upgraded made more memory-efficient by Andreas Schrell (CTAN/graphics/pictex/addon/). MathsPIC is an unusual graphics package in that it provides an environment for manipulating named points, together with relative addressing, scalar variables, and file access for data points etc. MathsPIC is free (GPL), and is written in PowerBASIC 3.5.

However mathsPIC, as currently formulated, does have certain limitations, for example (a) it has no TeX-like macro capability, (b) it is unable to parse mathematical functions (as can METAFONT or GNUPLOT). Furthermore, all maths libraries for PowerBASIC are commercial. Consequently, in order to significantly extend mathsPIC the authors felt it was necessary to reimplement it in a systems programming language consistent with the philosophy `write once, run everywhere', namely PERL.

During the talk we will present a demonstration of our PERL implementation of mathsPIC. We will describe some of the problems we experienced, and highlight what we feel are the advantages of using PERL. We will also use some of our code to illustrate the use of NOWEB for so-called `literate programming'.

24. Sebastian Rahtz and Michel Goossens: Passive TeX: XSL processing using TeX

This paper describes work in progress to implement XSL (Extensible Style Language) Formatting Objects using TeX. It will be in two parts:

  1. Discussion of the XSL formatting objects, and how to model them in TeX. Our macro package built on top of LaTeX, sharing code with the JadeTeX DSSSL package, covers a substantial part of the XSL specification;
  2. Practical use of XSL; a presentation of some real XML documents using the TEI and Docbook DTDs, and how they fare when rendered to PDF using PassiveTeX
We will conclude with some pointers to future work, and comparison with other XSL FO implementations.

25. Alex Kostin and Michael Vulis: Mixing TeX & PostScript: The GeX Model

GeX is a fast fully-integrated PostScript interpreter which functions as part of the VTeX code-generator.

GeX offers one-pass compiling of text (TeX) and graphics and thus easy incorporations of graphics files (.eps) and inline ps code (PStricks, PSfrag) within a document. While it is this graphics support which is of primary interest to the end users, the presense of the PostScript interpreter within TeX and its ability to provide feedback to TeX raises interesting questions about mixing text and graphics in general and leads to new graphicx packages.

This article is to design to serve as a short introduction to GeX, seeking to explain the design issues behind GeX and the extentions which now become possible.

Unless specified otherwise, this article desribes the functionality in the freeware version of the VTeX compiler under Linux and OS/2, available of CTAN sites in ../system/vtex.

[TeX Users Group | TUG 2000 Home Page ]

Last updated: Date: 2000-01-14.