![MiKTeXでローカルのtexmfツリーを作成する](https://rvso.com/image/254698/MiKTeX%E3%81%A7%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%81%AEtexmf%E3%83%84%E3%83%AA%E3%83%BC%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B.png)
TEXMFLOCAL
TeX Live では管理者用とTEXMFHOME
ユーザー用に事前定義されていますが、MiKTeX ではデフォルトではローカルtexmf
ツリーはインストールされていません。ただし、これは便利です。cf.ローカル texmf ツリーの目的そこで私の質問は:
texmf
MiKTeX でローカルツリーを作成するにはどうすればいいですか?
答え1
実際には、ローカルTeXMFフォルダを複数作成できます。MiKTeXのオンラインドキュメントにすでに説明があります。ローカル追加機能の統合執筆時点では最近のMiKTeX 2.9(ただし、含まれている画像は古いバージョン、MiKTeX 2.5のものであり、若干異なります。http://docs.miktex.org/2.5/manual/localadditions.html)そこの名称は「ユーザー管理TEXMFディレクトリ」です(この回答の最後にある追加メモも参照してください)。
とにかく、別の説明を次に示します。
コンピュータのどこかにフォルダを作成します。重要な例外。 それしてはならないMiKTeX インストールのサブフォルダである必要があります (古いバージョンの MiKTeX ではこのように動作していましたが、セキュリティ上の理由で変更されました)。パスにスペースを入れることは、誤動作の危険があるため、できるだけ避けてください。MiKTeX ポータブルで使用する場合、フォルダは、もちろん MiKTeX インストールと同じドライブ上になければなりません。相対パスとして保存されます。ここでは を使用します
c:\localtexmf
。このフォルダはTDSに準拠している必要があります(TeX ファイルのディレクトリ構造); そうでない場合、MiKTeX は文句を言います。必要なものは、このディレクトリに何をインストールしたいかによって異なりますが、少なくともサブツリーが
tex\latex
あれば十分です。(それ自体はTDS準拠)MiKTEX ツリーですが、バイナリはサブフォルダーに直接配置できますc:\localtexmf\bin
。次に、GUI を使用します。
スタートメニューで MiKTeX エントリに移動し、設定を開きます。管理者として操作している場合は、もちろん「設定 (管理者)」です。「MiKTeX オプション」ウィンドウが開きます。
「ルート」タブに移動します。「追加」をクリックして、 を選択します
c:\localtexmf\
。ローカルディレクトリが複数ある場合は、「上へ」および「下へ」ボタンを使用して検索順序を選択できます。さて、最も重要な部分です。「一般」タブに移動し、「FNDBを更新」をクリックします。(FNDB = ファイル名データベース)場合によっては、特に新しいフォントがインストールされている場合は、「フォーマットの更新」ボタンも押す必要があります。
この手順を忘れると、これまでの手順はすべて無駄になってしまいます。
それ以外の場合は、コマンドラインを使用します (管理者として常にスイッチを追加します
--admin
)。を実行し
initexmf --register-root=c:\localtexmf
、その後にinitexmf --update-fndb
(短縮形:initexmf -u
) を実行します。(各ステップでスイッチを追加して
--verbose
、何が起こるかについての詳細情報を取得できます。)述べる:互換性の理由から、古いスイッチもあります
--user-roots=<local-texmf-dir>
。これは、ユーザーのルートディレクトリを登録するものでinitexmf --help
、管理者モードでも動作すると思いますが、http://docs.miktex.org/manual/initexmf.htmlもう言及されていないので、推測するしかありません。バイナリ用のサブフォルダが作成された場合は
bin
、環境変数に登録する必要があります。%PATH%
前にMiKTeX独自のインストールのバイナリサブツリー、例えば以下を参照Windows XP で環境変数を管理する方法またはサードパーティのツール環境男またはラピッドEE. その後、有効にするにはシステムを再起動する必要があります。解決できない問題: 管理者によって設定されたシステム全体の環境変数は、常にユーザー固有の環境変数より先に読み取られます。そのため、一般ユーザーは、独自の環境変数を含むバッチ ファイルのみを記述して使用できます%PATH%
。
ユーザーが作成したすべてのローカル texmf ツリーは、MiKTeX ルートから一時的に削除することで無効にできます (最後の追加メモを参照)。
参照MiKTeX (Windows) にパッケージを手動でインストールするにはどうすればいいですか?。
完全を期すために、MiKTeX からローカル TeXMF ツリーを削除する方法をc:\localtexmf\
例とともに説明します。
GUI:
設定(「MiKTeX オプション」ダイアログ)の「ルート」タブに再度移動し、ディレクトリを選択してc:\localtexmf\
、ウィンドウの下部にある「削除」をクリックします。その後、FNDB を再度更新し、場合によってはフォーマット ファイルも更新する必要があります。コマンドライン (ここでも: 管理者としてスイッチ を追加
--admin
):
を実行しinitexmf --unregister-root=c:\localtexmf
、続いて を実行しますinitexmf --update-fndb
。フォントをアンインストールした場合は、さらに を実行しますinitexmf --mkmaps
。--verbose
スイッチ も追加できます。サブフォルダーが不要になった場合は
bin
、環境変数を%PATH%
クリーンアップする必要があります。その後、フォルダー ツリーを
c:\localtexmf\
安全に削除できます。
追加メモ
まずヒント: コマンド プロンプトで、たとえばecho %Variable%
と入力できます。これにより、システム上で変数がどの値に拡張されるかを確認できます。%Variable%
%Userprofile%
まさにそのフレーズ「MiKTeX では、デフォルトではローカル texmf ツリーはインストールされません」 質問の は正しくありません。MiKTeX は、%UserProfile%
管理者モードでも の下にいくつかのツリーを追加します%AllUsersProfile%
(以下では、MiKTeX の名称が最初になります)。
- 「ユーザー設定」:
%AppData%\MiKTeX\<version>\
- 「UserData」:
%LocalAppData%\MiKTeX\<version>\
(Windows Vista 以降) または%UserProfile%\<Local Settings>\<Application Data>\MiKTeX\<version>\
(Windows XP までは、文字列<Local Settings>
と は<Application Data>
言語に依存します) - 管理者モードでのみ使用“CommonConfig” および “CommonData”:
%AllUsersProfile%\MiKTeX\<version>\
(Windows Vista 以降) または%AllUsersProfile%\<Application Data>\MiKTeX\<version>\
(Windows XP までは、文字列<Application Data>
は言語に依存します)
実際のパスは、「MiKTeX オプション」ウィンドウの「ルート」タブの GUI で確認するか、 を実行してコマンドライン インターフェイスで確認できますinitexmf --report
。
これらすべてのローカル ツリーの欠点: インストール時にのみ変更可能です。cf.MiKTeX で自動インストールされるパッケージの場所を変更する、これらを無効にすることはできません (MiKTeX ルートから一時的に削除することによって)。
詳細は以下を参照MiKTeX の管理者モードとユーザーモードの違い。
答え2
これはMikTeXの新しいバージョンでの指示です。引用部分は変更されていません。もう一つの答え。
- コンピュータのどこかにフォルダを作成します。重要な例外。 それしてはならないMiKTeX インストールのサブフォルダである必要があります (古いバージョンの MiKTeX ではこのように動作していましたが、セキュリティ上の理由で変更されました)。パスにスペースを入れることは、誤動作の危険があるため、できるだけ避けてください。MiKTeX ポータブルで使用する場合、フォルダは、もちろん MiKTeX インストールと同じドライブ上になければなりません。相対パスとして保存されます。ここでは を使用します
c:\localtexmf
。
.sty ファイルを保存するのに最適なディレクトリはどれですか? フォルダを配置する場所に関する提案が含まれています。
このフォルダはTDSに準拠している必要があります(TeX ファイルのディレクトリ構造); そうでない場合、MiKTeX は文句を言います。必要なものは、このディレクトリに何をインストールしたいかによって異なりますが、少なくともサブツリーが
tex\latex
あれば十分です。(それ自体はTDS準拠)MiKTEX ツリーですが、バイナリはサブフォルダーに直接配置できますc:\localtexmf\bin
。
- 次に、GUI を使用します。
- 「スタート」→「MiKTeX」→「MiKTeX コンソール」に移動します。
- 「設定」(左ペイン)→「ディレクトリ」タブ→「+」ボタン→パスを選択します。
- 「タスク」(メニュー項目)→「ファイル名データベースを更新」。
それ以外の場合は、コマンドラインを使用します (管理者として常にスイッチを追加します
--admin
)。を実行し
initexmf --register-root=c:\localtexmf
、その後にinitexmf --update-fndb
(短縮形:initexmf -u
) を実行します。
initexmf --register-root=<path>
は<path>
絶対パスでなければならないことに注意してください。つまり、c:\
または で始まる必要があります。
(各ステップでスイッチを追加して
--verbose
、何が起こるかについての詳細情報を取得できます。)