LINUX.ORG.RU

Папка со своими файлами .sty для latex

 ,


0

1

Значит ситуация. Делаю что-то типа фреймворка для оформления курсовых, дипломных и т.п. работ ВУЗа, поэтому надо, чтоб все файлы красиво лежали в одной папке/директории с собственной структурой и работали сразу после скачивания.

Проблема: сейчас файлы .sty & .cls включаются в документ через указание относительного пути (../sty/NameOfFile), но из-за этого компилятор плюётся предупреждением. Есть ли возможность из основного .tex файла добавить в область видимости папки с моими файлами стилей и если да, то как?

На просторах сети нашёл только советы пихать свои стили в основную папку латеха, но кто из учёных умов будет разбираться, куда у него этот латех поставлен. Или изменять переменные TEXMFHOME и TEXMFLOCAL, но опять же, кто это будет делать, сложна же!

В общем нужен способ делать вместо \documentclass{../sty/NOF} \documentclass{NOF} и не получать предупреждение о том, что у меня пакет неправильно назван

По умолчанию хорошего способа так сделать не существует. TeX ищет стилевые файлы в директории $TEXMFDOTDIR, которая равна ., то есть позволяет искать в текущей директории (без поддиректорий), а также в поддиректориях директорий $TEXMF/tex ($TEXMF содержит список директорий типа /usr/share/texlive/texmf-dist, ~/texmf и т.п.).

Так что без манипуляций с переменными окружения, боюсь, не получится. А если с окружением что-то делать, то можно попробовать установить export TEXMFDOTDIR=..//, чтобы искать в люблой поддиректории родительской директории. Переменные окружения можно установить, скажем, в latexmkrc (это скрипт на языке Perl), но тогда придется обучить всех компилировать курсовые и дипломы с помощью latexmk.

Ну и конечно же всегда остается идеальный путь: оформить стилевой файл с документацией к нему в виде пакета, положить на CTAN и добиться включения в TeXLive, тогда само будет работать.

TeopeTuK ★★★★★
()

\documentclass{NOF} и не получать предупреждение о том, что у меня пакет неправильно назван

Выложить пакет со стилями на CTAN. Ваш КО.

einhander ★★★★★
()