Добавить / Найти файлы стилей в / в латекс - PullRequest
15 голосов
/ 16 декабря 2009

Вопрос 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? Есть ли другой легкий способ?

Спасибо, Аджай Г.

Ответы [ 4 ]

27 голосов
/ 16 декабря 2009

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

$ sudo apt-get install texlive-latex-extra

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

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

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

    $ sudo apt-get install texlive-full
    

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

6 голосов
/ 23 июля 2012

Попробуйте

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

и вы можете получить ответ как:

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

так что «texlive-latex-рекомендуемый» является правильным пакетом для установки.

2 голосов
/ 27 декабря 2009

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

sudo cp *.sty  /usr/share/texmf-texlive/tex/latex/base/
sudo mktexlsr
2 голосов
/ 16 декабря 2009

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

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

Если желаемый вами пакет отсутствует в репозиториях Ubuntu, вы можете посмотреть на веб-сайте CTAN или в каталоге TeX 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} в преамбулу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...