% $Id: faq-support.tex,v 1.5 2011/05/08 10:16:43 rf10 Exp $ \section{Support Packages for \TeX{}} \Question[Q-xfigetc]{\AllTeX{}-friendly drawing packages} \AliasQuestion{Q-xfig} \AliasQuestion{Q-figetc} \ProgName{(X)Fig} is a menu driven tool that allows you to draw objects on the screen of an \acro{X} workstation; \ProgName{transfig} is a set of tools which translate the code \ProgName{fig}. The list of export formats is very long, and includes \MF{} and \MP{}, Encapsulated \PS{} and \acro{PDF}, as well as combinations that wrap a graphics format in a \LaTeX{} import file, which may include \LaTeX{} commands to place text (compiled by \LaTeX{} itself) as labels, etc., in the figures. There's no explicit port of \ProgName{xfig} to windows (although it is believed to work under \ProgName{cygwin} with its X-windows system). However, the program % ! line break \href{http://tams-www.informatik.uni-hamburg.de/applets/jfig/}{\ProgName{jfig}} is thought by many to be an acceptable substitute, written in Java. \ProgName{Asymptote} is a widely-praised development of the \MP{} language, which can draw 2D or 3D diagrams, and can also label diagrams with \LaTeX{} text; copious documentation is available via \href{http://asymptote.sourceforge.net}{\ProgName{asymptote}'s web site}. \begin{ctanrefs} \item[asymptote]\CTANref{asymptote} \item[xfig]\CTANref{xfig} \item[transfig]\CTANref{transfig} \end{ctanrefs} \LastEdit{2011-05-02} \Question[Q-texcad]{\TeX{}\acro{CAD}, a drawing package for \LaTeX{}} \TeX{}\acro{CAD} is a program for the \acro{PC} which enables the user to draw diagrams on screen using a mouse or arrow keys, with an on-screen menu of available picture-elements. Its output is code for the \LaTeX{} \environment{picture} environment. Optionally, it can be set to include lines at all angles using the em\TeX{} driver-family \htmlignore \csx{special}s (\Qref{}{Q-specials}). \endhtmlignore \begin{htmlversion} \Qref{\csx{special}s}{Q-specials}. \end{htmlversion} \TeX{}\acro{CAD} is part of the em\TeX{} distribution. A Unix port of the program (\ProgName{xtexcad}) has been made. \begin{ctanrefs} \item[emtex]\CTANref{emtex} \item[xtexcad]\CTANref{xtexcad} \end{ctanrefs} \Question[Q-spell]{Spelling checkers for work with \TeX{}} For Unix, \ProgName{ispell} was long the program of choice; it is well integrated with \ProgName{emacs}, and deals with some \TeX{} syntax. However, it has more-or-less been replaced everywhere, by \ProgName{aspell}, which was designed as a successor, and certainly performs better on most metrics; there remains some question as to its performance with \AllTeX{} sources. For Windows, there is a good spell checker incorporated into many of the \Qref*{shell/editor}{Q-editors} combinations that are available. The spell checker from the (now defunct) 4All\TeX{} shell remains available as a separate package, \ProgName{4spell}. For the Macintosh, \ProgName{Excalibur} is the program of choice. It will run in native mode on both sorts of Macintosh. The distribution comes with dictionaries for several languages. The \acro{VMS} Pascal program \ProgName{spell} makes special cases of some important features of \LaTeX{} syntax. For \MSDOS{}, there are several programs. \ProgName{Amspell} can be called from within an editor, and \ProgName{jspell} is an extended version of \ProgName{ispell}. \begin{ctanrefs} \item[4spell]\CTANref{4spell} \item[amspell]\CTANref{amspell} \item[aspell]Browse \CTANref{aspell}~--- choose just those language dictionaries (under subdirectory \File{dict/}) that you need. \item[excalibur]\CTANref{Excalibur} \item[ispell]\CTANref{ispell} \item[jspell]\CTANref{jspell} \item[\nothtml{\bgroup\rmfamily}\acro{VMS}\nothtml{\egroup} spell]% \CTANref{vmspell} \item[winedt]\CTANref{winedt} \end{ctanrefs} \Question[Q-wordcount]{How many words have you written?} One often has to submit a document (e.g., a paper or a dissertation) under some sort of constraint about its size. Sensible people set a constraint in terms of numbers of pages, but there are some that persist in limiting the numbers of words you type. A simple solution to the requirement can be achieved following a simple observation: the powers that be are unlikely to count all the words of a document submitted to them. Therefore, a statistical method can be employed: find how many words there are on a full page; find how many full pages there are in the document (allowing for displays of various sorts, this number will probably not be an integer); multiply the two. However, if the document to be submitted is to determine the success of the rest of one's life, it takes a brave person to thumb their nose at authority quite so comprehensively\dots{} The simplest method is to strip out the \AllTeX{} markup, and to count what's left. On a Unix-like system, this may be done using \ProgName{detex} and the built-in \ProgName{wc}: \begin{quote} \begin{verbatim} detex | wc -w \end{verbatim} \end{quote} The \ProgName{latexcount} script does the same sort of job, in one ``step''; being a \ProgName{perl} script, it is in principle rather easily configured (see documentation inside the script). \ProgName{Winedt} (see \Qref[question]{editors and shells}{Q-editors}) provides this functionality direct in the Windows environment. \ProgName{TeXcount} also goes a long way with heuristics for counting, starting from a \LaTeX{} file; the documentation is comprehensive, and you may try the script on-line via the % ! line break \begin{wideversion} \href{http://folk.uio.no/einarro/Comp/texwordcount.html}{package home page}. \end{wideversion} \begin{narrowversion} package home page~(see \URL{http://folk.uio.no/einarro/Comp/texwordcount.html}). \end{narrowversion} Even quite sophisticated stripping of \AllTeX{} markup can never be entirely reliable, however: that markup itself may contribute typeset words, and this could be a problem. The \Package{wordcount} package contains a Bourne shell (i.e., typically Unix) script for running a \LaTeX{} file with a special piece of supporting \TeX{} code, and then counting word indications in the log file. This is probably as accurate automatic counting as you can get, if it works for you. \begin{ctanrefs} \item[detex]\CTANref{detex} \item[latexcount.pl]\CTANref{latexcount} \item[TeXcount]\CTANref{texcount} \item[wordcount]\CTANref{wordcount} \end{ctanrefs}