クラスファイルをMydocument内においてplatexを実行するには?

クラスファイルをMydocument内においてplatexを実行するには?

- アーベル の投稿
返信数: 6

お世話になります.よろしく.

クラスファイル .cls FileをまとめてMydocument内のフォルダーにおいてコマンドplatexを実行したいのです.やり方があればすみませんが教えていただけないでしょうか?

.texファイルと.clsファイルを同一ディレクトリ内で同じレベルで共存させると実行できる,  というのは既に解っています.

多分,コマンド\documentclassの中身が問題らしいのですがそれがよく読み取れないのです.既定値は実行する.texファイルのあるフォルダーにあるサブフォルダーでない.clsファイルをさがすことになっています.

奥村先生本のCDを使わせていただいています.あまり汚したくないのでusrファルダーの中に入れたくないのです.

アーベル への返信

Re: クラスファイルをMydocument内においてplatexを実行するには?

- 奥村 晴彦 の投稿
「汚したくない」という意味がよくわからないのですが,/usr/localの中身をMy Document内に移動して,PATHなども適宜変更すれば,動くかもしれません(そのほうが個人の環境が「汚れる」ような気がするのであまりお薦めできませんし,場合によってはパスの中に全角文字が入ったりして動かないソフトが出るかもしれません)。
アーベル への返信

Re: クラスファイルをMydocument内においてplatexを実行するには?

- 若 雲 の投稿
/usr/local/share/texmf 以下に自作あるいはダウンロードしたクラスファイルを置かず、標準インストール後の状態をキープしたい、クラスファイルはMy Documents以下に置いて読み込みたいということですよね。

単純な方法は、My Documents/cls といったフォルダ以下にファイルを置いて、ソースからは絶対パスで

\documentclass{"C:/Documents and Settings/*****/My Documents/cls/jsarticle"}

というふうに指定する方法です。相対パスでも指定できました。
# やってみてできたので逆に驚きましたが。

で、毎回そういうふうに指定するのは面倒ですし、深いディレクトリから相対パスを指定するのは大変です。そのような場合は、複数のTEXMFツリーを使う方法などを参考に、自分用のTEXMFツリーを設定すると、(必要ならmktexlsrを実行すれば)/usr/local/share/texmf 以外の場所にクラスファイルを置いても読み込んでくれるようになります。

なお、最近のW32TeXでは、そのような「汚したくない」用途のために、/usr/local/share/texmf-local というフォルダが用意されています。/usr/local/share/texmf はインストール直後のまま、texmf-localにダウンロードしたクラスファイル等を入れておけば、混ざって「汚れる」こともありません。こちらは、上でリンクしたような設定をおこなわなくても標準で利用できます。TeXの更新をおこなう時は、このフォルダだけどこかに退避させればいいわけです。
若 雲 への返信

Re: クラスファイルをMydocument内においてplatexを実行するには?

- 奥村 晴彦 の投稿
なるほど,最初My Documents内にすべての*.clsを引越しするという意味にとってしまいましたが,若雲さんのおっしゃっているような ~/texmf に自作のものを入れたいということでしたら,「汚したくない」の意味が十分わかります。最初のご質問を少し誤解していたかもしれません。すみません。

それなら$TEXMFHOMEを活用すればいいですね。
奥村 晴彦 への返信

Re: クラスファイルをMydocument内においてplatexを実行するには?

- Akira Kakuto の投稿
> それなら$TEXMFHOMEを活用すればいいですね。

いままではデフォルトでは $TEXMFHOME を使えるように
記述していなかったのですが、最新のものから使用できます。
Windows では $TEXMFHOME は $USERPROFILE/texmf です。

若 雲 への返信

Re: クラスファイルをMydocument内においてplatexを実行するには?

- アーベル の投稿

若雲さま,はじめ返信してくださった方々へ

有難うございました.

意味もわからない部分もありますのでとにかくやってみて勉強します.

またのときはよろしく.

アーベル への返信

Re: クラスファイルをMydocument内においてplatexを実行するには?

- 露伴 の投稿
正統な方法かわかりませんが,「オリジナルのクラス,パッケージのjobごとのファイル管理」という目的でしたら以下の方法で相対,絶対指定が一応可能ではあります.


\makeatletter
\def\input@path{{./Mydocument/}{c:/Mydocument/}}
\makeatother
\documentclass{mybook}
\usepackage{mystyle}
\begin{document}
text text text
\end{document}

graphicxパッケージの\graphicspathの中身もこれなので
図版用の指定にも使えます.

ただし,同名のファイルがTEXMFツリーにあればそちらが先に読まれますから,jboo.clsなどは置けません,再帰的にも読まないようです