summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-privinst.html
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-05-22 23:51:44 +0000
committerKarl Berry <karl@freefriends.org>2009-05-22 23:51:44 +0000
commit566f5207d7e3cafb0633d31277067336ccd9cca7 (patch)
tree7af53e7ac405185168bc1dc38c4e820f442b78d0 /Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-privinst.html
parentb0beea26ffffd915bb6d9b82f2d65a0a05b7e23b (diff)
move generic english documents out of texmf-doc
git-svn-id: svn://tug.org/texlive/trunk@13396 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-privinst.html')
-rw-r--r--Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-privinst.html122
1 files changed, 122 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-privinst.html b/Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-privinst.html
new file mode 100644
index 00000000000..3cbdc3ec470
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-privinst.html
@@ -0,0 +1,122 @@
+<head>
+<title>UK TeX FAQ -- question label privinst</title>
+</head><body>
+<h3>&ldquo;Private&rdquo; 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&rsquo;s
+unwilling to update and won&rsquo;t give you privileges to do the job
+yourself. A <a href="FAQ-tempinst.html">&ldquo;temporary&rdquo; installation</a> is
+sometimes the correct approach, but if there&rsquo;s the slightest chance
+that the installation will be needed on more than one project,
+temporary installations aren&rsquo;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&rsquo;t install into the public <code>texmf</code> tree, you
+have to install into a <i>texmf</i> tree of your own; fortunately, the
+TDS standard allows for this, and modern distributions allow
+you to do it. The most modern distributions refer to the tree as
+<code>$TEXMFHOME</code>, but it used to be called <code>$HOMETEXMF</code>;
+so to check that your TeX system does indeed support the mechanism
+you should start with
+<pre>
+kpsewhich -expand-var "\$TEXMFHOME"
+</pre>
+<p/>If you can confirm that the technique does indeed work, install your
+new package (or whatever) in the <a href="FAQ-install-where.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><p>
+(the argument specifies which tree you are indexing: it&rsquo;s necessary
+since you don&rsquo;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&rsquo;re using may <em>not</em> define a home TEXMF directory, 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> &mdash; an idea that sounds more frightening that it
+actually is. The installation&rsquo;s existing file may be located with the
+command:
+<blockquote>
+<pre>
+kpsewhich texmf.cnf
+</pre>
+</blockquote><p>
+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><p>
+(for a Bourne shell style system), or
+<blockquote>
+<pre>
+setenv TEXMFCNF $HOME/texmf/web2c
+</pre>
+</blockquote><p>
+(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><p>
+but, there are likely to be several alternative settings behind
+comment markers (&ldquo;<code>%</code>&rdquo;), and the person who
+installed your system may have left them there. Whatever, you need to
+modify the line that&rsquo;s in effect: change the above to three lines:
+<blockquote>
+<pre>
+HOMETEXMF = $HOME/texmf
+TEXMF = {$HOMETEXMF,!!$TEXMFMAIN}
+% TEXMF = !!$TEXMFMAIN
+</pre>
+</blockquote><p>
+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><p>
+it should be converted to:
+<blockquote>
+
+<pre>
+HOMETEXMF = $HOME/texmf
+TEXMF = {$HOMETEXMF,!!$LOCALTEXMF,!!$TEXMFMAIN}
+% TEXMF = {!!$LOCALTEXMF,!!$TEXMFMAIN}
+</pre>
+</blockquote><p>
+(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&rsquo;s worth adding the marks to your tree:
+<blockquote>
+
+<pre>
+TEXMF = {!!$HOMETEXMF,!!$LOCALTEXMF,!!$TEXMFMAIN}
+</pre>
+</blockquote><p>
+as this will make (La)TeX find its files marginally faster.
+<p/>Having made all these changes, (La)TeX should &ldquo;just use&rdquo; files in
+your new tree, in preference to anything in the main tree &mdash; 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>