Știu cum de a defini un pachet sau o clasă, dar cum pot face disponibile (pentru mine) tot timpul?
Spune că am fișier pachet commonstuff.urcior "(sau " myprettyclass.cls
), care vreau să fie în măsură să includă în orice .tex
de fișiere pot crea pe calculatorul meu. Unde am pus-o? Am nevoie pentru a rula unele de instalare de pe ea, sau este suficient să-l păstrați într-un anumit folder?
Notă: știu că pot doar să puneți-l în același folder ca `.tex dosar, dar care's nu ceea ce am'm aici. Am'm în căutarea pentru o modalitate de a "instalare" pachet central pe computer.
Ai putea crea un folder sub TeX director de casă și pune-ți.sty` file în continuare. Utilizați această comandă la promptul de comandă pentru a afla în cazul în care:
kpsewhich -var-value=TEXMFHOME
Pe calculatorul meu arată
C:/Users/stefan/texmf
dar ar putea fi, de asemenea, ~/texmf/
pe un Linux sau Unix calculator.
În urma TeX structura de directoare, ar trebui să plasați fișiere într-un subdirector ca ~/texmf/tex/latex/commonstuff/
, potrivit lui Arthur's comentariu de mai jos. Acest lucru are avantajul că nu este necesar să actualizați pachetul de bază de date ca TeX căutările dvs. personale texmf
copac direct. Dacă există un e-Rfișier în casa ta
texmf` copac, puteți șterge în siguranță ca TeX nu-l va folosi oricum. (Notă: aceasta presupune personale copac este un sistem de fișiere local: utilizatorii de la distanță-montat acasă foldere poate încă mai trebuie să hash.)
Cu privire MiKTeX, au o privire la sectiunea "Instalarea sty sau cls fișiere" în răspunsul la întrebarea Cum pot instala manual un pachet pe MikTex (Windows)]1.
Puteți verifica apoi ce fișiere vor fi utilizate cu:
kpsewhich filename.sty
Acest lucru vă va arăta calea către fișierul preluat de la TeX de implementare.
Toate celelalte răspunsuri acoperi lucrurile destul de bine, dar am crezut că o versiune ușor diferită ar putea fi de ajutor.
Există două părți la spunându-TeX despre o nou .sty
de fișier. În primul rând, trebuie să-l pună în 'bine' locul și în al doilea rând trebuie să actualizeze baza de date TeX folosește pentru a găsi fișiere. În loc să puneți fișierul depinde de sistemul de operare. Presupunând că aveți o instalare standard, acest lucru va fi, probabil:
C:\Users\<nume de utilizator>\Appdata\Local\MikTex\<număr>\tex\latex\local\
C:\Users\<nume de utilizator>\texmf\tex\latex\local\
~/texmf/tex/latex/locale/
/Users/<numele de utilizator>/Library/texmf/tex/latex/locale/
Notă: la nivel local/` folder-ar putea să nu existe; în acest caz, mergeți mai departe și de a crea.
Câteva note despre asta. În primul rând, pe Windows 'Utilizatorilor' partea de locație este dependente de limbă. A doua, I'am reprezentat home/user folder ca '<numele de utilizator>
': aceasta va fi, evident, depinde de sistem. Dosarul I'am indicat poate să nu existe: poate doar texmf
parte, biți în care sau nimic, la toate. Locația fișierului este important, și, deși ai putea pune fișierul în interiorul texmf/tex/latex
este este de obicei pentru a menține lucrurile organizate de pachet. "Local" dosarul este rezervat pentru chestii instalate pe mașini individuale.
Permițându-TeX 'cunosc' despre extensia de fișier înseamnă rulează un program care construiește o bază de date de locații de fișiere. Există interfețe grafice pentru a face acest lucru, dar modul în care funcționează pe toate sistemele de operare este de a utiliza linia de Comandă/Terminal și tastați texhash
. Acest lucru va construi baze de date de copac (cel care este în folderul acasă). Odată ce 'hash' este creat TeX ar trebui să fie capabil de a găsi fișierul. Pentru ultimii bcc description distribuții, acest pas nu este necesar pentru fișierele în folderul local.
După cum sa menționat deja, de Arthur, `.sty "sau".cls fișierele trebuie să fie într-un subdirector al tex\latex care poate fi în orice director de pe disc.
A se vedea captura de ecran următoare, se arată modul în calea mea pachete și clase este.
Voi explica două cazuri, înregistrarea la MikTeX și înregistrarea la TeX Live.
Deschideți Setări (Admin)", selectați " Rădăcinitab, și adăugați calea mea
E:\A\My LaTeX\MyLibrary`.
Rețineți că la sfârșit
\tex\latex\misc
nu trebuie să fie incluse !
După aceea, selectați "General" tab-ul și apăsați Reîmprospătare FNDB` buton.
Vezi Cum de a înregistra propria mea pachete sau clase într-o unitate separată pentru TeX Live instalare?
A .sty
fișiere trebuie să fie pus un subdirector al tex/latex într-un texmf copac. Acei copaci au mai degrabă o structură fixă, dar localizarea lor poate varia în funcție de sistemul dvs. de OPERARE și TeX distribuție. Dacă utilizați Unix (inclusiv Mac OS) și TeX Live, acolo's implicit o ierarhie
/usr/local/texlive/2009/texmf
/usr/local/texlive/2009/texmf-dist
/usr/local/texlive/texmf-local
precum și alte directoare. Vrei să-l pui în texmf-localdirector, *nu* în alte directoare, care sunt gestionate de către TeX Live de instalare; atunci când faceți upgrade TeX Live, pachetul poate fi suprascris. Anii
texmf-localierarhie, ca nume de informatii, este pentru locale pachete gestionate de către tine; nu va't fi atins de actualizări (care este, de asemenea, de ce-l's direct sub
bcc descriptiondirector, și nu
bcc description/2009`, de exemplu).
Puteți alege, de asemenea, pentru a crea un director numit texmf
în directorul tau de casa, iar pachetul va fi vizibil doar pentru tine, nu pentru alți utilizatori de pe computer.
Pe Windows cu MiKTeX, cred că directorul cu firme locale instalează este C:\Localtexmf
în mod implicit.
În orice caz, și bucură-te de distribuție, va trebui să loc .sty
fișier în interiorul `.../texmf-locale/tex/latex și nu direct în directorul rădăcină; it's câștigat't lucra altfel.
Apoi, daca'am instalat pachetul în directorul tau de casa, nu ai nimic de-a face. Daca'am pus în texmf-local, pe de altă parte, aveți nevoie pentru a rula utilitarul
mktexlsr "(sau " texhash`, l's un alias).
Pe Linux, puteți alege orice director vă place, și apoi adăugați o linie de genul
export TEXINPUTS=".:~/latex:"
pentru a ta .bashrc fișier (puteți adăuga mai multe directoare, separate prin virgulă. Cred că ai nevoie de '.' la început). Poate exista ceva similar în Windows. Am găsi acest lucru mai ușor, deoarece se separă "mea" chestii din texmf copac. Probabil nu mare daca're scris un pachet mare, dar la îndemână pentru unele lucruri mici, te vreau doar pentru a partaja între toate proiectele tale.
Folosind bcc description pe Ubuntu,*.sty fișierele sunt situate la
/usr/share/texmf-texlive/tex/latex/
Adăugarea unui nou stil foo.sty
înseamnă, de obicei,
sudo mkdir /usr/share/texmf-bcc description/tex/latex/foo
foo.sty
acolosudo cp foo.sty /usr/share/texmf-bcc description/tex/latex/foo/
sudo texhash
Pentru mine funcționează cu bcc description 2009-15 pe Xubuntu 12.04 LTS
Am'am găsit asta în MiKTeX documentația. Doar FYI:
6.2. Care este cel mai bun director de a păstra .fișierele sty unde MiKTeX le pot găsi? MiKTeX Package Manager are grijă de instalarea corectă a bine cunoscut LaTeX de pachete.
în Cazul în care (din anumite motive), trebuie să instalați un pachet de mână, apoi ar trebui să copiați fișiere de intrare în directorul tex\latex\misc relativă a înregistrat
root
director. De exemplu:Creați directorul rădăcină `C:\Local TeX Fișiere.
Creați un sub-director tex\latex\misc
și copiați fișiere de intrare (
.sty,
.cls`) aici.Registrul directorul rădăcină (`C:\Local TeX, Fișiere) în MiKTeX Opțiuni.
Pentru mai multe informații, citiți secțiunea Integrarea Locală Completări în MiKTeX manual.
Pentru mine, utilizând MAC OS X standard cu Utilizatorul, răspunsul de mai sus au fost doar parțial utile. Nu puteam't găsi director ~/Library/texmf
.
Am făcut următoarele. Să presupunem că doriți să adăugați mystyle.sty
la TeX. Creați directorul ~/Library/texmf/tex/latex și locul mystyle.sty
în ea. După aceea, invoc texhash ~/Library/texmf/
.
Aceasta a lucrat pentru mine.
Alte răspunsurile oferite la această întrebare sugerează să-ți pui .sty
fișiere în folderul /texmf/
în profilul dvs. de utilizator folder (deși acolo nu't par a fi orice acord cu privire la exact ceea ce ai nevoie pentru a face after asta).
Acest lucru va, cu toate acestea, nu funcționează dacă ai (ca mine) sunt folosind un dispozitiv portabil de LaTeX program, pentru că atunci nu va't fi orice astfel de /texmf/
folder de pe computer.
O soluție alternativă este aceea de a pune .sty
fișiere (de exemplu, foo.urcior
) în orice folder de tine'd ca (de exemplu, C:/foo/
), și apoi pur și simplu specifica calea unde-ți ții .sty
fișier atunci când încărcați-l în preambul:
\usepackage{C:/foo/foo}
Pentru a evita erori sau mesaje de avertizare, asigurați-vă că pentru a da drumul, de asemenea, în ta .sty
fișier:
\ProvidesPackage{C:/foo/foo}
Pentru a menține transferabilitatea deplină de LaTeX program, puteți pune .sty
fișiere într-un LaTeX subfolder, de exemplu, C:/texlive/foo/
.
În acest fel puteți să vă păstrați toate .sty
fișiere într-un singur loc pe computer, și includ aceeași cale cu \usepackage
în toate .tex
documente.
Eu sunt, folosind o soluție rapidă pentru această problemă de când lucrez în principal pe un stick USB și don't doriți să atingeți pentru a tex dosare calculatoarele eu sunt, folosind.
Într-adevăr, puteți specifica înapoi directoare pentru \usepackage
, atunci tu nu't trebuie să știi exact calea completă, dar numai pe cale relativă la ta .tex
a ta .sty
de fișier.
Un exemplu: dat un hard disk portabil "D", am în D:/latex/files/ "meu".tex fișiere și în D:/latex/packages/
unele pachete vreau să o utilizați, apoi puteți scrie \usepackage{../pachete/mypack.sty}
Nu sunt sigur dacă aceasta funcționează pe windows, cu toate acestea
Pentru a evita tex distribuție sau sistem de operare cerințe specifice în cazul în care pentru a pune lucrurile și ceea ce pentru a rula să-l fi găsit eu folosesc un GNUmakefile regula de forma următoare:
%.sty : ../%.sty
cp $^ $@
Fiecare subdirector pentru care am construi latex cod referințe această regulă, care rezultă în .sty a fi copiate la nivel local pentru acel director inainte de a comanda este invocat (folosind potrivit dependența de reguli). Vezi, de exemplu, note de/a face.reguli și note/phy452/GNUmakefile în physicsplay repo github.
Aceasta funcționează bine pentru mine pe Linux (ubuntu + bcc description) și Windows (cygwin + MikTex).