Aku tahu bagaimana untuk menentukan paket atau kelas, tapi bagaimana cara membuatnya tersedia (untuk diriku) setiap saat?
Katakanlah saya memiliki paket file commonstuff.sty
(atau myprettyclass.cls
), yang saya ingin dapat termasuk dalam .tex
file yang saya buat di komputer saya. Dimana aku meletakkannya? Apakah saya perlu untuk menjalankan beberapa installer pada itu, atau apakah itu cukup untuk menyimpannya di folder tertentu?
Note: aku tahu aku hanya bisa menempatkannya di folder yang sama sebagai .tex
file, tapi yang's tidak apa yang saya'm setelah di sini. I'm mencari cara untuk "install" paket hotel di komputer saya.
Anda bisa membuat folder di bawah ini anda TeX home directory dan menempatkan anda .sty
file di dalamnya. Gunakan perintah ini pada prompt perintah untuk mencari tahu di mana:
kpsewhich -var-value=TEXMFHOME
Di komputer saya itu menunjukkan
C:/Users/stefan/texmf
tapi mungkin itu juga yang menjadi ~/texmf/
pada Linux atau Unix komputer.
Berikut TeX struktur direktori, anda harus menempatkan file dalam subdirektori seperti ~/texmf/tex/latex/commonstuff/
, menurut Arthur's komentar di bawah ini. Ini memiliki keuntungan bahwa tidak perlu untuk update database paket sebagai TeX pencarian anda pribadi texmf
pohon ini diatas. Jika ada ls-R
file yang di rumah anda texmf
pohon anda dapat dengan aman menghapus itu sebagai TeX tidak akan menggunakannya pula. (Catatan: ini mengasumsikan pribadi anda pohon pada sistem file lokal: pengguna dengan jarak jauh dipasang di home folder anda mungkin masih perlu hash.)
Mengenai MiKTeX, melihat-lihat di bagian "Menginstal sty atau cls file" dalam menjawab pertanyaan Bagaimana saya bisa secara manual menginstal sebuah paket pada MikTex (Windows).
Anda kemudian dapat memverifikasi file apa saja yang akan digunakan dengan:
kpsewhich filename.sty
Ini akan menampilkan path ke file dijemput oleh TeX implementasi.
Semua jawaban yang lain mencakup hal-hal yang cukup baik, tapi saya pikir versi yang sedikit berbeda mungkin bisa membantu.
Ada dua bagian untuk mengatakan TeX tentang baru .sty
file. Pertama, anda harus memasukkannya ke dalam 'kan' tempat dan kedua, anda perlu memperbarui database TeX menggunakan untuk menemukan file. Tempat untuk meletakkan file tergantung pada sistem operasi anda. Dengan asumsi anda memiliki instalasi standar, ini mungkin akan menjadi:
C:\Users\<nama pengguna>\Appdata\Local\MikTex\<number>\tex\latex\local\
C:\Users\<nama pengguna>\texmf\tex\latex\local\
C:\Documents and Settings\<user name>\texmf\tex\latex\local\
~/texmf/tex/latex/lokal/
/Pengguna/<user name>/Perpustakaan/texmf/tex/latex/lokal/
Catatan: lokal/
folder mungkin tidak ada; dalam hal ini, pergi ke depan dan membuat.
Beberapa catatan tentang itu. Pertama, pada Windows 'Pengguna' bagian dari lokasi ini tergantung pada bahasa. Kedua, saya've diwakili anda home/user folder '<user name>
': ini jelas akan tergantung pada sistem anda. Folder saya've ditunjukkan mungkin tidak ada: anda mungkin hanya memiliki texmf bagian bit dalam atau tidak sama sekali. Lokasi file penting, dan meskipun anda hanya bisa menempatkan file anda di dalam
texmf/tex/latexadalah biasa untuk menjaga hal-hal terorganisir dengan paket.
Lokal` folder ini diperuntukkan untuk hal-hal yang diinstal pada setiap mesin.
Membiarkan TeX 'tahu' tentang file berarti menjalankan program yang membangun sebuah database dari lokasi file. Ada antarmuka grafis untuk melakukan hal ini, tetapi cara yang bekerja pada semua sistem operasi adalah dengan menggunakan Command Prompt/Terminal dan ketik texhash
. Ini akan membangun database untuk pohon anda (salah satu yang di home folder anda). Setelah 'hash' dibuat TeX harus dapat menemukan file anda. Untuk terakhir TeXLive distro, langkah ini tidak diperlukan untuk file di dalam folder lokal.
Seperti yang sudah disebutkan oleh Arthur, .sty
atau .cls
file harus dalam beberapa subdirektori tex\lateks
yang dapat di setiap direktori dari setiap drive.
Lihat gambar berikut, ini menunjukkan bagaimana jalan untuk saya paket dan kelas.
Saya akan menjelaskan dua kasus, mendaftar untuk MikTeX dan mendaftar untuk TeX Live.
Buka Pengaturan (Admin)
, pilih Akar
tab, dan tambahkan jalanku E:\A\My LaTeX\MyLibrary
.
Perhatikan bahwa akhiran
\tex\latex\misc
tidak harus disertakan !
Setelah itu, pilih Umum
tab dan tekan tombol Refresh FNDB
tombol.
The .sty
file yang harus dimasukkan ke dalamnya beberapa subdirektori tex/latex
di texmf pohon. Pohon-pohon yang memiliki struktur tetap, tapi lokasi mereka mungkin bervariasi sesuai dengan OS anda dan TeX distribusi. Jika anda menggunakan Unix (termasuk Mac OS) dan TeX Live, ada's secara default hirarki
/usr/local/texlive/2009/texmf
/usr/local/texlive/2009/texmf-dist
/usr/local/texlive/texmf-local
serta direktori lain. Anda ingin memasukkannya ke dalam texmf-lokal
direktori, tidak di direktori lain yang dikelola oleh TeX Live installer; ketika anda meng-upgrade TeX Live, paket anda akan ditimpa. The texmf-lokal
hirarki, seperti nama-nama petunjuk, adalah untuk paket lokal yang dikelola oleh anda; tidak't disentuh oleh update (yang juga mengapa hal itu's langsung di bawah texlive
direktori, dan tidak texlive/2009
, misalnya).
Anda juga dapat memilih untuk membuat sebuah direktori bernama texmf
di direktori home anda, dan paket akan terlihat hanya untuk anda, bukan pengguna lain pada komputer anda.
Pada Windows dengan MiKTeX, saya percaya direktori lokal untuk pemasangan C:\Localtexmf
secara default.
Dalam hal apapun dan apapun distribusi anda, anda harus menempatkan .sty
dalam berkas .../texmf-lokal/tex/latex
dan tidak langsung di root directory; it's tidak hanya't bekerja sebaliknya.
Kemudian, jika anda've memasang paket di direktori home anda, anda memiliki apa-apa untuk dilakukan. Jika anda've dimasukkan ke dalam texmf-lokal
, di sisi lain, anda perlu untuk menjalankan utilitas mktexlsr
(atau texhash
, it's alias).
Pada Linux, anda dapat memilih direktori yang anda inginkan, dan kemudian tambahkan baris seperti
export TEXINPUTS=".:~/latex:"
untuk anda .bashrc file (anda dapat menambahkan beberapa direktori, yang dipisahkan oleh titik dua. Saya pikir anda tidak perlu '.' di awal). Mungkin ada sesuatu yang serupa di Windows. Saya menemukan ini lebih mudah, karena memisahkan "saya" barang-barang dari texmf pohon. Mungkin tidak bagus jika anda're menulis sebuah paket besar, tapi berguna untuk beberapa hal-hal kecil anda hanya ingin berbagi antara semua proyek anda.
Menggunakan texlive pada Ubuntu,*.sty file terletak di
/usr/share/texmf-texlive/tex/latex/
Menambahkan gaya baru foo.sty
biasanya berarti
foo
sudo mkdir /usr/share/texmf-texlive/tex/latex/foo
foo.ga
adasudo cp foo.sty /usr/share/texmf-texlive/tex/latex/foo/
sudo texhash
Bekerja untuk saya dengan texlive 2009-15 di Xubuntu 12.04 LTS
I've hanya menemukan ini di MiKTeX dokumentasi. Just FYI:
6.2. Yang terbaik direktori untuk menyimpan .sty file mana MiKTeX dapat menemukan mereka? MiKTeX Manajer Paket mengurus instalasi yang tepat terkenal Lateks paket.
Jika (untuk beberapa alasan) anda harus menginstal paket dengan tangan, maka anda harus copy file input ke dalam direktori
tex\latex\misc
relatif untuk terdaftarroot
direktori. Misalnya:Membuat direktori root
C:\Local TeX File
.Membuat sub-direktori
tex\latex\misc
dan copy file input (*.sty
,*.cls
) di sini.Daftar direktori root (
C:\Local TeX File
) di MiKTeX Pilihan.Untuk informasi lebih lanjut, baca bagian Mengintegrasikan Penambahan Lokal di MiKTeX manual.
Bagi saya, menggunakan MAC OS X dengan standar MacTeX, jawaban di atas hanya sebagian membantu. Saya tidak't menemukan direktori ~/Library/texmf
.
Yang saya lakukan berikut ini. Asumsikan bahwa anda ingin menambahkan mystyle.sty
untuk anda TeX. Membuat direktori ~/Library/texmf/tex/latex
dan tempat mystyle.sty
di dalamnya. Setelah itu memanggil texhash ~/Library/texmf/
.
Ini bekerja untuk saya.
Lain jawaban yang diberikan untuk pertanyaan ini semua menyarankan untuk menempatkan anda .sty
file folder /texmf/
di dalam folder profil pengguna (meskipun ada doesn't tampaknya ada kesepakatan mengenai apa sebenarnya yang perlu anda lakukan after itu).
Ini akan, bagaimanapun, tidak bekerja jika anda (seperti saya) yang menggunakan portable Lateks program, karena kemudian tidak ada't sama seperti /texmf/
folder pada komputer anda.
Alternatif solusi oleh karena itu untuk menempatkan anda .sty
file (misalnya foo.sty
) di setiap folder anda'a seperti (mis. C:/foo/
), dan kemudian hanya menentukan path mana anda menjaga anda .sty file
ketika anda memuat dalam pembukaan:
\usepackage{C:/foo/foo}
Untuk menghindari kesalahan atau pesan peringatan, pastikan untuk memberikan jalan juga di anda .sty file
:
\ProvidesPackage{C:/foo/foo}
Untuk menjaga portabilitas penuh dari anda Lateks program ini, anda dapat menempatkan anda .sty
file dalam Lateks subfolder, mis. C:/texlive/foo/
.
Dengan cara ini anda dapat menyimpan semua anda .sty
file dalam satu tempat pada komputer anda, dan termasuk jalan yang sama dengan \usepackage
di semua anda .tex
dokumen.
Saya menggunakan sebuah perbaikan cepat untuk masalah ini karena saya bekerja terutama pada USB stick dan don't ingin menyentuh tex folder komputer yang saya gunakan.
Memang, anda dapat menentukan mundur direktori \usepackage
, maka anda don't harus tahu persis path lengkap tetapi hanya relatif path dari anda .tex
untuk anda .sty
file.
Contoh: diberikan sebuah hard disk portabel D
, saya telah di D:/latex/files/
saya .tex
file dan dalam D:/latex/packages/
beberapa paket yang ingin saya gunakan, maka anda dapat menulis \usepackage{../paket/mypack.sty}
Tidak yakin apakah ini bekerja pada windows namun
Untuk menghindari tex distribusi atau sistem operasi persyaratan tertentu di mana untuk menempatkan barang-barang dan apa yang harus dijalankan untuk mendapatkan itu dapat ditemukan saya menggunakan GNUmakefile aturan dari formulir berikut:
%.sty : ../%.sty
cp $^ $@
Setiap subdirektori yang saya membangun lateks kode referensi aturan ini, sehingga .sty file yang akan disalin secara lokal ke direktori tersebut sebelum pdflatex dipanggil (menggunakan cocok ketergantungan aturan). Lihat misalnya, mencatat/membuat.aturan dan catatan/phy452/GNUmakefile di physicsplay github repo.
Ini bekerja dengan baik bagi saya di Linux (ubuntu + TexLive) dan Windows (cygwin + MikTex).