Dimana tempat saya sendiri .hordeolum atau .cls file, untuk membuat mereka tersedia untuk semua .tex file?

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.

Mengomentari pertanyaan (8)
Larutan

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.

Komentar (15)

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:

  • Windows 10 (dan miktex)
    C:\Users\<nama pengguna>\Appdata\Local\MikTex\<number>\tex\latex\local\
  • Windows Vista/7 C:\Users\<nama pengguna>\texmf\tex\latex\local\
  • Windows XP C:\Documents and Settings\<user name>\texmf\tex\latex\local\
  • Linux ~/texmf/tex/latex/lokal/
  • Mac OS X /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 dalamtexmf/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.

Komentar (7)

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.

Mendaftar untuk MikTeX

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.

Mendaftar untuk TeX Live

Melihat Bagaimana untuk mendaftar saya sendiri paket-paket atau kelas di drive yang terpisah untuk TeX Live instalasi?

Komentar (0)

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).

Komentar (1)

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.

Komentar (10)

Menggunakan texlive pada Ubuntu,*.sty file terletak di

/usr/share/texmf-texlive/tex/latex/

Menambahkan gaya baru foo.sty biasanya berarti

  1. buat folder foo

sudo mkdir /usr/share/texmf-texlive/tex/latex/foo

  1. copy file foo.ga ada

sudo cp foo.sty /usr/share/texmf-texlive/tex/latex/foo/

  1. menjalankan texhash

sudo texhash

Bekerja untuk saya dengan texlive 2009-15 di Xubuntu 12.04 LTS

Komentar (3)

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 terdaftar root 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.

Komentar (1)

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.

Komentar (4)

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.

Komentar (15)

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

Komentar (5)

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).

Komentar (3)