Instalar paquetes en mi árbol privado desde un archivo .ins

Instalar paquetes en mi árbol privado desde un archivo .ins

Recientemente creé una clase de documento y no he terminado de empaquetarla en un archivo DTX. Tengo un archivo de instalación que se parece a este:

%% 
%% 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

Ejecuto esto haciendo latex bil-CV.insy obtengo el siguiente resultado:

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.

Habiendo especificado \usedir{tex/latex/bil-CV}, ¿por qué el archivo de clase se genera en el CWD y no ~/Library/texmf/tex/latex/bil-CVcomo se especifica en /usr/local/texlive/2014/texmf.cnfel archivo ins?

Respuesta1

Como se detalla en elmanual de DocStrip, el diseño de DocStrip es tal que se espera que usted configure \BaseDirectory(ya que TeX no puede saber dónde desea instalar) y \UseTDS(active el mapeo de sus \usedirlíneas a la estructura TDS de aproximación). Es más probable que esas líneas vayan a un docstrip.cfgarchivo y no a los .insarchivos mismos.

Como se señaló en los comentarios, los sistemas TeX modernos no permiten escribir en un directorio superior al actual por razones de seguridad. (Esto se puede modificar, pero no se recomienda en absoluto). TeX y, por tanto, DocStrip, no pueden crear directorios, por lo que la estructura también debe ser preexistente. Como tal, es mejor considerar la función 'extraer a TDS' de DocStrip como una idea histórica y no para su uso actual. En lugar de utilizar DocStrip para rellenar un árbol local, un enfoque más útil es crear un zip estilo TDS y utilizarlo. Hay una variedad de scripts disponibles para ayudar con este proceso.

información relacionada