Установка пакетов в моё личное дерево из .ins-файла

Установка пакетов в моё личное дерево из .ins-файла

Недавно я создал класс документа и не так давно закончил его упаковывать в файл DTX. У меня есть установочный файл, который выглядит так:

%% 
%% Licence info
%% 

\input docstrip.tex
\keepsilent

\usedir{tex/latex/bil-CV}

\preamble

This is a generated file licenced under the MIT License:
The MIT License (MIT)…blah blah blah...

\endpreamble

\generate{\file{bil-CV.cls}{\from{bil-CV.dtx}{class}}}


\obeyspaces
\Msg{*********************************************************}
\Msg{*}
\Msg{* To finish the installation you have to move the}
\Msg{* following file into a directory searched by TeX:}
\Msg{*}
\Msg{* \space\space bil-CV.cls}
\Msg{*}
\Msg{* To produce the documentation run the file bil-CV.dtx} 
\Msg{* through LaTeX.}
\Msg{*}
\Msg{* Happy TeXing!} 
\Msg{*********************************************************}

\endbatchfile

Я запускаю это, выполнив команду latex bil-CV.ins, и получаю следующий вывод:

This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014) (preloaded format=latex)
 restricted \write18 enabled.
entering extended mode
(./bil-CV.ins
LaTeX2e <2014/05/01>
Babel <3.9k> and hyphenation patterns for 78 languages loaded.
(/usr/local/texlive/2014/texmf-dist/tex/latex/base/docstrip.tex
Utility: `docstrip' 2.5d <2005/07/29>
English documentation    <2014/04/19>

**********************************************************
* This program converts documented macro-files into fast *
* loadable files by stripping off (nearly) all comments! *
**********************************************************

********************************************************
* No Configuration file found, using default settings. *
********************************************************

)

Generating file(s) ./bil-CV.cls 

Processing file bil-CV.dtx (class) -> bil-CV.cls
Lines  processed: 407
Comments removed: 262
Comments  passed: 9
Codelines passed: 130

*********************************************************
*
* To finish the installation you have to move the
* following file into a directory searched by TeX:
*
*    bil-CV.cls
*
* To produce the documentation run the file bil-CV.dtx
* through LaTeX.
*
* Happy TeXing!
*********************************************************
 )
No pages of output.
Transcript written on bil-CV.log.

Указав \usedir{tex/latex/bil-CV}, почему файл класса генерируется в CWD, а не ~/Library/texmf/tex/latex/bil-CVкак указано в /usr/local/texlive/2014/texmf.cnfи ins-файле?

решение1

Как подробно описано вРуководство по DocStrip, конструкция DocStrip такова, что от вас ожидается установка \BaseDirectory(поскольку TeX не может знать, куда вы хотите установить) и \UseTDS(для активации сопоставления ваших \usedirстрок с подходом структуры TDS). Эти строки, скорее всего, предназначены для помещения в docstrip.cfgфайл, а не в .insсами файлы.

Как отмечено в комментариях, современные системы TeX не позволяют записывать в каталог выше текущего по соображениям безопасности. (Это можно изменить, но это совсем не рекомендуется.) TeX, и, следовательно, DocStrip, не могут создавать каталоги, поэтому структура также должна быть уже существующей. Таким образом, функцию «извлечь в TDS» DocStrip лучше всего рассматривать как историческую идею и не для использования сегодня. Вместо того, чтобы использовать DocStrip для заполнения локального дерева, более полезным подходом является создание zip-файла в стиле TDS и его использование. Существует множество скриптов, которые помогут в этом процессе.

Связанный контент