Re: 補助ファイルの置き場について

名前: しっぽ愛好家
日時: 2003-01-29 20:04:34
IPアドレス: 211.4.33.*

>>15879 ちょっと考えてみました. 下記の定義をプリアンブルに入れ,さらに, \begin{document} の直前にでも \auxpath{temp} %%% これは,カレントディレクトリの直下の temp というサブディレクトリを %%% aux, toc, lot, lof の各ファイルの置き場にするという指定です. という記述を入れてみてください. %%% ただし,私の環境で簡単なテストに通ったというだけです. %%% 本当は \filename@parse あたりの処理を参考にして, %%% ``サブディレクトリ'' を正しく指定しなければならないのですが… %%% 今はそこまでやっている場合ではないので,保留させてください. なお,オリジナルからの変更箇所には changed というコメントをつけています. [補足] (1) log ファイル,dvi ファイルの出力先はマクロでどうにかできるものでは ないので,これらのファイルについては何もしていません. (2) idx ファイルなどの索引・用語集関係のファイルについては何もしていません. (これは,単なる手抜きです.) (3) aux ファイルなどを直接読むパッケージを使用すると, 不具合が生じる可能性があります.同様に,aux ファイルなどを使用する ツール(e.g. BibTeX)などの使用時に余分な面倒あるいは不具合が 生じるかもしれません. %%% この (3) のような問題があるので,下記のような処理はあまり %%% 勧められたものではないと思います. \makeatletter \def\auxpath#1{% \def\@auxpath{#1}% \ifx\@auxpath\@empty \let\@auxpath\@gobble \fi \ifx\@auxpath\space \let\@auxpath\@gobble \fi} \let\@auxpath\@gobble \def\@path@separator{/} % %%% redefine some LaTeX intetnal macros \def\document{\endgroup \ifx\@unusedoptionlist\@empty\else \@latex@warning@no@line{Unused global option(s):^^J% \@spaces[\@unusedoptionlist]}% \fi \@colht\textheight \@colroom\textheight \vsize\textheight \columnwidth\textwidth \@clubpenalty\clubpenalty \if@twocolumn \advance\columnwidth -\columnsep \divide\columnwidth\tw@ \hsize\columnwidth \@firstcolumntrue \fi \hsize\columnwidth \linewidth\hsize \begingroup\@floatplacement\@dblfloatplacement \makeatletter\let\@writefile\@gobbletwo \global \let \@multiplelabels \relax \@input{\@auxpath\@path@separator\jobname.aux}%%% changed \endgroup \if@filesw \immediate\openout\@mainaux \@auxpath\@path@separator\jobname.aux%%% changed \immediate\write\@mainaux{\relax}% \fi \process@table \let\glb@currsize\@empty %% Force math initialization. \normalsize \everypar{}% \ifx\normalsfcodes\@empty \ifnum\sfcode`\.=\@m \let\normalsfcodes\frenchspacing \else \let\normalsfcodes\nonfrenchspacing \fi \fi \@noskipsecfalse \let \@refundefined \relax \let\AtBeginDocument\@firstofone \@begindocumenthook \ifdim\topskip<1sp\global\topskip 1sp\relax\fi \global\@maxdepth\maxdepth \global\let\@begindocumenthook\@undefined \ifx\@listfiles\@undefined \global\let\@filelist\relax \global\let\@addtofilelist\@gobble \fi \gdef\do##1{\global\let ##1\@notprerr}% \@preamblecmds \global\let \@nodocument \relax \global\let\do\noexpand \ignorespaces} \def\enddocument{% \let\AtEndDocument\@firstofone \@enddocumenthook \@checkend{document}% \clearpage \begingroup \if@filesw \immediate\closeout\@mainaux \let\@setckpt\@gobbletwo \let\@newl@bel\@testdef \@tempswafalse \makeatletter \input\@auxpath\@path@separator\jobname.aux %%% changed \fi \@dofilelist \ifdim \font@submax >\fontsubfuzz\relax \@font@warning{Size substitutions with differences\MessageBreak up to \font@submax\space have occurred.\@gobbletwo}% \fi \@defaultsubs \@refundefined \if@filesw \ifx \@multiplelabels \relax \if@tempswa \@latex@warning@no@line{Label(s) may have changed. Rerun to get cross-references right}% \fi \else \@multiplelabels \fi \fi \endgroup \deadcycles\z@\@@end} \def\@include#1 {% \clearpage \if@filesw \immediate\write\@mainaux{% \string\@input{\@auxpath\@path@separator#1.aux}}%%% changed \fi \@tempswatrue \if@partsw \@tempswafalse \edef\reserved@b{#1}% \@for\reserved@a:=\@partlist\do {\ifx\reserved@a\reserved@b\@tempswatrue\fi}% \fi \if@tempswa \let\@auxout\@partaux \if@filesw \immediate\openout\@partaux \@auxpath\@path@separator#1.aux %%% changed \immediate\write\@partaux{\relax}% \fi \@input@{#1.tex}% \clearpage \@writeckpt{#1}% \if@filesw \immediate\closeout\@partaux \fi \else \deadcycles\z@ \@nameuse{cp@#1}% \fi \let\@auxout\@mainaux} \def\@starttoc#1{% \begingroup \makeatletter \@input{\@auxpath\@path@separator\jobname.#1}%%% changed \if@filesw \expandafter\newwrite\csname tf@#1\endcsname \immediate\openout \csname tf@#1\endcsname \@auxpath\@path@separator \jobname.#1\relax%%% changed \fi \@nobreakfalse \endgroup} \makeatother

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます)