summaryrefslogtreecommitdiff
path: root/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-privinst.html
diff options
context:
space:
mode:
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.html117
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>