diff options
Diffstat (limited to 'elpa/auctex-13.1.3/doc/install.texi')
-rw-r--r-- | elpa/auctex-13.1.3/doc/install.texi | 628 |
1 files changed, 628 insertions, 0 deletions
diff --git a/elpa/auctex-13.1.3/doc/install.texi b/elpa/auctex-13.1.3/doc/install.texi new file mode 100644 index 0000000..19034cb --- /dev/null +++ b/elpa/auctex-13.1.3/doc/install.texi @@ -0,0 +1,628 @@ +@c This is part of the AUCTeX Manual. +@c Copyright (C) 1994, 1996, 2003-2007, 2012-2013, +@c 2015, 2017, 2018, 2020, 2021 Free Software Foundation, Inc. +@c See the file auctex.texi for copying conditions. +@ifset rawfile +@include macros.texi +@node Installation,,(dir),(dir) +@top Installing @AUCTeX{} +@end ifset + +@ifclear rawfile +@node Installation +@chapter Installing @AUCTeX{} +@end ifclear + +The modern and strongly recommended way of installing @AUCTeX{} is by +using the Emacs package manager integrated in Emacs 24 and greater +(@acronym{ELPA}). Simply do @kbd{M-x list-packages @key{RET}}, mark the +auctex package for installation with @kbd{i}, and hit @kbd{x} to execute +the installation procedure. That's all. + +@code{use-package} users can use this simple recipe in their +@code{user-init-file} which essentially does the same as the manual +installation explained above. + +@lisp +(use-package tex + :ensure auctex) +@end lisp + +Using the @acronym{ELPA} version has several advantages. Besides being +platform and @acronym{OS} independent, you will receive intermediate +bugfix releases between major @AUCTeX{} releases conveniently. For past +@acronym{ELPA} releases, see +@url{https://elpa.gnu.org/packages/auctex.html}. +@ifclear rawfile +Once the installation is completed, you can skip the rest of this +section and proceed to @ref{Quick Start}. +@end ifclear + +The remainder of this section is about installing @AUCTeX{} from a +release tarball or from a checkout of the @AUCTeX{} repository. + +Installing @AUCTeX{} should be simple: merely @command{./configure}, +@command{make}, and @code{make install} for a standard site-wide +installation (most other installations can be done by specifying a +@option{--prefix=@dots{}} option). + +On many systems, this will already activate the package, making its +modes the default instead of the built-in modes of Emacs. If this is +not the case, consult @ref{Loading the package}. Please read through +this document fully before installing anything. The installation +procedure has changed as compared to earlier versions. Users of @w{MS +Windows} are asked to consult +@ifset rawfile +the file @file{INSTALL.windows}. +@end ifset +@ifclear rawfile +@xref{Installation under MS Windows}. +@end ifclear + +@ifclear rawfile +@menu +* Prerequisites:: +* Configure:: +* Build/install and uninstall:: +* Loading the package:: +* Advice for package providers:: +* Advice for non-privileged users:: +* Installation under MS Windows:: +* Customizing:: +@end menu +@end ifclear + +@ifset rawfile +@menu +* Prerequisites:: +* Configure:: +* Build/install and uninstall:: +* Loading the package:: +* Advice for package providers:: +* Advice for non-privileged users:: +* Customizing:: +@end menu +@end ifset + +@ifset rawfile +@node Prerequisites +@chapter Prerequisites +@raisesections +@end ifset + +@ifclear rawfile +@node Prerequisites +@section Prerequisites +@end ifclear + +@itemize @bullet +@item GNU Emacs 25.1 or higher + +Using @previewlatex{} requires a version of Emacs compiled with image +support. + +@table @b +@item Windows +Precompiled versions are available from +@uref{https://ftp.gnu.org/gnu/emacs/windows/}. +@item macOS +For an overview of precompiled versions of Emacs for macOS see for +example @uref{https://www.emacswiki.org/emacs/EmacsForMacOS}. +@item GNU/Linux +Most GNU/Linux distributions nowadays provide a recent variant of Emacs +via their package repositories. +@item Self-compiled +Compiling Emacs yourself requires a C compiler and a number of tools and +development libraries. Details are beyond the scope of this manual. +Instructions for checking out the source code can be found at +@uref{https://savannah.gnu.org/git/?group=emacs}. +@end table + +@item A working @TeX{} installation + +Well, @AUCTeX{} would be pointless without that. Processing +documentation requires @TeX{}, @LaTeX{} and Texinfo during installation. +@previewlatex{} requires Dvips or @command{dvipng} for its operation in @acronym{DVI} mode. +The default configuration of @AUCTeX{} is tailored for @w{@TeX{} Live}-based +distributions, but can be adapted easily. + +@item A recent Ghostscript + +This is needed for operation of @previewlatex{} in both @acronym{DVI} +and @acronym{PDF} mode. Ghostscript version 7.07 or newer is required. + +@item GNU make + +Recent @AUCTeX{} uses GNU make specific capabilities in the Makefiles. +If your @acronym{OS}'s default @command{make} command is not GNU make, +you have to obtain it in order to build @AUCTeX{} by yourself. GNU make +is sometimes provided under the name @command{gmake} in your +@acronym{OS}'s binary package system. + +@item The Texinfo package + +Strictly speaking, you can get away without it if you are building +from the distribution tarball, have not modified any files and don't +need a printed version of the manual: the pregenerated info file is +included in the tarball. At least @w{version 4.0} is required. + +@end itemize + +For some known issues with various software, see +@ifset rawfile +the @file{PROBLEMS.preview} file. +@end ifset +@ifclear rawfile +@ref{Known problems,,,preview-latex,the @previewlatex{} manual}. +@end ifclear + +@node Configure +@section Configure + +The first step is to configure the source code, telling it where +various files will be. To do so, run + +@example +./configure @var{options} +@end example + +(Note: if you have fetched @AUCTeX{} from Git rather than +a regular release, you will have to first follow the instructions in +@file{README.GIT}). + +On many machines, you will not need to specify any options, but if +@command{configure} cannot determine something on its own, you'll need to +help it out with one of these options: + +@table @code +@item --prefix=@var{prefix} +All automatic placements for package components will be chosen from +sensible existing hierarchies below this: directories like @file{man}, +@file{share} and @file{bin} are supposed to be directly below +@var{prefix}. + +Only if no workable placement can be found there, in some cases an +alternative search will be made in a prefix deduced from a suitable +binary. + +@file{/usr/local} is the default @var{prefix}, intended to be suitable +for a site-wide installation. If you are packaging this as an +operating system component for distribution, the setting @file{/usr} +will probably be the right choice. See @ref{Advice for package +providers} for detail. + +If you are planning to install the package as a single non-priviledged +user, you will typically set @var{prefix} to your home directory. +Consult @ref{Advice for non-privileged users} for addtional +instructions. + +@item --with-emacs=@var{/path/to/emacs} +If you are using a pretest which isn't in your @env{PATH}, or +@command{configure} is not finding the right Emacs executable, you can +specify it with this option. + +@item --with-lispdir=@var{lispdir} +This option specifies the location of the @file{site-lisp} +directory within @code{load-path} under which the files will get +installed (the bulk will get installed in a subdirectory). +@command{./configure} should figure this out by itself. + +@item --with-auctexstartfile=@file{auctex.el} +@itemx --with-previewstartfile=@file{preview-latex.el} +This is the name of the respective startup files. If @var{lispdir} +contains a subdirectory @file{site-start.d}, the start files are +placed there, and @file{site-start.el} should +load them automatically. Please be aware that you must not move the +start files after installation since other files are found +@emph{relative} to them. + +@item --with-packagelispdir=@file{auctex} +This is the directory where the bulk of the package gets located. The +startfile adds this into @code{load-path}. + +@item --with-auto-dir=@var{/dir} +You can use this option to specify the directory containing +automatically generated information by @kbd{M-x TeX-auto-generate-global @key{RET}}. It is not necessary for most +@TeX{} installs, but may be used if you don't like the directory that +configure is suggesting. + +@item --help +This is not an option specific to @AUCTeX{}. A number of standard +options to @command{configure} exist, and we do not have the room to +describe them here; a short description of each is available, using +@option{--help}. + +@c FIXME: It seems this no longer holds. +@c If you use @samp{--help=recursive}, then also @previewlatex{}-specific +@c options will get listed. + +@item --disable-preview +This disables configuration and installation of @previewlatex{}. This +option is not actually recommended. If your Emacs does not support +images, you should really upgrade to a newer version. Distributors +should, if possible, refrain from distributing @AUCTeX{} and +@previewlatex{} separately in order to avoid confusion and upgrade +hassles if users install partial packages on their own. + +@item --with-texmf-dir=@var{/dir} +@itemx --without-texmf-dir +@cindex preview-install-styles +This option is used for specifying a @acronym{TDS}-compliant directory +hierarchy. Using @code{--with-texmf-dir=@var{/dir}} you can specify +where the @TeX{} @acronym{TDS} directory hierarchy resides, and the +@TeX{} files will get installed in +@file{@var{/dir}/tex/latex/preview/}. + +If you use the @option{--without-texmf-dir} option, the @TeX{}-related +files will be kept in the Emacs Lisp tree, and at runtime the +@env{TEXINPUTS} environment variable will be made to point there. You +can install those files into your own @TeX{} tree at some later time +with @kbd{M-x preview-install-styles @key{RET}}. + +@item --with-tex-dir=@var{/dir} +If you want to specify an exact directory for the preview @TeX{} files, +use @code{--with-tex-dir=@var{/dir}}. In this case, the files will be +placed in @file{@var{/dir}}, and you'll also need the following option: + +@item --with-doc-dir=@var{/dir} +This option may be used to specify where the @TeX{} documentation goes. +It is to be used when you are using @code{--with-tex-dir=@var{/dir}}, +but is normally not necessary otherwise. +@end table + +@node Build/install and uninstall +@section Build/install and uninstall + +@cindex Installation +@cindex Make +@cindex Uninstallation + +Once @command{configure} has been run, simply enter + +@example +make +@end example + +@noindent +at the prompt to byte-compile the lisp files, extract the @TeX{} files +and build the documentation files. To install the files into the +locations chosen earlier, type + +@example +make install +@end example + +@noindent +You may need special privileges to install, e.g., if you are installing +into system directories. + +Should you want to completely remove the installed package, in the same +directory you built @AUCTeX{} run + +@example +make uninstall +@end example + +@noindent +You will need administration privileges if you installed the package +into system directories. + +@node Loading the package +@section Loading the package +@cindex @file{init.el} +@cindex @file{.emacs} + +You can detect the successful activation of @AUCTeX{} and +@previewlatex{} in the menus after loading a @LaTeX{} file like +@file{circ.tex}: @AUCTeX{} then gives you a @samp{Command} menu, +and @previewlatex{} gives you a @samp{Preview} menu. + +@cindex @file{auctex.el} +@cindex @file{tex-site.el} +With Emacs (or if you explicitly disabled use of the package system), +the startup files @file{auctex.el} and @file{preview-latex.el} may +already be in a directory of the @file{site-start.d/} variety if your +Emacs installation provides it. In that case they should be +automatically loaded on startup and nothing else needs to be done. If +not, they should at least have been placed somewhere in your +@code{load-path}. You can then load them by placing the lines + +@lisp +(load "auctex.el" nil t t) +(load "preview-latex.el" nil t t) +@end lisp +@noindent +into your init file such as @file{init.el} or @file{.emacs}. + +If you explicitly used @code{--with-lispdir}, you may need to add the +specified directory into Emacs' @code{load-path} variable by adding +something like + +@lisp +(add-to-list 'load-path "~/elisp") +@end lisp +@noindent +before the above lines into your Emacs startup file. + +For site-wide activation in GNU Emacs, see +@ifset rawfile +below. +@end ifset +@ifclear rawfile +@xref{Advice for package providers}. +@end ifclear + +Once activated, the modes provided by @AUCTeX{} are used per default for +all supported file types. If you want to change the modes for which it +is operative instead of the default, use +@example +@kbd{M-x customize-option @key{RET} TeX-modes @key{RET}} +@end example + +If you want to remove a preinstalled @AUCTeX{} completely before any of +its modes have been used, +@lisp +(unload-feature 'tex-site) +@end lisp +@noindent +should accomplish that. + +@node Advice for package providers +@section Providing @AUCTeX{} as a package + +As a package provider, you should make sure that your users will be +served best according to their intentions, and keep in mind that a +system might be used by more than one user, with different +preferences. + +There are people that prefer the built-in Emacs modes for editing +@TeX{} files, in particular plain @TeX{} users. There are various +ways to tell @AUCTeX{} even after auto-activation that it should +not get used, and they are described in +@ifset rawfile +the @file{README} file. +@end ifset +@ifclear rawfile +@ref{Introduction,,Introduction to @AUCTeX{}}. +@end ifclear + +So if you have users that don't want to use the preinstalled @AUCTeX{}, +they can easily get rid of it. Activating @AUCTeX{} by default is +therefore a good choice. + +If the installation procedure did not achieve this already by placing +@file{auctex.el} and @file{preview-latex.el} into a possibly existing +@file{site-start.d} directory, you can do this by placing + +@lisp +(load "auctex.el" nil t t) +(load "preview-latex.el" nil t t) +@end lisp + +@noindent in the system-wide @file{site-start.el}. + +The @option{--without-texmf-dir} option can be convenient for systems that +are intended to support more than a single TeX distribution. Since more +often than not @TeX{} packages for operating system distributions are +either much more outdated or much less complete than separately provided +systems like @w{@TeX{} Live}, this method may be generally preferable +when providing packages. + +The following package structure would be adequate for a typical fully +supported Unix-like installation: + +@c FIXME: teTeX is much outdated now. +@table @samp +@item preview-tetex +Style files and documentation for @file{preview.sty}, placed into a +@TeX{} tree where it is accessible from the te@TeX{} executables usually +delivered with a system. If there are other commonly used @TeX{} system +packages, it might be appropriate to provide separate packages for +those. +@item auctex-emacs-tetex +This package will require the installation of @samp{preview-tetex} and +will record in @code{TeX-macro-global} where to find the @TeX{} tree. +It is also a good idea to run +@example +emacs -batch -f TeX-auto-generate-global +@end example +when either @AUCTeX{} or te@TeX{} get installed or upgraded. If your +users might want to work with a different @TeX{} distribution (nowadays +pretty common), instead consider the following: +@item auctex-emacs +This package will be compiled with @option{--without-texmf-dir} and will +consequently contain the @samp{preview} style files in its private +directory. It will probably not be possible to initialize +@code{TeX-macro-global} to a sensible value, so running +@code{TeX-auto-generate-global} does not appear useful. This package +would neither conflict with nor provide @samp{preview-tetex}. +@end table + +@node Advice for non-privileged users +@section Installation for non-privileged users + +Often people without system administration privileges want to install +software for their private use. In that case you need to pass more +options to the @command{configure} script. + +The main expedient is using the @option{--prefix} option to the +@command{configure} script, and let it point to the personal home +directory. In that way, resulting binaries will be installed under the +@file{bin} subdirectory of your home directory, manual pages under +@file{man} and so on. It is reasonably easy to maintain a bunch of +personal software, since the prefix argument is supported by most +@command{configure} scripts. + +You often need to specify @option{--with-lispdir} option as well. +If you haven't installed Emacs under your home directory and use Emacs +installed in system directories, the @command{configure} script might not +be able to figure out suitable place to install lisp files under your +home directory. In that case, the @command{configure} script would +silently choose, by default, the @file{site-lisp} directory within +@code{load-path} for the place, where administration privileges are +usually required to put relevant files. Thus you will have to tell +the @command{configure} script explicitly where to put those files by, +e.g., @code{--with-lispdir=@samp{/home/myself/share/emacs/site-lisp}}. + +You'll have to add something like +@samp{/home/myself/share/emacs/site-lisp} to your @code{load-path} +variable, if it isn't there already. + +In addition, you will have to tell @command{configure} script where to +install @TeX{}-related files such as @file{preview.sty} if +@previewlatex{} isn't disabled. It is enough to specify +@option{--with-texmf-dir=@file{$HOME/texmf}} for most typical cases, but +you have to create the direcotry @file{$HOME/texmf} in advance if it +doesn't exist. If this prescription doesn't work, consider using one or +more of the options @code{--with-texmf-dir=@var{/dir}}, +@code{--without-texmf-dir}, @code{--with-tex-dir=@var{/dir}} and +@code{--with-doc-dir=@var{/dir}}. See @ref{Configure} for detail of +these options. + +Now here is another thing to ponder: perhaps you want to make it easy +for other users to share parts of your personal Emacs configuration. In +general, you can do this by writing @samp{~myself/} anywhere where you +specify paths to something installed in your personal subdirectories, +not merely @samp{~/}, since the latter, when used by other users, will +point to non-existent files. + +For yourself, it will do to manipulate environment variables in your +@file{.profile} resp.@: @file{.login} files. But if people will be +copying just Elisp files, their copies will not work. While it would +in general be preferable if the added components where available from +a shell level, too (like when you call the standalone info reader, or +try using @file{preview.sty} for functionality besides of Emacs +previews), it will be a big help already if things work from inside +of Emacs. + +Here is how to do the various parts: + +@subheading Making the Elisp available + +In GNU Emacs, it should be sufficient if people just do + +@lisp +(load "~myself/share/emacs/site-lisp/auctex.el" nil t t) +(load "~myself/share/emacs/site-lisp/preview-latex.el" nil t t) +@end lisp +@noindent +where the path points to your personal installation. The rest of the +package should be found relative from there without further ado. + +@subheading Making the Info files available + +For making the info files accessible from within Elisp, something like +the following might be convenient to add into your or other people's +startup files: + +@lisp +(eval-after-load 'info + '(add-to-list 'Info-directory-list "~myself/info")) +@end lisp + +@subheading Making the @LaTeX{} style available + +If you want others to be able to share your installation, you should +configure it using @option{--without-texmf-dir}, in which case things +should work as well for them as for you. + +@subsection Using @AUCTeX{} from local Git repo + +With the techniques described above, it is also possible to use @AUCTeX{} +directly from a local Git repository. Let's assume you have your Git +repositories under @samp{~/development/}. + +First, you have to fetch a copy of the @AUCTeX{} Git repository. In a +shell, change directory to @samp{~/development/} and do: +@example +git clone https://git.savannah.gnu.org/git/auctex.git +@end example + +Now change directory to @samp{~/development/auctex} and run +@samp{./autogen.sh}. Next thing is to run @command{configure} like this: +@example +./configure --without-texmf-dir --with-lispdir=. +@end example + +@noindent +When finished, simply enter +@example +make +@end example +@noindent +and you're finished. Note that the @samp{make install} step is not +necessary. + +Now you have to tell Emacs about the plan. The following variables must +be set in your init file because their normal values are only correct when +@AUCTeX{} is installed: +@lisp +(setq TeX-data-directory "~/development/auctex" + TeX-lisp-directory TeX-data-directory) +@end lisp + +@noindent +The info files will be available with this: +@lisp +(eval-after-load 'info + '(add-to-list 'Info-additional-directory-list + "~/development/auctex/doc")) +@end lisp + +@noindent +Now you're ready to load @file{auctex.el} and @file{preview-latex.el} out +of this directory: +@lisp +(load "~/development/auctex/auctex.el" nil t t) +(load "~/development/auctex/preview-latex.el" nil t t) +@end lisp + +@ifclear rawfile +@node Installation under MS Windows +@section Installation under MS Windows +@include wininstall.texi +@end ifclear + +@node Customizing +@section Customizing +@cindex Site initialization +@cindex Initialization +@cindex @file{tex-site.el} +@cindex Personal customization +@cindex Site customization +@cindex Customization +@cindex Customization, personal +@cindex Customization, site +Most of the site-specific customization should already have happened +during configuration of @AUCTeX{}. Any further customization can be +done with customization buffers directly in Emacs. Just type @kbd{M-x +customize-group @key{RET} AUCTeX @key{RET}} to open the customization group for +@AUCTeX{} or use the menu entries provided in the mode menus. Editing +the file @file{tex-site.el} as suggested in former versions of @AUCTeX{} +should not be done anymore because the installation routine will +overwrite those changes. + +You might check some options with a special significance. They are +accessible directly by typing @kbd{M-x customize-option @key{RET} <option> +@key{RET}}. + +@defopt TeX-macro-global +Directories containing the site's @TeX{} style files. +@end defopt + +Normally, @AUCTeX{} will only allow you to complete macros and +environments which are built-in, specified in @AUCTeX{} style files or +defined by yourself. If you issue the @kbd{M-x +TeX-auto-generate-global} command after loading @AUCTeX{}, you will be +able to complete on all macros available in the standard style files +used by your document. To do this, you must set this variable to a list +of directories where the standard style files are located. The +directories will be searched recursively, so there is no reason to list +subdirectories explicitly. Automatic configuration will already have +set the variable for you if it could use the program @command{kpsewhich}. +In this case you normally don't have to alter anything. + +@c Local Variables: +@c mode: texinfo +@c TeX-master: "auctex" +@c End: |