@include macros.texi @ifset rawfile @node Introduction, What use is it?, (dir), (dir) @top @previewlatex{} in a nutshell @paragraphindent none @end ifset @c ----------------------- @cindex Readme Does your neck hurt from turning between previewer windows and the source too often? This @AUCTeX{} component will render your displayed @LaTeX{} equations right into the editing window where they belong. The purpose of @previewlatex{} is to embed @LaTeX{} environments such as display math or figures into the source buffers and switch conveniently between source and image representation. @menu * What use is it?:: * Activating preview-latex:: * Getting started:: * Basic modes of operation:: * More documentation:: * Availability:: * Contacts:: @end menu @ifset rawfile @node What use is it?, Activating preview-latex, Introduction, Introduction @chapter What use is it? @raisesections @end ifset @ifclear rawfile @node What use is it?, Activating preview-latex, Introduction, Introduction @section What use is it? @end ifclear @cindex Philosophy of @previewlatex{} @acronym{WYSIWYG} (what you see is what you get) sometimes is considered all the rage, sometimes frowned upon. Do we really want it? Wrong question. The right question is @emph{what} we want from it. Except when finetuning the layout, we don't want to use printer fonts for on-screen text editing. The low resolution and contrast of a computer screen render all but the coarsest printer fonts (those for low-quality newsprint) unappealing, and the margins and pagination of the print are not wanted on the screen, either. On the other hand, more complex visual compositions like math formulas and tables can't easily be taken in when seen only in the source. @previewlatex{} strikes a balance: it only uses graphic renditions of the output for certain, configurable constructs, does this only when told, and then right in the source code. Switching back and forth between the source and preview is easy and natural and can be done for each image independently. Behind the scenes of @previewlatex{}, a sophisticated framework of other programs like @samp{dvipng}, Dvips and Ghostscript are employed together with a special @LaTeX{} style file for extracting the material of interest in the background and providing fast interactive response. @node Activating preview-latex, Getting started, What use is it?, Introduction @section Activating @previewlatex{} @cindex Activation After installation, the package may need to be activated (and remember to activate @AUCTeX{} too). If @previewlatex{} is installed via the Emacs package manager (@acronym{ELPA}), activation should be automatic upon installation. The usual activation (if it is not done automatically) would be @example (load "preview-latex.el" nil t t) @end example If you still don't get a ``Preview'' menu in @LaTeX{} mode in spite of @AUCTeX{} showing its ``Command'', your installation is broken. One possible cause are duplicate Lisp files that might be detectable with @kbd{M-x list-load-path-shadows @key{RET}}. @node Getting started, Basic modes of operation, Activating preview-latex, Introduction @section Getting started Once activated, @previewlatex{} and its documentation will be accessible via its menus (note that @previewlatex{} requires @AUCTeX{} to be loaded). When you have loaded a @LaTeX{} document (a sample document @file{circ.tex} is included in the distribution, but most documents including math and/or figures should do), you can use its menu or @kbd{C-c C-p C-d} (for @samp{Preview/Document}). Previews will now be generated for various objects in your document. You can use the time to take a short look at the other menu entries and key bindings in the @samp{Preview} menu. You'll see the previewed objects change into a roadworks sign when @previewlatex{} has determined just what it is going to preview. Note that you can freely navigate the buffer while this is going on. When the process is finished you will see the objects typeset in your buffer. It is a bad idea, however, to edit the buffer before the roadworks signs appear, since that is the moment when the correlation between the original text and the buffer locations gets established. If the buffer changes before that point of time, the previews will not be placed where they belong. If you do want to change some obvious error you just spotted, we recommend you stop the background process by pressing @kbd{C-c C-k}. To see/edit the @LaTeX{} code for a specific object, put the point (the cursor) on it and press @kbd{C-c C-p C-p} (for @samp{Preview/at point}). It will also do to click with the middle mouse button on the preview. Now you can edit the code, and generate a new preview by again pressing @kbd{C-c C-p C-p} (or by clicking with the middle mouse button on the icon before the edited text). If you are using the @code{desktop} package, previews will remain from one session to the next as long as you don't kill your buffer. @node Basic modes of operation, More documentation, Getting started, Introduction @section Basic modes of operation @previewlatex{} has a number of methods for generating its graphics. Its default operation is equivalent to using the `@LaTeX{}' command from @AUCTeX{}. If this happens to be a call of PDF@LaTeX{} generating @acronym{PDF} output (you need at least @w{@AUCTeX{} 11.51} for this), then Ghostscript will be called directly on the resulting @acronym{PDF} file. If a @acronym{DVI} file gets produced, first Dvips and then Ghostscript get called by default. The image type to be generated by Ghostscript can be configured with @example @kbd{M-x customize-option @key{RET} preview-image-type @key{RET}} @end example @vindex preview-image-type @noindent The default is @samp{png} (the most efficient image type). A special setting is @samp{dvipng} in case you have the @samp{dvipng} @cindex Using dvipng @pindex dvipng program installed. In this case, @samp{dvipng} will be used for converting @acronym{DVI} files and Ghostscript (with a @samp{PNG} device) for converting @acronym{PDF} files. @samp{dvipng} is much faster than the combination of Dvips and Ghostscript. You can get downloads, access to its @acronym{CVS} archive and further information from its @uref{https://savannah.nongnu.org/projects/dvipng, project site}. @node More documentation, Availability, Basic modes of operation, Introduction @section More documentation After the installation, documentation in the form of @ifinfo @ifclear rawfile this @end ifclear @ifset rawfile an @end ifset @end ifinfo @ifnotinfo an @end ifnotinfo info manual will be available. You can access it with the standalone info reader with @example info preview-latex @end example @noindent or by pressing @kbd{C-h i d m preview-latex @key{RET}} in Emacs. Once @previewlatex{} is activated, you can instead use @kbd{C-c C-p @key{TAB}} (or the menu entry @samp{Preview/Read documentation}). Depending on your installation, @ifnottex a printable @end ifnottex @iftex this printed @end iftex manual may also be available in the form of @file{preview-latex.pdf}. Detailed documentation for the @LaTeX{} style used for extracting the preview images is placed in @file{preview.pdf} in a suitable directory during installation; on typical @w{@TeX{} Live}-based systems, @example texdoc preview @end example @noindent will display it. @node Availability, Contacts, More documentation, Introduction @section Availability @cindex Download @cindex @sc{git} access The @previewlatex{} project is now part of @AUCTeX{} and accessible as part of the @uref{https://savannah.gnu.org/projects/auctex,@AUCTeX{} project page}. You can get its files from the @uref{https://ftp.gnu.org/pub/gnu/auctex/,@AUCTeX{} download area}. As of @w{@AUCTeX{} 11.81}, @previewlatex{} should already be integrated into @AUCTeX{}, so no separate download will be necessary. Anonymous Git is available at @uref{git://git.savannah.gnu.org/auctex.git} or @uref{https://git.savannah.gnu.org/git/auctex.git}. You can also @uref{https://git.savannah.gnu.org/cgit/auctex.git,browse the repository} via web interface. @node Contacts, , Availability, Introduction @section Contacts @cindex Contacts @cindex Mailing list Bug reports should be sent by using @kbd{M-x preview-report-bug @key{RET}}, as this will fill in a lot of information interesting to us. If the installation fails (but this should be a rare event), report bugs to @email{bug-auctex@@gnu.org}. There is a general discussion list for @AUCTeX{} which also covers @previewlatex{}, look at @uref{https://lists.gnu.org/mailman/listinfo/auctex}. For more information on the mailing list, send a message with just the word ``help'' as subject or body to @email{auctex-request@@gnu.org}. For the developers, there is the @email{auctex-devel@@gnu.org} list; it would probably make sense to direct feature requests and questions about internal details there. There is a low-volume read-only announcement list available to which you can subscribe by sending a mail with ``subscribe'' in the subject to @email{info-auctex-request@@gnu.org}. Offers to support further development will be appreciated. If you want to show your appreciation with a donation to the main developer, you can do so via PayPal to @email{dak@@gnu.org}, and of course you can arrange for service contracts or for added functionality. Take a look at the @file{TODO} list for suggestions in that area.