Добавить/Найти файлы стилей в/на латекс

Вопрос 1

Я получаю следующую ошибку в латексе:

! LaTeX Error: File `fancybox.sty' not found.

Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: sty)

Enter file name: 

Однако файл fancybox.sty фактически находится в папке, откуда я запускаю команду pdflatex. Почему он не может его найти?

Я только что установил Latex на Ubuntu, используя команду

apt-get install texlive-latex-base

и команда pdflatex работает.

Вопрос 2

Я хочу установить этот texments из CTAN. Могу ли я сделать это через apt-get? Есть ли еще один простой способ?

Спасибо, Ajay G.

Ответы

Ответ 1

Пакет fancybox LaTeX входит в пакет texlive-latex-extra для Ubuntu. Если вы установите пакет texlive-latex-extra с помощью Synaptic или apt-get, ваш документ должен скомпилировать:

$ sudo apt-get install texlive-latex-extra

Пара других вещей, которые могут вам помочь в будущем:

  • Установка TeXLive в Ubuntu в настоящее время является выпуском 2007 года. Недавно выпущенный TeXLive выпущен в 2009 году (см. веб-сайт TeXLive для загрузки). Издание 2007 года будет работать большую часть времени, но выпуск 2009 года содержит последнюю версию пакетов с исправлениями ошибок. Просто хедз-ап.

  • Я бы рекомендовал установить полный набор пакетов TeXLive под Ubuntu, чтобы вам не приходилось копать репозиторий и устанавливать новые файлы каждый раз, когда вы хотите добавить новую строку \usepackage в свой .tex файл. Если вы установите пакет texlive-full, который будет охватывать все базы:

    $ sudo apt-get install texlive-full
    

    Обратите внимание, однако, что полный пакет пакетов TeXLive является большой загрузкой и потребуется некоторое время для установки.

Ответ 2

Try

apt-file -x search '/fancybox.sty$'

и вы можете получить ответ вроде:

texlive-latex-recommended: /usr/share/texmf-texlive/tex/latex/fancybox/fancybox.sty

поэтому рекомендуется "texlive-latex-recommended" - правильный пакет для установки.

Ответ 3

Вы пытались вручную, как говорится в официальной документации Ubuntu?

https://help.ubuntu.com/community/LaTeX

Если пакет, который вы желаете, не находится в репозиториях Ubuntu, вы можете посмотреть веб-сайт CTAN или TeX Catalog Online, чтобы узнать, есть ли у них пакет. Если они это сделают, загрузите архив, содержащий файлы. В этом примере мы установим пример пакета foo, содержащийся в файле foo.tar.gz.

Как только foo.tar.gz завершит загрузку, мы разархивируем его где-нибудь в нашем домашнем каталоге:

tar xvf foo.tar.gz

Это расширится до папки foo/. Мы записываем foo/и видим foo.ins. Теперь мы запускаем LaTeX в файле:

latex foo.ins

Это приведет к созданию foo.sty. Теперь мы должны скопировать этот файл в нужное место. Для целей этого примера мы скопируем это в наше личное дерево texmf. Преимущества этого решения заключаются в том, что если мы переносим наши файлы на новый компьютер, мы будем помнить о том, чтобы взять с собой наше дерево texmf, в результате чего были сохранены те же пакеты, что и у нас. Недостатком является то, что, если несколько пользователей хотят использовать одни и те же пакеты, дерево необходимо скопировать в домашнюю папку пользователя.

Сначала создадим необходимую структуру каталогов:

cd ~
mkdir -p texmf/tex/latex/foo

Обратите внимание, что созданный конечный каталог помечен как foo. Это хорошая идея, чтобы назвать каталоги после пакетов, которые они содержат. Атрибут -p для mkdir сообщает ему создать все необходимые каталоги, поскольку они не существуют. Теперь, используя либо терминал, либо диспетчер файлов, скопируйте файл foo.sty в каталог с именем foo.

Теперь мы должны заставить LaTeX распознать новый пакет:

texhash ~/texmf

Теперь новый пакет должен быть установлен. Чтобы использовать его в своем документе LaTeX, просто вставьте \usepackage {foo} в преамбулу.

Ответ 4

Он должен работать со файлом стиля в каталоге, в котором вы выполняли команду pdflatex, но решение этой проблемы прост:

sudo cp *.sty  /usr/share/texmf-texlive/tex/latex/base/
sudo mktexlsr