diff options
Diffstat (limited to 'Master/texmf-doc/doc/english/FAQ-en/html/FAQ-privinst.html')
-rw-r--r-- | Master/texmf-doc/doc/english/FAQ-en/html/FAQ-privinst.html | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-privinst.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-privinst.html new file mode 100644 index 00000000000..41d28558d7e --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-privinst.html @@ -0,0 +1,117 @@ +<head> +<title>UK TeX FAQ -- question label privinst</title> +</head><body> +<h3>"Private" installations of files</h3> +<p>It sometimes happens that you need a new version of some macro package +or font, but that the machine you use is maintained by someone who's +unwilling to update and won't give you privileges to do the job +yourself. A <a href="FAQ-tempinst.html">"temporary" installation</a> is +sometimes the correct approach, but if there's the slightest chance +that the installation will be needed on more than one project, +temporary installations aren't right. +<p>In circumstances where you have plenty of quota on backed-up media, or +adequate local scratch space, the correct approach is to create a +private installation of (La)TeX which includes the new stuff you +need; this is the ideal, but is not generally possible. +<p>So, since you can't install into the public <code>texmf</code> tree, you +have to install into a <i>texmf</i> of your own; fortunately, the +TDS standard allows for this, and teTeX 2.0 actually makes +provision for it, defining an internal variable <code>HOMETEXMF</code> +which points to the directory <i>$HOME/texmf</i>. (TeTeX 1.0 had +the definition, but suppressed it with comment markers.) +<p>So, install your new package (or whatever) in the +<a href="FAQ-wherefiles.html">correct place</a> in a tree based on +<i>$HOME/texmf</i>, and generate an index of that tree +<blockquote> +<pre> +texhash $HOME/texmf +</pre> +</blockquote> +(the argument specifies which tree you are indexing: it's necessary +since you don't, by hypothesis, have access to the main tree, and +<i>texhash</i> without the argument would try to write the main +tree. +<p>There are two wrinkles to this simple formula: first, the installation +you're using may <em>not</em> define <code>HOMETEXMF</code> (teTeX 1.0 +didn't, for example), and second, there may be some obstruction to +using <i>$HOME/texmf</i> as the default name. In either case, a good +solution is to have your own <i>texmf.cnf</i> - an idea that sounds +more frightening that it actually is. The installation's existing +file may be located with the command: +<blockquote> +<pre> +kpsewhich texmf.cnf +</pre> +</blockquote> +Take a copy of the file and put it into a directory of your own; this +could be any directory, but an obvious choice is the <i>web2c</i> +directory of the tree you want to create, i.e., +<i>$HOME/texmf/web2c</i> or the like. Make an environment variable to +point to this directory: +<blockquote> +<pre> +TEXMFCNF=$HOME/texmf/web2c +export TEXMFCNF +</pre> +</blockquote> +(for a Bourne shell style system), or +<blockquote> +<pre> +setenv TEXMFCNF $HOME/texmf/web2c +</pre> +</blockquote> +(for a C-shell style system). Now edit the copy of <i>texmf.cnf</i> +<p>There will be a line in the existing file that defines the tree where +everything searches; the simplest form of the line is: +<blockquote> +<pre> +TEXMF = !!$TEXMFMAIN +</pre> +</blockquote> +but, as teTeX 1.0 is distributed, there are several alternative +settings behind comment markers ("<code>%</code>"), and the +person who +installed your system may have left them there. Whatever, you need to +modify the line that's in effect: change the above to three lines: +<blockquote> +<pre> +HOMETEXMF = $HOME/texmf +TEXMF = {$HOMETEXMF,!!$TEXMFMAIN} +% TEXMF = !!$TEXMFMAIN +</pre> +</blockquote> +the important point being that <code>$HOMETEXMF</code> must come before whatever +was there before, inside the braces. For example, if the original was +<blockquote> +<pre> +TEXMF = {!!$LOCALTEXMF,!!$TEXMFMAIN} +</pre> +</blockquote> +it should be converted to: +<blockquote> + +<pre> +HOMETEXMF = $HOME/texmf +TEXMF = {$HOMETEXMF,!!$LOCALTEXMF,!!$TEXMFMAIN} +% TEXMF = {!!$LOCALTEXMF,!!$TEXMFMAIN} +</pre> +</blockquote> +(retaining the original, as a comment, is merely an aide-memoir in +case you need to make another change, later). The <code>!!</code> signs +tell the file-searching library that it should insist on a +<i>texhash</i>-ed directory tree; if you can count on yourself +remembering to run <i>texhash</i> on your new tree every time you +change it, then it's worth adding the marks to your tree: +<blockquote> + +<pre> +TEXMF = {!!$HOMETEXMF,!!$LOCALTEXMF,!!$TEXMFMAIN} +</pre> +</blockquote> +as this will make (La)TeX find its files marginally faster. +<p>Having made all these changes, (La)TeX should "just use" files in +your new tree, in preference to anything in the main tree - you can +use it for updates to packages in the main tree, as well as for +installing new versions of things. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=privinst">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=privinst</a> +</body> |