\centerline{\bf dbPublisher} \smallskip\noindent Two products have appeared on the market in the last year or so which enable the user (naive or not-so naive -- see below) to extract data from a database or spreadsheet and automatically typeset (or DTP) it. The two products are called, rather confusingly, dbPublisher (distributed in the UK by Migent) and DataBase Publisher (written and distributed by the Graphics Technology Group -- GTG). So what is the difference between them and why review the former in \Texline? DataBase Publisher is intended to be an interface between dBase and either Ventura or Pagemaker. It will also pick up from sequential \ascii\ files (and this is how one handles data from other databases) and GTG will write output filters to other DTP\slash typesetting packages; they presumably could write one for \TeX. In other words DataBase Publisher has no formatting or output facilities of its own. dbPublisher, on the other hand does everything -- it makes it possible to pick up data directly from a whole range of databases, spreadsheets and word-processors (as well as sequential \ascii\ files) and it pipes this data (I use a \unix\ term even though the package only runs under DOS, because there is a direct transfer from one process to the next), through a generic mark-up interpreter, to (surprise, surprise!) \TeX{}. It does take some time to realise that \TeX{} is the formatter used in this package (unless you recognise the otherwise uninterpretable error messages), because it is only hidden away in one of the Appendices of the manual, describing a form of generic coding, that suddenly one sees {\narrower \noindent \hbox{``|... | {\tt \TeX\ Commands} ||}\hfil\break Allows passing \TeX{} commands directly through \SGML\ mode. If you know what \TeX{} is you will be pleased. If you are not familiar with \TeX{}, this command should not be used. It is included only for those wonderful lunatic-fringe folks who have mastered \TeX{} macros (you know who you are).'' \smallskip} So there it is and incidentally there is also a \PS\ {\tt Passthrough} command `for certifiable \PS\ addicts only'. That is the good side of dbPublisher, in other words, at least in theory, you have the potential to anything that \TeX{} can do, with a powerful data extraction and sort facility on the front. The problems come once one starts to use it. The first problem I had (and still have) is that dbPublisher uses its own graphics interface (one of the many produced before Windows became standard). This is different enough from Windows to be confusing at times (when do you click and when do you double-click?) and for my system, an ACER 386 with an Adaptec controller, was disastrous because the controller uses the same interrupts as the windowing software and every time I tried to preview a file, the system rebooted! I still have not solved this problem and changing the Adaptec interrupts seems to be the only way, which I am not keen on doing. So the following comments are based on work on a client's system (a Tandon, where everything did work properly). DataBase Publisher has a very easy to use interface, using Windows, where one clicks on options or clicks, holds and moves fields into the order required; everything is graphical and one can achieve results very quickly. With dbPublisher, however, the interface is partly graphical and partly character-based. And it is difficult to learn. The manual takes one through a series of exercises, which are fine if that is what you want to do, but if what you want to do is slightly different, then it may take quite a while to work out how to achieve it. The selection and formatting commands are interspersed and can be accessed in most cases either by typing in what you want, although you will probably have to bring up a 4GL-type menu to do it, or by placing boxes on the graphically displayed page. To try and summarize the procedure in a review is almost impossible; after all the manual does not succeed very well in over 200 pages. Having been fairly critical, I should say that I believe that dbPublisher is an immensely powerful package, once one has worked out what to do. I managed to produce a directory using it, and more recently a mailmerge program which works directly from the database (Rbase in this case) with virtually any selection criterion and the ability to allow for missing address fields while still starting the salutation line (Dear\dots) at the same point for window-envelope use. This can obviously be achieved in other ways, but the final program (once I had worked it out) is really quite simple. Programs can of course be very complicated, but the processing times tend to extend; this is fine if you know that everything is working, but when you are testing a program it can be annoying. One good feature is that one can test programs on a few database records, so that development times are reduced (this was not so on the first version). Another good feature is that you can preview files before printing them (if your system allows it!), and I would suggest that this is always the way to operate. I have not said anything about how dbPublisher uses \TeX{}. This is mainly because I am no \TeX{}pert. Certainly, I have found no problem in getting the typographic output I wanted; most of the problems I have encountered have been in the selection side. There is a sample generic file provided, but not a sample \TeX{} file. It would be interesting to try to pass a complete \TeX{} file through dbPublisher and see if the result is as expected. If only the package would work on my system\dots\ In summary, I think that dbPublisher is very good value for someone who has no DTP program already, but has some programming experience (or access to someone who has -- runtime versions can be produced). If you are already running Ventura or PageMaker, then DataBase Publisher is probably a more practical solution. However, as a \TeX{} user you would certainly find dbPublisher interesting, if at times frustrating, to play with and for the right application it could be just what you want. And if someone would write a good manual or handbook on the package, then I am sure that it could almost become a leading contender in the DTP field, unless of course you have an Adaptec controller! \author{David Penfold}