Abstracts submitted to TUG 2000
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.
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.
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
Other topics considered in this paper are:
This work is under preparation now.
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:
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.
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.
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.
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.
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.
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.
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.
Topics will include some or all of:
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.
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.
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 . 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/.
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.
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.
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.
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'.
This paper describes work in progress to implement XSL (Extensible Style Language) Formatting Objects using TeX. It will be in two parts:
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.