Publicon LaTeX conversion problems

*To*: mathgroup at smc.vnet.net*Subject*: [mg51894] Publicon LaTeX conversion problems*From*: blazer at gmail.com (Mat Marcus)*Date*: Thu, 4 Nov 2004 01:50:44 -0500 (EST)*Sender*: owner-wri-mathgroup at wolfram.com

Hi, I am using Mathematica and Publicon to write a book. The book is up to about 100 pages and growing quickly. The final artifact needs to be in AMS LaTeX. Once or twice each week I "Save as LaTeX...", run the output through pdflatex and send it to the "beta testers"/reviewers. I have encountered a number of issues and I am hoping to learn better ways of coping with them by posting here. My first question is simple. I need to use some symbols that the tex conversion process does not directly support. In particular I need to use \[Implies],\[DoubleLeftRightArrow],\[NotVerticalBar],\[NotCongruent],\[RightUpVector] and others. I would like these to appear as \Longrightarrow, \iff,\nmid,\nequiv,\upharpoonright respectively. Instead they are emitted as the non-existent tex commands: (respectively) \wolframcharacter{Implies}, \unicode{21d4}, \unicode{2224}, \unicode{2262}, etc. I have tried several workarounds within Publicon. First I tried to make a special style that would allow raw TeX commands to be emitted unchanged. I would have liked to replace the "Automatic" conversion routine in the TeX ConversionRules with something like an identity function, but it doesn't seem like one exists. I tried InputFormToString and also StripFirstWord["Number"] in the hopes of simulating the identity function, but the conversion process seeems to stumble when these functions the corresponding styles are inlined in an equation cell. I tried creating a special style for each symbol that would emit the appropriate character, but I found this to be too cumbersome. I tried openinig the notebook (with embedded private style sheet) in Mathematica 5.x, but Mathematica crashed when saving it as LaTeX. I tried grabbing the sources for the LaTeX conversion from the web and dropping them into the update folder for Publicon. The hope was to possibly add the "missing" characters to the appropriate table in the conversion source files. Unfortunately I couldn't figure out the appropriate changes to the inti.m file to get the new sources to be preferred. I tried contacting Premiere support, but haven't received useful answers yet. So now I post process with a sed script but I would like to find a better solution entirely within Publicon. My second issue is related. I have some source code snippets, and I would like to associate some conversion rules to a style that would suppress the escaping of backslashes, ampersands, etc. Then I could wrap all of the emitted source code in a \lstlisting block. An "identity"/no-escape conversion function would seem to help here as well. Third issue: graphics are always output as .eps files. UNfortunately, pdflatex cannot handle these. Is it possible to get the graphics to be output in other formats? Or might it help to embed the graphics in the latex instead? It seems like there is some provision for this in the source code for LaTeX conversion, but I can't figure out how to SetOptions to the right state in Publicon. Any advice? Thanks, Mat --- Mat Marcus Senior Computer Scientist Adobe Systems, Inc.