\bibfont issue

2,589 views
Skip to first unread message

williamvolterman

unread,
Aug 6, 2010, 2:09:42 PM8/6/10
to LaTeX Users Group
I have a wierd issue that is probably due to a difference in something
settings that I can't figure out.

I'm changing the font size for the bibliography with \bibfont.

At home I use MiKTeX 2.8 with WinEdt as my editor. All my packages
are up to date as 2.8 is a fresh install. When I want to change the
font size I use \renewcommand{\bibfont}{\small}. If I use
\newcommand{\bibfont}{\small} I get an error.

On the other hand, when I'm at school, I use Kile. I have no access
to the packages to update, and as far as I can see I can't even look
at them. However the situation is reversed. If I use
\renewcommand{\bibfont}{\small} I get an error. And
\newcommand{\bibfont}{\small} works.

The error (in Kile, i.e., renew) is

file.tex:15:\bibfont undefined. \renewcommand{\bibfont}

At home the error is something like

\bibfont already defined. \newcommand{\bibfont}

I've noticed other differences since I've upgraded to MiKTeX 2.8.
Maybe that's the issue?

Any ideas? It's a PITA to have to keep different portions of the
files for different systems.

Peter Flynn

unread,
Aug 6, 2010, 8:05:14 PM8/6/10
to latexus...@googlegroups.com
On Fri, Aug 6, 2010 at 7:09 PM, williamvolterman <williamv...@gmail.com> wrote:
I have a wierd issue that is probably due to a difference in something settings that I can't figure out.

I'm changing the font size for the bibliography with \bibfont.

At home I use MiKTeX 2.8 with WinEdt as my editor.  All my packages are up to date as 2.8 is a fresh install.  When I want to change the font size I use  \renewcommand{\bibfont}{\small}.  If I use \newcommand{\bibfont}{\small} I get an error.

On the other hand, when I'm at school, I use Kile.  I have no access to the packages to update, and as far as I can see I can't even look at them.  However the situation is reversed.  If I use \renewcommand{\bibfont}{\small} I get an error.  And
\newcommand{\bibfont}{\small} works.

To start with, see http://www.tex.ac.uk/cgi-bin/texfaq2html?label=filesused
Use the \listfiles command to produce a list of all the packages you are using on both systems and compare them. It should show you what versions they are.

At a wild guess, your school package versions may be out of date. But if LaTeX can read them, you can certainly look at them: examine the log file and you will see each package listed with the full filename as it is loaded. You can open these in Kile and look at the top few lines where the version number is given.

What you can't do at school, of course, is change the actual installed files: you need to email your system administrators and ask them to update the version of TeX they are using.

In the meantime, you can install your own updated versions of any package you want, in your own private TeX directory tree (path) at ~/texmf (that is, a subdirectory called texmf in your main login directory (not in ~/Documents or wherever it is you put your files).

Check that at least one of the local symbols $TEXMFLOCAL or $TEXMFHOME includes your private path by typing the two commands in a shell window:
$ kpsewhich --expand-var '$LOCALTEXMF'
$ kpsewhich --expand-var '$TEXMFHOME'

If one or other of them includes ~/texmf (in full, perhaps /home/yourname/texmf), then create the subdirectory path in it to the right directory name for each updated package you want to install, download the fresh package from CTAN, and install it there.

For example, if you find that (mythical example) package foobar is out of date, create the directory following the example of the path used for the existing (system) version shown in your log file:

$ mkdir -p ~/texmf/tex/latex/foobar

Change to that directory and download foobar.dtx and foobar.ins from CTAN:

$ cd ~/texmf/tex/latex/foobar
$ wget http://www.ctan.org/tex-archive/macros/latex/contrib/snapshot/foobar.dtx
$ wget http://www.ctan.org/tex-archive/macros/latex/contrib/snapshot/foobar.ins

Install the package:

$ latex foobar.ins
$ pdflatex foobar.dtx; pdflatex foobar.dtx

That will create foobar.sty (the package file, and maybe others), and foobar.pdf (documentation).

You don't need to run texhash on a private tree, although you can if you wish: LaTeX should look in there first, before it tries to use any other version of a package. You can test that by reprocessing your document and checking the versions used in the log file as before.

If all else fails, as an extreme solution, you can always put new .sty files in the same directory as your .tex documents. LaTeX always looks there first before anywhere else.

///Peter








williamvolterman

unread,
Aug 7, 2010, 10:12:35 PM8/7/10
to LaTeX Users Group
Thank you for your thorough response. I will check this all out when
I go to school monday.
Reply all
Reply to author
Forward
0 new messages