This is Info file x-symbol.info, produced by Makeinfo version 1.68 from the input file x-symbol.texi. INFO-DIR-SECTION Editors START-INFO-DIR-ENTRY * X-Symbol:: Semi WYSIWYG for LaTeX, HTML and other "token languages" END-INFO-DIR-ENTRY This file documents X-Symbol, a package providing semi-WYSIWYG for LaTeX, HTML and other "token languages". It uses additional fonts and provide input methods to insert their characters into your document. This is Edition 4.5.1 (XEmacs) of the X-Symbol Manual for X-Symbol 4.5.1, May 2003. Copyright (c) 1998-2003 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided also that the sections entitled "Copying" and "GNU General Public License" are included exactly as in the original, and provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Free Software Foundation.  File: x-symbol.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir) X-Symbol ******** When you edit LaTeX, HTML, BibTeX or TeXinfo sources in Emacs, package X-Symbol provides some kind of WYSIWYG by using real characters for tokens like `\oplus' or `™'. It also provides various input methods to insert these characters. Thumbnails for included images and real super-/subscripts and are also supported. The first part of this master menu lists the major nodes in this Info document, including the indexes. The rest of the menu lists all the lower level nodes in the document. This is Edition 4.5.1 (XEmacs) of the X-Symbol Manual for X-Symbol 4.5.1, May 2003. For recent changes, see *Note News::. Bug fixes, bug reports, improvements, and suggestions are strongly appreciated. If you want to contact the maintainer of package X-Symbol, please read *Note Bug Reports::. * Menu: * Introduction:: Introduction to X-Symbol. * Installation:: What to do before using package X-Symbol. * Concepts:: Token language, conversion, coding, etc. * Input Methods:: How to insert X-Symbol characters. * Features:: Super-/subscripts, images, info, etc. * Supported Languages:: Details of the predefined token languages. * X-Symbol Internals:: How package X-Symbol works. * Problems:: Annoyances, contacting the maintainer. * History:: Changes, wishlist, projects. * Indexes:: Menus covering various topics. -- The Detailed Node Listing -- Introduction * Copying:: X-Symbol is GPL'd. * Summary:: A brief summary of package X-Symbol. * About:: About this manual. Installation * Requirements:: Which programs you need for X-Symbol. * Installing Files:: Basics 1: Put the files into your home dir. * System-wide Installation:: Alternative: Put the files into the XEmacs dir. * Installing Lisp:: Basics 2: Initialize X-Symbol during startup. * Installing Image Converter:: Recommended: How to install `convert'. * Package Integration:: How X-Symbol interacts with other packages. * Installing Fonts:: Optional: What to do when using other fonts. * Installing Fonts Exceed:: If appropriate: What to do when using Exceed. * Installing Fonts Lisp:: If appropriate: Lisp coding for other fonts. * Installing Manual:: Optional: How to create the manual. * Checking Installation:: Is package X-Symbol completely installed? Package Integration * LaTeX Packages:: Packages used in LaTeX buffers. * Syntax Hiliting Packages:: Package `font-lock' and support modes. * File IO Packages:: Compression, encryption, remote files, etc. * Miscellaneous Packages:: Other packages. Concepts of Package X-Symbol * Token Language:: What does a X-Symbol character represent. * Conversion:: Decoding tokens, encoding characters. * Minor Mode:: How to control the behavior of X-Symbol. * Poor Mans Mule:: Running X-Symbol under XEmacs/no-Mule. * Role of font-lock:: Why does X-Symbol need `font-lock'. * Char Group:: Character group and token classes. Conversion: Decoding and Encoding * Default Coding:: Normal File and Default Encoding. * File Coding:: Specific encoding of a file. * Controlling 8bit Coding:: Do you want to store 8bit characters? * Unique Decoding:: Restrict decoding to avoid normalization? * Conversion Commands:: Interactive encoding and decoding. * Copy with Conversion:: Copy & paste with conversion. * Char Aliases:: Different charsets include the same chars. X-Symbol's Input Methods * Introducing Input Methods:: Common behavior of all input methods. * Input Method Token:: Replace token by character. * Input Method Read Token:: Minibuffer input with completion. * Input Method Menu:: Select a menu item. * Input Method Grid:: Choose highlighted character. * Input Method Keyboard:: Compose a key sequence. * Input Method Context:: Replace character sequence. * Input Method Electric:: Automatically replace character sequence. * Input Method Quail:: A Mule input method "x-symbol". * Customizing Input Method:: How to customize the input methods. Features of Package X-Symbol * Super and Subscripts:: Use special fonts for super-/subscripts. * Images:: Images after image insertion commands. * Info:: Display information in echo area. * Ascii Representation:: Derive label from a buffer contents. * Package Information:: Invoke info system, use WWW browser. Images at the end of Image Insertion Commands * Image Display:: When to display images. * Image Conversion:: Producing a scaled-down image. * Image Caching:: Speeding up the image processing. * Special Images:: Signaling specific situations. * Image Editor:: Editing the original image file. Supported Token Languages * Pseudo Language:: Token language "x-symbol charsym". * TeX Macro:: Token language `tex'. * SGML Entity:: Token language `sgml'. * BibTeX Macro:: Token language `bib'. * TeXinfo Command:: Token language `texi'. * External Languages:: Languages defined in other Emacs Packages. Token Language "TeX macro" (`tex') * TeX Macro Basics:: Basics of language "TeX macro". * TeX Macro Features:: Super-/subscripts and images in LaTeX. * TeX Macro Problems:: Problems with TeX macros. * TeX Macro Conversion:: How the conversion of TeX macros works. * TeX Macro Symbols:: Extra Symbols of Language "TeX Macro". Token Language "SGML entity" (`sgml') * SGML Entity Basics:: Basics of Language "SGML entity". * SGML Entity Features:: Super-/Subscripts and Images in HTML. * SGML Entity Conversion:: How the conversion of SGML entities works. X-Symbol Internals * Char Representation:: How X-Symbol represents X-Symbol chars. * Defining Charsets:: How X-Symbol defines additional chars. * Defining Input Methods:: How X-Symbol defines the input methods. * Extending X-Symbol:: How to add fonts and token languages. * Various Internals:: How X-Symbol handles other aspects. * Design Alternatives:: Why X-Symbol is not designed differently. * Language Internals:: How X-Symbol handles languages. * Misc Internals:: Various. TODO. Defining Input Methods * Input Method Objectives:: Input methods should be intuitive/consistent. * Intro Char Descriptions:: An example introducing char descriptions. * Char Descriptions:: The aspects and the contexts of a character. * Example Char Descriptions:: A complete example defining input methods. * Customizing Input Methods:: How to customize the input methods. Extending Package X-Symbol * Extending with Fonts:: How to add fonts to X-Symbol. * Input Definitions:: Guidelines for input definitions. * Font Definition File:: How to define new character in a file. * Language Extension File:: Extending an existing language. * Language Definition File:: Defining a new language. Various Internals * Tagging Insert Commands:: Don't break input methods Token and Electric. * Avoiding Flickering:: Moving cursor in invisible commands. Design Alternatives * Alt Token Representations:: Why we need the conversion. * Alt Global Mode:: How to turn on X-Symbol globally. * Alt Auto Conversion:: When do we convert automatically. Problems, Troubleshooting * Nomule Problems:: X-Symbol provides a *poor* man's Mule. * Spurious Encodings:: Some commands turn off X-Symbol mode. * No Encoding:: The encoding does not work in a rare case. * FAQ:: Frequently asked questions. * Bug Reports:: How to contact the maintainer of X-Symbol. Frequently Asked Questions * FAQ XEmacs Core:: XEmacs crashes when using input method Token * FAQ font-lock:: X-Symbol's fontification does not work. * FAQ Strange Chars:: The buffer contains strange characters * FAQ No Subscripts:: I cannot see any/some super-/subscripts. * FAQ Stupid Subscripts:: I see subscripts where I don't want them. * FAQ Font Size:: The characters are too small or too big. * FAQ Conversion:: The conversion changes some tokens. * FAQ Additional Spaces:: A space is added during the encoding. * FAQ 8bit Chars:: I do not want 8bit characters in the file. * FAQ Hyphen:: I cannot distinguish `hyphen' from `-'. * FAQ Spell Check:: I have problems with spell-checking. * FAQ News and Mail:: I want to use X-Symbol in Gnus or VM. History and Projects * News:: Changes in recent versions. * Wishlist:: Projects for X-Symbol. * Open Questions:: How you can contribute. * Acknowledgments:: People having contributed. News: Changes in Recent Versions of X-Symbol * Changes New:: To be announced. * Changes 4.5:: Released Mar 2003 as beta. * Changes 4.4:: Released June 2002 as beta. * Changes 4.1:: Released Mar 2002 as beta. * Changes 3.4:: Released Mar 2002. * Changes 3.3:: Released Jan 1999. * Changes 3.2:: Released Dec 1998. * Changes 3.1:: Released Oct 1998. * Changes 3.0:: Released Sep 1998 as beta. * Changes Old:: Overview of old releases. Wishlist: Projects for X-Symbol * Wishlist Languages:: Additional token languages. * Wishlist Fonts:: Automatically generated fonts. * Wishlist Emacs:: Changes in Emacs/XEmacs. * Wishlist LaTeX:: Changes in LaTeX. * Wishlist Various:: Other changes. * Wishlist Rejected:: Rejected Suggestions for X-Symbol. Indexes * Key Index:: Key sequences. * Program Index:: Programs and Emacs packages. * Variable Index:: Commands, functions, variables. * Concept Index:: Various topics.  File: x-symbol.info, Node: Introduction, Next: Installation, Prev: Top, Up: Top Introduction ************ When you edit LaTeX, HTML, BibTeX or TeXinfo sources in Emacs, package X-Symbol provides some kind of WYSIWYG by using real characters for tokens like `\oplus' or `™'. It also provides various input methods to insert these characters. Thumbnails for included images and real super-/subscripts and are also supported. * Menu: * Copying:: X-Symbol is GPL'd. * Summary:: A brief summary of package X-Symbol. * About:: About this manual.  File: x-symbol.info, Node: Copying, Next: Summary, Prev: Introduction, Up: Introduction X-Symbol's Copying Conditions: GPL ================================== (This text is stolen from the TeXinfo manual, Edition 4.0). The programs currently being distributed that relate to X-Symbol include Emacs Lisp files and X11 font files. These programs are "free"; this means that everyone is free to use them and free to redistribute them on a free basis. The X-Symbol related programs are not in the public domain; they are copyrighted and there are restrictions on their distribution, but these restrictions are designed to permit everything that a good cooperating citizen would want to do. What is not allowed is to try to prevent others from further sharing any version of these programs that they might get from you. Specifically, we want to make sure that you have the right to give away copies of the programs that relate to X-Symbol, that you receive source code or else can get it if you want it, that you can change these programs or use pieces of them in new free programs, and that you know you can do these things. To make sure that everyone has such rights, we have to forbid you to deprive anyone else of these rights. For example, if you distribute copies of the X-Symbol related programs, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must tell them their rights. Also, for our own protection, we must make certain that everyone finds out that there is no warranty for the programs that relate to X-Symbol. If these programs are modified by someone else and passed on, we want their recipients to know that what they have is not what we distributed, so that any problems introduced by others will not reflect on our reputation. The precise conditions of the licenses for the programs currently being distributed that relate to X-Symbol are found in the General Public Licenses that accompany them.  File: x-symbol.info, Node: Summary, Next: About, Prev: Copying, Up: Introduction Brief Summary of X-Symbol ========================= * X-Symbol provides a *minor mode* which make use of characters in the Latin-1, Latin-2, Latin-3, Latin-5, and Latin-9 font (179 chars + 294 char aliases), the Adobe symbol font (109 chars) and the xsymb1 font (165 chars, distributed with the package). Additional fonts could be used easily. * These characters are used in the buffer to represent *tokens* (e.g., TeX macros, SGML entities, more "token languages" could be added easily) in the file. The *conversion* is done automatically when visiting the file, saving the buffer and turning the minor mode on/off. * Defines 8 *input methods* for these characters: *Menu*, *Grid* (selecting a character with the mouse), *Keyboard*, *Context* (replace/modify similar-looking char sequence), *Electric* (automatic replace), *Quail* (a Mule input method), *Token* (replace token by corresponding char), *Read Token* (completing minibuffer input of token). * Offers some *info* in the echo area for these characters (e.g., that the character under point represents the TeX macro `\leadsto' and that the macro is defined in LaTeX package `latexsym.sty'). * Allows to use a *8bit file encoding* which is different from your "normal" 8bit file encoding, e.g., you can visit TeX files with `\usepackage[latin5]{inputenc}' even if you normally use a Latin-2 font. * Provides a kind of "*poor man's Mule*" when running on an XEmacs without Mule support: it can *display* more than 256 characters via `font-lock' and removes most annoyances resulting from the fact that, without Mule support, many "X-Symbol characters" are actually a sequence of two chars. * Provides fonts for single-line innermost *super-* and *subscripts* to be displayed with per-buffer control. The invisible part, like `' in HTML, is revealed at point. * Displays thumbnails for *images* at the end of image insertion commands with per-buffer control (e.g., `\includegraphics{FILE}' in LaTeX, `' in HTML). They show a scaled-down version of the included image files (using `convert' from ImageMagick (http://www.imagemagick.org/)). A single mouse click on the image or command invokes the image editor for the corresponding image file. * It *does not* and *will not* provide commands to hide (more or less) uninteresting parts of your document or fontify them differently. This is more the task of the corresponding major mode or `font-lock', e.g., `font-latex'. (I admit, the support of super- and subscripts might let you think that this is a good point for the todo list of package X-Symbol.) Using `outline-minor-mode' or folding might also be an alternative. If you prefer a more WYSIWYG-like document processor, you should probably use `LyX' or `GNU TeXmacs'. Here are some reasons why you would use Emacs/XEmacs with package X-Symbol instead: * You have complete control over the LaTeX source. X-Symbol supports more characters. * You can read any LaTeX source and you write normal LaTeX code, i.e., package X-Symbol does not use any special format. * It also supports HTML and TeXinfo documents and BibTeX entries. * You can use your favorite editor, i.e., Emacs or XEmacs.  File: x-symbol.info, Node: About, Prev: Summary, Up: Introduction About this Manual ================= Apart from this manual, there are two other sources of information about X-Symbol: * The web pages of X-Symbol provide a summary of X-Symbol, including some screen shots. You are strongly encouraged to read them carefully. They probably provide enough info for the standard user and can be found at: `http://x-symbol.sourceforge.net/' * The online help for commands (functions) and user options (variables) is quite technical. It is shown during customization and when using Emacs' Help menu. This manual is somewhere in between: it more detailed than the web pages and less technical than the online help. For example, when explaining some functionality, it states the default behavior, gives an impression of what can be customized, and it even lists all related user options, but it does not describes the technical format of possible values of each option. If you want to learn something about X-Symbol's internals, e.g., if you want to define your own token language, see *Note X-Symbol Internals::. This manual does not explain Emacs in general or some optional programs used by this package such as `convert' (used to produce the image thumbnails). It also includes no installation instructions for those programs and the author of this package will not help you with the installation of those programs (sorry for that). You do not have to learn this manual by heart before sending a question to the maintainer of X-Symbol, but you should give the impression that your really have tried to find the necessary information yourself and spend some time making your report precise. Before sending a problem report, please read *Note Bug Reports::.  File: x-symbol.info, Node: Installation, Next: Concepts, Prev: Introduction, Up: Top Installation ************ The short version of the installation instructions for package X-Symbol on XEmacs is: uncompress & extract the *binary distribution* in directory `~/.xemacs/xemacs-packages/', add `(x-symbol-initialize)' to your `~/.emacs' and install ImageMagick for the image support (unless you want to get a warning). Please check the web page *additionally* to the sections here for the installation instructions for package X-Symbol on Emacs. The rest of this chapter contains the long version. I recommend that you read this chapter completely after a short test of X-Symbol, especially if you have customized your Emacs more or less heavily or if you get some problems. * Menu: * Requirements:: Which programs you need for X-Symbol. * Installing Files:: Basics 1: Put the files into your home dir. * System-wide Installation:: Alternative: Put the files into the XEmacs dir. * Installing Lisp:: Basics 2: Initialize X-Symbol during startup. * Installing Image Converter:: Recommended: How to install `convert'. * Package Integration:: How X-Symbol interacts with other packages. * Installing Fonts:: Optional: What to do when using other fonts. * Installing Fonts Exceed:: If appropriate: What to do when using Exceed. * Installing Fonts Lisp:: If appropriate: Lisp coding for other fonts. * Installing Manual:: Optional: How to create the manual. * Checking Installation:: Is package X-Symbol completely installed?  File: x-symbol.info, Node: Requirements, Next: Installing Files, Prev: Installation, Up: Installation Requirements ============ This development version of package X-Symbol works with Emacs-21.1 or higher, and XEmacs 20.4 or higher (XEmacs-21.1.9 is strongly recommended, *Note FAQ XEmacs Core::), with or without Mule support. X-Symbol should work with all window systems Emacs is running under (Mac is not testet and might not work). Under X, no restrictions apply. Under Windows with Emacs, images will not be displayed (they are not yet supported by Emacs under Windows). Under Windows with XEmacs, X-Symbol just supports a limited number of characters (Latin-1, Latin-5, and half the math symbols) and no super- and subscripts, due to missing MS-Windows fonts (*note Wishlist Fonts::.). Under a character terminal, X-Symbol just supports Latin-1 characters only, no super- and subscripts and no images. This package require package `font-lock' (distributed with Emacs and XEmacs), the use of package `lazy-shot' is recommended, see *Note Syntax Hiliting Packages::. If you want to see the images at the end of image insertion commands, install `convert' from ImageMagick (http://www.imagemagick.org/), see *Note Installing Image Converter::. They show a scaled-down version of the included image files. If you want to produce the Info files yourself (they are included in the binary distribution), you need `makeinfo', Version 1.68 or higher. If you want to produce a PS file from the manual, you need `texi2dvi'. If you want to produce an HTML version of this manual, you need `texi2html', Version 1.62 or higher. *Note Installing Manual::.  File: x-symbol.info, Node: Installing Files, Next: System-wide Installation, Prev: Requirements, Up: Installation Put the Files into your Home Directory ====================================== If you use Emacs, please check the web pages of X-Symbol (http://x-symbol.sourceforge.net/news.html). In this section, we assume that you want to install the binary distribution (also called the binary tarball) of package X-Symbol in your home directory. To install it somewhere below the XEmacs root (it might be already there), see *Note System-wide Installation::. If you use the source distribution, you should know what do to instead. In directory `~/.xemacs/xemacs-packages/', run zcat x-symbol-pkg.tar.gz | tar xvf - Remember that `tar' does not overwrite write-protected files. X-Symbol's `pcf' files and font directory must be world-readable since you do not own the X11 font server process. You are on the safe side, if you run chmod -R a+rx ~/.xemacs/xemacs-packages If package X-Symbol has been installed system-wide and you install a newer version in your `~/.xemacs/xemacs-packages/', you get a warning during XEmacs' startup (autoload error: already loaded). You can safely ignore this warning, but there is unfortunately no good way to get rid of it. Yes, XEmacs' packaging system is excellent, but there is still a place for improvements.... Before XEmacs-21.0: the user package directory was `~/.xemacs/' instead of `~/.xemacs/packages/'; also: delete and recompile the `.elc' files.  File: x-symbol.info, Node: System-wide Installation, Next: Installing Lisp, Prev: Installing Files, Up: Installation System-wide Installation: Put the Files into the XEmacs Directory ================================================================= You can skip this section if your have installed X-Symbol in your home directory according to the previous section. If you install package X-Symbol system-wide, use `default.el' and `XEMACS/site-packages/' whenever `~/.emacs' and `~/.xemacs/xemacs-packages/' are mentioned in the previous or following subsections. `XEMACS/site-packages/' is the directory of independent packages for XEmacs. Under XEmacs-21, you can uncompress and extract the tarball by M-x package-admin-add-binary-package DIR/x-symbol-pkg.tar.gz Then, `XEMACS/' is the default directory of buffer `*Package Output*' (use `C-x C-f' in that buffer to see it). It might be `/usr/local/lib/xemacs/xemacs-packages/' (the first element in variable `late-packages'). Under XEmacs-20, `XEMACS/' might be `/usr/local/lib/xemacs-VERSION/'. Here, you have to uncompress and extract the tarball as described in *Note Installing Files::. You also have to load the autoload file explicitly by putting the following line into file `site-start.el': (load "XEMACS/lisp/x-symbol/auto-autoloads") I would appreciate if you would set the following variables: `x-symbol-installer-address' Please set this variable to your email address to catch problems which could be solved locally. In your private `~/.emacs', you might want to set this variable to `nil'. `x-symbol-package-url' If you have a local copy of the web pages (*note Installing Manual::.), set this variable to the corresponding URL.  File: x-symbol.info, Node: Installing Lisp, Next: Installing Image Converter, Prev: System-wide Installation, Up: Installation Make XEmacs Initialize X-Symbol During Startup ============================================== Put the following into your `~/.emacs' (or `~/.xemacs/init.el'): (x-symbol-initialize) Basically, that's it! If your XEmacs runs on a different machine, check *Note Installing Fonts::. If you get a warning about X-Symbol not being able to deduce a default encoding (or about limited support with XEmacs under Windows or a character terminal, *Note Requirements::), set the default coding (*note Default Coding::.) by putting the following in front of the line above: (setq x-symbol-default-coding 'iso-8859-1) When running Emacs under a character terminal, you might need to use the following (with or without X-Symbol): (unless window-system (standard-display-european 1)) If your character terminal does not support Latin characters, there is no reason to use package X-Symbol. In this case, use the following instead: (when window-system (x-symbol-initialize)) The initialization can be controlled by the following variable: `x-symbol-initialize' By default, package X-Symbol does a full initialization. This includes an integration with some packages, see also *Note Package Integration::. If you use a B/W monitor and XEmacs/no-Mule, it might be necessary to remove the font properties of any face which is used on regions with X-Symbol characters: `isearch', `highlight', `primary-selection', `secondary-selection', `paren-match', `paren-mismatch', `paren-blink-off', `underline'. I.e., for each FACE, use: (remove-specifier (get (get-face 'FACE) 'font))  File: x-symbol.info, Node: Installing Image Converter, Next: Package Integration, Prev: Installing Lisp, Up: Installation Installing the Image Converter from ImageMagick =============================================== Program `convert' from ImageMagick is used to display images at the end of image insertion commands. The images show a scaled-down version of the included image files. While the installation of `convert' is optional, you get a warning if `convert' is not found on your system or if there is no image format supported by both `convert' and Emacs. Set variable `x-symbol-image-converter' to `nil' if you don't want to get the warning. On Unix, `convert' must be in your `$PATH'. On Windows, it is assumed to be found at `C:\ImageMagick\convert'. If this is not the case, you have to customize the variable `x-symbol-image-convert-program'. Check `http://www.imagemagick.org/' for the installation instructions. Run `convert -h' and `convert -list Format' (in newer versions of ImageMagick) in your shell to check whether the installation of ImageMagick was successful. If you have problems, check the ImageMagick web page for FAQs and mailing lists. If you do not have a truecolor device (i.e., just 256 colors), package X-Symbol uses `convert' with a colormap by default (*note Image Conversion::.). You might create and use your own colormap instead. It should be tuned to include the colors you use in Emacs anyway, i.e., the face colors.  File: x-symbol.info, Node: Package Integration, Next: Installing Fonts, Prev: Installing Image Converter, Up: Installation Package Integration =================== You might skip this section when trying package X-Symbol the first time. Nevertheless, I strongly recommend to read this section if you have customized your Emacs more or less heavily or if you get some problems. Some features of X-Symbol work by hooking itself into existing functions of Emacs or related packages via predefined hooks. A potential problem arises if your customization or other packages use the same hooks, or if other packages assume these hooks not to be used, e.g., some packages assume the buffer contents to contain the same characters as the corresponding file. This section lists some special adaptation for other packages (everything is fine if you do not use these packages). It also lists potential problems in combination with other packages. If you discover some problems in combination with other packages, please let me know. * Menu: * LaTeX Packages:: Packages used in LaTeX buffers. * Syntax Hiliting Packages:: Package `font-lock' and support modes. * File IO Packages:: Compression, encryption, remote files, etc. * Miscellaneous Packages:: Other packages.  File: x-symbol.info, Node: LaTeX Packages, Next: Syntax Hiliting Packages, Prev: Package Integration, Up: Package Integration LaTeX Packages -------------- Objectives: relate positions in buffer to positions in file, do conversion in master/slave buffers, preserve highlighting, improve input methods and other things. `auctex' Use Version 9.9c or higher, which includes `texmathp'. There is some special X-Symbol adaptation for AucTeX: - X-Symbol supports AucTeX's multifile documents: it respects the variable `TeX-master' when searching for the file encoding (*note File Coding::.) and when converting image files with relative names (*note Image Display::.). - X-Symbol supports AucTeX's region commands: it ensures that characters in `_region_.tex' buffer are converted according to the parent buffer. Initialization changes `TeX-region-hook'. Requires AucTeX, v9.8a or higher. - X-Symbol's input method Electric (*note Input Method Electric::.) with token language `tex' uses package `texmathp'. - AucTeX's math mode commands also inserts X-Symbol characters (*note Mathematics: (auctex)Mathematics.). Initialization sets `LaTeX-math-insert-function'. Requires AucTeX, v9.8a or higher. - If TeX displays an error message, it also displays the context of the error position. AucTeX uses the context to set point to this position when `M-x TeX-next-error' is invoked. The former context are characters in the file, the latter characters in the buffer, X-Symbol provides the translation. Initialization changes `TeX-translate-location-hook'. `bib-cite' Use Version 3.0 or higher. Initialization of package X-Symbol changes the installation of package bib-cite to make X-Symbol's decoding not overwrite `bib-cite's highlighting of `\cite' and friends. `preview-latex' TeX's error positions are also used by package `preview-latex', which was clever enough to reuse the above mentioned hook of AucTeX. Unfortunately, that hook is ... and does not allow a fast translation of error positions, so `preview-latex' allows to provide better variants of functions in that hook. X-Symbol's variant is `x-symbol-tex-preview-locations'. `reftex' Use Version 3.26 or higher. For a workaround for some minor annoyances with the combination RefTeX/X-Symbol/Multifile Document, see *Note Problems and Work-arounds: (reftex)Problems and Work-arounds. By default, the initialization of package X-Symbol makes RefTeX's label creation use the nicer Asciification of package X-Symbol (*note Ascii Representation::.) by setting `reftex-translate-to-ascii-function'. `whizzytex' Use the newest.  File: x-symbol.info, Node: Syntax Hiliting Packages, Next: File IO Packages, Prev: LaTeX Packages, Up: Package Integration Syntax Highlighting Packages (`font-lock' and add-ons) ------------------------------------------------------ Objectives: start highlighting after conversion. Highlighting is needed for super- and subscripts and when using XEmacs without Mule support. `fast-lock' I recommend to use package `lazy-shot' instead. By default, the initialization of package X-Symbol sets `fast-lock-save-faces' to `nil' to make package `fast-lock' work with X-Symbol. `font-latex' I suggest to set `font-lock-maximum-decoration' to value `t', 2 or higher if you do not want to use super- and subscripts in arguments of `\label' and friends. *Note FAQ Stupid Subscripts::. `font-lock' Is required by this package (*note Role of font-lock::.). I strongly recommend *not* to turn on font-lock in *any* mode hook, set `font-lock-auto-fontify' to `t' instead (this is the default, anyway). See also `lazy-shot'. If you turn on font-lock in a mode-hook, visiting a file would become slower, since X-Symbol mode is usually turned on *after* the functions in the mode hook have been run, i.e., the fontification is getting useless if the tokens are automatically decoded. `lazy-lock' From XEmacs-20.3 on, the successor is called `lazy-shot'. `lazy-shot' Is strongly recommended.  File: x-symbol.info, Node: File IO Packages, Next: Miscellaneous Packages, Prev: Syntax Hiliting Packages, Up: Package Integration File I/O Packages ----------------- Issue: compression, encryption and so on can be seen as some kind of conversion. When doing multiple conversion, the sequence matters. `ange-ftp' See also `efs' and `jka-compr'. `comint' The default installation makes `comint's in-/output use X-Symbol's conversion function. If you set variable `comint-input-sender', set it before initializing package X-Symbol. `crypt' `crypt++' I recommend to use package `jka-compr' instead. *Note Spurious Encodings::. *Note No Encoding::. If you use `crypt' or `crypt++' and the character `alpha' looks like `\233a' after `save-buffer', set this variable to `slowest'. *Note Open Questions::. `efs' XEmacs' version of `ange-ftp'. See also `jka-compr'. `iso-cvt' There is no need to use it. Package X-Symbol already provides the conversion between Latin-1 characters and "TeX macros". Package X-Symbol does not provide the German and Spanish conversion tables, though. `iso-sgml' There is no need to use it. Package X-Symbol already provides the conversion between Latin-1 characters and "SGML entities". *Note Miscellaneous Packages::, package `psgml-html'. `jka-compr' Can be used with package X-Symbol, preferred to `crypt'. The following is absolutely necessary (with or without using package X-Symbol, at least in older Emacsen): load `jka-compr' after `efs'/`ange-ftp'! `latin-unity' This XEmacs package can be used with package X-Symbol, functionality is already provided by X-Symbol for Latin-{1,2,3,5,9} characters: remapping (*note Char Aliases::.) and recoding (*note File Coding::.). Has some safe-encoding mechanism, but the test comes currently too early (*note Wishlist Emacs::.). `ucs-tables' The Emacs minor modes `unify-8859-on-decoding-mode' and `unify-8859-on-encoding-mode' can be used with package X-Symbol. `vc' If you use package `crypt', `vc-next-action' and friends encode characters to tokens. *Note Spurious Encodings::.  File: x-symbol.info, Node: Miscellaneous Packages, Prev: File IO Packages, Up: Package Integration Miscellaneous Packages ---------------------- `abbrev' On XEmacs without Mule support, I recommend to set variable `words-include-escapes' to `t'. *Note Nomule Problems::. `completion' Should work with X-Symbol (earlier version of X-Symbol had problems with input method token). `desktop' XEmacs' version (an old one) does not save its `.emacs.desktop' files with a coding system. Emacs' version save it with an incorrect coding system. Thus, strings which contain X-Symbol's private characters might get corrupted. See also package `session' below. `flyspell' Should work apart from the general problem of `ispell'. `func-menu' Should work with X-Symbol. `ispell' The package `ispell' assumes the buffer contents to be the same as the file contents and does not provide any hook to fix this. This should be fixed in `ispell', see *Note Wishlist Emacs::. *Note FAQ Spell Check::. Use a future version (hopefully v3.4). Includes special X-Symbol initialization/handling and defines additional token languages. *Note External Languages::. `psgml-html' `psgml-html': Do not set `html-auto-sgml-entity-conversion' to non-`nil'. *Note File IO Packages::, package `iso-sgml'. `session' Use Version 1.5a or higher. If strings in this file should always be read correctly, you should put `(x-symbol-init-input)' into your `~/.emacs'; otherwise strings containing X-Symbol's private characters read from the `~/.session' file might look funny. See also package `desktop' above. `x-compose' All characters from `x-compose' are also supported by package X-Symbol. Thus, I recommend to use `' instead `C-=' when running under XEmacs without Mule support. *Note Introducing Input Methods::.  File: x-symbol.info, Node: Installing Fonts, Next: Installing Fonts Exceed, Prev: Package Integration, Up: Installation Installing Additional Fonts =========================== You don't have to install X-Symbol fonts in usual circumstances (with the binary distribution, Emacs runs on the same machine, you are happy with the default fonts). If your Emacs runs on a different machine, please follow the steps 5 and 6 below or read the next section. If you want to install additional fonts (since the binary distribution contains only a limited selection of fonts and font sizes), please follow the following sequence which worked for me (on SunOS 5.4-5.6/Solaris). If you have to do s.th. (completely) different on your system, please let me know--I will include your hints. If you are lost with the following instructions, use the standard fonts from the binary distribution. (Sorry, I do not have to time to answer general Unix font questions. Or to be more exact, I'm not an expert in this area.... Nevertheless, if you have a clearer explanation for the installation sequence below, please send me a patch to `man/x-symbol/x-symbol.texi'.) 1. Find the font which you want to replace by checking fonts with the X11 program `xfontsel' or `xfd'. The bad news is that there is no general way to say which character belongs to which font. My only goal was to use standard fonts whenever possible; the rest belong the the xsymb1 font (which I have designed). If you want to use a font as an alternative to another font, it must have the same charset registry-encoding. 2. Find the `.bdf' files of your preferred fonts in your file system or by Internet search engines like Google. The source distribution of package X-Symbol contains `.bdf' files for additional fonts sizes of all fonts except the xsymb1 font (*note Wishlist Fonts::.). There are two categories of `.bdf' files. The first category contains files for fonts which are already installed; the files are needed to create and install the super- and subscript versions. Copy these files to `~/.xemacs/xemacs-packages/etc/x-symbol/origfonts/'. The second category contains files for fonts which are not installed. Copy these files to `~/.xemacs/xemacs-packages/etc/x-symbol/fonts/'. 3. In file `~/.xemacs/xemacs-packages/etc/x-symbol/fonts/Makefile', change variables `ORIGBDFS' for the first category and `BDFS' for the second category accordingly. 4. In directory `~/.xemacs/xemacs-packages/etc/x-symbol/fonts/', execute `make mkdirs', and `make pcfs'. You need GNUs `make' and `perl', Version 5 (or higher). 5. If your Emacs runs on a different machine or if you want to use the fonts outside Emacs, too, add X-Symbol's fonts to your font path by inserting the following in your `~/.xsession' (X11 startup file). xset +fp ~/.xemacs/xemacs-packages/etc/x-symbol/pcf/ For a system-wide installation, you might want to add this directory to the system-wide font path instead. If your system doesn't have `xset', you should copy all `.pcf' files (compiled fonts) from `~/.xemacs/xemacs-packages/etc/x-symbol/pcf/' into directory `/usr/lib/X11/fonts/75dpi/' (Slackware distribution) and run `mkfontdir 75dpi' in that directory. 6. Your are on the safe side if you restart X11 after this. 7. Set the Emacs Lisp variables which define the fonts. *Note Installing Fonts Lisp::.  File: x-symbol.info, Node: Installing Fonts Exceed, Next: Installing Fonts Lisp, Prev: Installing Fonts, Up: Installation Installing Fonts for Exceed (X-server on Windows) ================================================= If your X-server on Windows is Exceed and if you have configured Exceed to use the "native window manager" for your Unix screens, you must install the X-Symbol fonts on Windows. The following works with Exceed 6.0 & NT 4.0 and Exceed 7.0 & Windows 2000: 1. In Unix, edit file `~/.xemacs/xemacs-packages/etc/x-symbol/fonts/makesub' to limit the shift for superscript to 3 points: %supoffs = ('08',3, 10,3, 12,3, 14,3, 16,3, 18,3, 24,3); 2. Then, execute `make mkdirs', and `make gens' in `~/.xemacs/xemacs-packages/etc/x-symbol/fonts/'. If you have problems, please read the previous section. 3. In Exceed's configuration window, click on to open Window `Font Settings'. In this window, click on