Добавить/Найти файлы стилей в/на латекс
Вопрос 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