Я знаю, как определить пакет или класс, но как сделать его доступным (для себя) в любое время?
Скажем, у меня есть файл пакета commonstuff.sty
(или myprettyclass.cls
), который я хочу иметь возможность включить в любой файл .tex
, созданный на моем компьютере. Куда мне его поместить? Нужно ли запускать какую-то программу установки, или достаточно хранить его в определенной папке?
Примечание: Я знаю, что могу просто поместить его в ту же папку, что и файл .tex
, но это не то, что мне нужно. Я ищу способ "установить" пакет централизованно на моем компьютере.
Вы можете создать папку в домашнем каталоге TeX и поместить в нее свой файл .sty
. Используйте эту команду в командной строке, чтобы узнать, где именно:
kpsewhich -var-value=TEXMFHOME
На моем компьютере она показывает
C:/Users/stefan/texmf
но это также может быть ~/texmf/
на компьютере с Linux или Unix.
Следуя структуре каталогов TeX, вы должны поместить ваш файл в подкаталог ~/texmf/tex/latex/commonstuff/
, согласно комментарию Артура ниже. Преимущество этого способа в том, что не нужно обновлять базу данных пакетов, так как TeX ищет в вашем личном дереве texmf
напрямую. Если в вашем домашнем texmf
дереве есть файл ls-R
, вы можете смело удалить его, так как TeX все равно не будет его использовать. (Примечание: это предполагает, что ваше личное дерево находится на локальной файловой системе: пользователям с удаленными домашними папками может потребоваться хэширование).
Что касается MiKTeX, посмотрите раздел "Установка sty или cls файлов" в ответе на вопрос Как я могу вручную установить пакет на MikTex (Windows).
Затем вы можете проверить, какой файл будет использоваться:
kpsewhich filename.sty
Это покажет путь к файлу, взятому реализацией TeX.
Все остальные ответы охватывают все хорошо, но я думала, что немного другой вариант может оказаться полезным.
Есть две части, чтобы рассказывать Текс о новый .файл sty
. Во-первых, вы должны положить его в 'право' место и вторую нужно обновить базу данных Tex использует для поиска файлов. Место, чтобы поместить файл, зависит от операционной системы. Если у вас есть стандартная установка, это, вероятно, будет:
C:\Users\<имя пользователя>\папка AppData\местные\программы\<номер>\Текс\латекс\местные\
; имя пользователя>\директории texmf\Текс\латекс\местные\
и\настройки<имя пользователя>\директории texmf\Текс\латекс\местные\
/пользователи/<имя пользователя>/библиотека/директории texmf/Tex/латекса/местного/
Примечание: папка местного/
' могут отсутствовать; в этом случае, идти вперед и создать его.
Несколько примечаний к этому. Во-первых, в Windows 'пользователей' часть локации зависит от языка. Во-вторых, я'вэ представлены вашему дому/папка пользователя как ' в<имя пользователя>
': это, очевидно, будет зависеть от вашей системы. Папку я'вэ указано, ну может не существовать: вы можете просто `директории texmf часть, бит в то или ничего вообще. Местоположение файла важен, и хотя вы могли бы просто положить свой файл в директории texmf/Tex/латекса-это обычно, чтобы держать вещи организовано пакет. В "местном" папку зарезервировано для материалов, установленных на отдельных машинах.
Сдача Текс 'знаю,' о файле означает запуск программы, которая создает базу данных расположений файлов. Есть графические интерфейсы для этого, но способ который работает на всех операционных системах-это использовать командную строку/терминал и введите texhash
. Это создание баз данных для дерева (ту, которая находится в вашей домашней папке). После того, как 'окрошка' создан Текса должны быть в состоянии найти ваш файл. За последние дистрибутивы texlive и этот шаг не является необходимым для файлы в локальную папку.
Как уже говорил Артур, .сты "или".CLS-файлы должны быть в какой-то подкаталог
\Текс латекс, который может быть в любой каталог любого диска.
Смотрите следующий скриншот, он показывает, как путь к моей пакетов и классов.
Я объясню в двух случаях, регистрации программы и регистрации на текс жить.
Откройте Настройки (админ)
, выбрать корни
вкладку и добавить мой путь \e:\a\my латекс папку "MyLibrary"
.
обратите внимание, что трейлинг
\Текс\латекс\смешанная
не должен быть включен !
Затем выберите вкладке General
и нажмите обновить данные
кнопку.
Смотрите Как зарегистрировать своих пакетов или классов в отдельный диск для видео монтажа Текс?
Файлы .sty
должны быть помещены в какой-нибудь подкаталог tex/latex
в дереве texmf. Эти деревья имеют довольно фиксированную структуру, но их расположение может меняться в зависимости от вашей ОС и дистрибутива TeX. Если вы используете Unix (включая Mac OS) и TeX Live, то по умолчанию существует иерархия
/usr/local/texlive/2009/texmf
/usr/local/texlive/2009/texmf-dist
/usr/local/texlive/texmf-local
а также другие каталоги. Вы хотите поместить его в каталог texmf-local
, не в другие каталоги, которыми управляет программа установки TeX Live; при обновлении TeX Live ваш пакет может быть перезаписан. Иерархия texmf-local
, как следует из названия, предназначена для локальных пакетов, управляемых вами; она не будет затронута обновлениями (вот почему она находится непосредственно под каталогом texlive
, а не texlive/2009
, например).
Вы также можете создать каталог texmf
в своем домашнем каталоге, и пакет будет виден только вам, а не другим пользователям вашего компьютера.
В Windows с MiKTeX, я полагаю, по умолчанию каталог для локальной установки - C:\Localtexmf
.
В любом случае, независимо от дистрибутива, вы должны поместить файл .sty
внутри .../texmf-local/tex/latex
, а не непосредственно в корневой каталог; иначе он просто не будет работать.
Затем, если вы'установили пакет в свой домашний каталог, вам ничего не нужно делать. Если же вы установили texmf-local
, то вам нужно запустить утилиту mktexlsr
(или texhash
, это псевдоним).
В Linux вы можете выбрать любой каталог, который вам нравится, а затем добавить строку типа
export TEXINPUTS=".:~/latex:"
в ваш файл .bashrc (вы можете добавить несколько каталогов, разделенных двоеточиями. Я думаю, вам нужен символ '.' в начале). Возможно, в Windows есть что-то подобное. Мне так проще, поскольку это отделяет "мои" вещи от дерева texmf. Возможно, это не очень удобно, если вы пишете большой пакет, но удобно для некоторых мелких вещей, которые вы просто хотите разделить между всеми вашими проектами.
Используя использоваться в Ubuntu *.сты файлы находятся в
/usr/share/texmf-texlive/tex/latex/
Добавление нового стиля фу.сты, как правило, означает
фу
судо команды mkdir /usr/доли/texmf-на использоваться/Текс/латекс/фу
судо СР фу.свинарник /usr/доли/texmf-на использоваться/Текс/латекс в/Foo/
судо texhash
У меня работает с texlive 2009-15 на Xubuntu в 12.04 ЛТС
Я'вэ просто нашел это в программы документация. Просто FYI:
6.2. Что является лучшим каталогом, чтобы сохранить .файлы sty, где miktex может найти их? Программы менеджер пакетов заботится о правильной установке хорошо известные пакеты LaTeX.
если (по какой-то причине), вы должны установить пакет вручную, то вы необходимо скопировать исходные файлы в каталог `\Текс\латекс смешанная относительной В каталоге зарегистрированы "корень". Например:
создавать корневую C:\Local Текс файлов.
создавать директории
\Текс\латекс смешанная и копировать ваши входные файлы (
.сты,
.ЦБС`) здесь.зарегистрировать корневой каталог (файлы c:\local Текс`) в настройках программы.
для получения дополнительной информации, ознакомьтесь с разделом интеграции местных изменений в ручные программы.
Для меня, используя Мак ОС Х со стандартным MacTeX, ответ выше были только частично полезно. Я не мог'т найти папку ~/библиотеки/директории texmf
.
Я сделал следующее. Предположим, что вы хотите добавить mystyle может.сты в свой текс. Создать каталог~/библиотеки/директории texmf/Tex/латекса и mystyle может начаться.сты в нем. После вызова
texhash ~/библиотеки/директории texmf/`.
Этот работал для меня.
Другие ответы на этот вопрос все предлагают вложить ваши .сты
файлы в папке /директории texmf/
в вашей папке профиля пользователя (хотя там не'т, кажется, какого-либо соглашения о том, что именно вам нужно сделать after что).
Это, однако, не сработает, если вы (как и я) используете портативные программы LaTeX, потому что тогда там выиграл'т быть какие-такие /директории texmf/
папку на вашем компьютере.
Поэтому альтернативным решением является поставить свой .сты
файлов (например, Foo.сты
) в любую папку вы'd, как (например, C:/foo/
), а потом просто указать путь, где вы храните свой .сты файл
, Когда вы загрузите его в преамбуле:
\usepackage{C:/foo/foo}
Чтобы избежать ошибок или предупреждений, будьте уверены, чтобы дать путь и в вашей .sty файл
:
\ProvidesPackage{C:/foo/foo}
Обеспечить полную переносимость вашей программы латекса, вы можете положить ваш .сты
файлы в подпапку латекс, например, C:/texlive/foo/
.
Таким образом, вы можете хранить все свои .сты
файлы в одном месте на вашем компьютере, и включают тот же путь с \usepackage
во всех .Текс
документы.
Я использую быстрое решение этой проблемы так как я работаю в основном на флешку и Дон'т хотите, чтобы прикоснуться к папкам на компьютерах, я использую Текс.
Действительно, можно указать обратную каталоги usepackage\
, то вы не'т иметь, чтобы знать точный полный путь, а только относительный путь от вашего .текс
в свой .файл sty
.
Пример: дали переносной жесткий диск "Д", Я имею в D:/latex/files/ "мое".файлы Texи в
некоторых пакетов D:/latex/packages/я хочу использовать, то вы можете написать\usepackage{../пакеты/mypack.сты}
Не уверен, если это работает на Windows, однако
Чтобы избежать распространения Tex или конкретные требования к операционной системе о том, куда положить вещи, и что нужно работать, чтобы получить его, чтобы быть найден я использую правило gnumakefile по следующей форме:
%.sty : ../%.sty
cp $^ $@
Каждый подкаталог, для которых я строю латекса ссылки на код этого правила, в результате чего .файл sty быть скопированы на локальный компьютер в этот каталог, прежде чем pdflatex вызывается (используя подходящие правила зависимости). Смотри, например, заметки/сделать.правила и примечания/phy452/gnumakefile в моей physicsplay GitHub РЕПО.
Это хорошо работает для меня на Linux (Убунту + использоваться) и Windows (с Cygwin + программы).