Introduksjon til TeX Live fra kilden
Notat
I følge https://www.tug.org/historic/
master nettstedet i Frankrike støtter bare ftp og rsync. Nå som
ftp generelt er utdatert, den siden har lenker til speil, hvorav
noen støtter https, f.eks. i Utah og Chemntiz samt i Kina. Hvis
du foretrekker å bruke et annet speil fra eksempelkoblingene her,
må du navigere til systems/historic/texlive/2024 eller
systems/texlive/2024 som tilfellet kan være.
Det meste av TeX Live kan bygges fra kilden uten en
forhåndseksisterende installasjon, men xindy (for indeksering) trenger en fungerende
versjon av latex og
pdflatex når
konfigurering kjøres, og testpakken og installere asy (for vektorgrafikk) vil
mislykkes hvis TeX ikke allerede er installert. I tillegg,
biber er ikke gitt innenfor
texlive kilden og versjonen av
dvisvgm i texlive treet kan ikke bygges hvis delte
systembiblioteker brukes.
Alle disse pakkene behandles på deres egne sider og kan bli bygget
etter installasjon av denne pakken. Hvis du ikke allerede har gjort
det, burde du starte med Sette PATH for TeX
Live slik at de siste kommandoene til å initialisere den nye
installasjonen vil bli funnet.
Notat
Utviklingsversjoner av BLFS kan ikke bygge eller kjøre noen
pakker riktig hvis LFS eller avhengigheter har blitt oppdatert
siden den siste stabile versjonene av bøkene.
Pakkeinformasjon
Påkrevd Ytterligere Nedlastinger
Mye av texlive miljøet (inkludert skript, dokumentasjon, fonter og
diverse andre filer) er ikke en del av kilde tarballen. Du må laste
de ned separat. Dette vil gi deg alt av tilleggsfiler som leveres
av en full installasjon av binærfil versjonen, det er ingen
realistisk måte å begrense hvilke deler som blir installert.
På grunn av størrelsen på denne pakken er det usannsynlig at den
speiles av BLFS speil. Hvis du ikke kan laste ned filene for denne
pakken, gå til https://www.ctan.org/mirrors/ for å finne et mer
tilgjengelig speil.
tlpdb databasen sendes som en egen tarball. texdoc programmet trenger en
hurtiglagerfil avledet fra dette (og vil opprette et hurtiglager
ved første kjøring).
TeX Live fra kilden Avhengigheter
Anbefalt
et grafiske miljø
Kilden leveres med sine egne versjoner av mange biblioteker, og vil bruke dem med
mindre den blir tvunget til å bruke systemversjoner. Følgende
anbefales slik at systemversjonen vil bli brukt: Cairo-1.18.2,
Fontconfig-2.15.0, FreeType-2.13.3, GC-8.2.8, Graphite2-1.3.14, harfBuzz-10.0.1 (bygget med graphite2
aktivert), ICU-75.1, libpaper-2.2.5 (brukt av minst context og
xelatex), og libpng-1.6.44
Videre forutsetter instruksjonene nedenfor at du bruker oppsettet
beskrevet i Sette PATH for TeX Live.
Valgfri
Kilden leveres med egne versjoner av flere biblioteker som enten
ikke er under aktiv utvikling, eller kun brukt for begrenset
funksjonalitet. Hvis du installerer disse, som med noen andre
valgfrie avhengigheter i denne boken må fortelle configure til å bruke
systemversjonene. GD, t1lib, ZZIPlib,
TECkit
Kjøretids avhengigheter
Python2
brukes av ikke-vedlikeholde ebong CTAN modulen (ment for å skrive
bengali i Rapid Roman Format). /usr/bin/python
er også i shebang linjen for
lateks papirstørrelse og lilyglyphs skript, og dokumentasjon hos
CTAN sier begge moduler har blitt oppdatert for å fungere med
python3. I pythontex er det skript for å starte python3 eller
python2 i henhold til systemets versjon av python. Ruby-3.3.5 brukes av
to skript, det ene er for pTex (japansk vertikal skrift) og det
andre er match_parens som kan være generelt nyttig. Perl modulen
Tk, som må kjøres fra en X11 økt for å kjøre testene og krever
Tk-8.6.15 brukes av et av skriptene for ptex og er
nødvendig for texdoctk (et GUI grensesnitt for å finne
dokumentasjonsfiler og åpne dem med riktig viser). ps2pdf, fra ghostscript-10.04.0, blir
brukt av noen verktøy og skript.
Installasjon av TeX Live
Installer TeX Live ved å kjøre følgende kommandoer:
Obs
Hvis du ønsker å oppgradere til gjeldende texlive på et eldre system hvor ekstrapakker
(asymptote, dvisvgm, eller xindy) har blitt installert, må du installer
disse på nytt i tillegg til å fikse opp PATH
for $TEXLIVE_PREFIX
.
Notat
En vellykket installasjon krever litt texlive kommandoer skal
kjøres som root bruker, så vi eksporterer TEXARCH variabel for å
la root
bruke det.
Nå, som en vanlig bruker:
export TEXARCH=$(uname -m | sed -e 's/i.86/i386/' -e 's/$/-linux/') &&
patch -Np1 -i ../texlive-20240312-source-upstream_fixes-1.patch &&
mkdir texlive-build &&
cd texlive-build &&
../configure -C \
--prefix=$TEXLIVE_PREFIX \
--bindir=$TEXLIVE_PREFIX/bin/$TEXARCH \
--datarootdir=$TEXLIVE_PREFIX \
--includedir=$TEXLIVE_PREFIX/include \
--infodir=$TEXLIVE_PREFIX/texmf-dist/doc/info \
--libdir=$TEXLIVE_PREFIX/lib \
--mandir=$TEXLIVE_PREFIX/texmf-dist/doc/man \
--disable-native-texlive-build \
--disable-static --enable-shared \
--disable-dvisvgm \
--with-system-cairo \
--with-system-fontconfig \
--with-system-freetype2 \
--with-system-gmp \
--with-system-graphite2 \
--with-system-harfbuzz \
--with-system-icu \
--with-system-libgs \
--with-system-libpaper \
--with-system-libpng \
--with-system-mpfr \
--with-system-pixman \
--with-system-zlib \
--with-banner-add=" - BLFS" &&
make
For å teste resultatene, utsted: make
-k check. En test psutils.test
er kjent for å mislykkes hvis du
bruker systemets libpaper fordi TeX Live inkluderer gamle versjoner
av både psutils og libpaper som resulterer i en forskjell i de
siste desimalene til psresize testen. libpaper utvikler tror ikke dette er av
betydning.
Nå, som root
bruker:
make install-strip &&
make texlinks &&
mkdir -pv $TEXLIVE_PREFIX/tlpkg/TeXLive/ &&
install -v -m644 ../texk/tests/TeXLive/* $TEXLIVE_PREFIX/tlpkg/TeXLive/ &&
tar -xf ../../texlive-20240312-extra.tar.xz -C $TEXLIVE_PREFIX/tlpkg --strip-components=2
Notat
Bare kjør make
texlinks en gang. Hvis den kjøres på nytt, kan
den endre alle programsymlinkene slik at de peker til seg selv og
er ubrukelige.
Installer nå tilleggsfilene som root
bruker:
tar -xf ../../texlive-20240312-texmf.tar.xz -C $TEXLIVE_PREFIX --strip-components=1
Fortsatt som root
bruker,
initialiser det nye systemet (kommandoen fmtutil-sys --all vil produsere
masse utdata):
mktexlsr &&
fmtutil-sys --all
For å tillate Evince-46.3.1 or dvisvgm-3.4.1 å lenke til
libkpathsea.so
, som root
bruker (gjen)opprette en symbolkobling fra
/usr/lib
:
ln -svf $TEXLIVE_PREFIX/lib/libkpathsea.so{,.6} /usr/lib
Notat
TeX Live inkluderer ikke kilden for ConTeXt, bare elementene som
er på CTAN. Å prøve å bygge ConTeXt rent fra kilden på et BLFS
TeX Live system er en nisjebruk og ser ut som om det vil være mer
trøbbel enn det er verdt.
Hvis du ønsker å bruke ConTeXt med luametatex (det meste av den
gamle MKII og MKIV koden ble fjernet fra TeX Live 2023 av ConTeXt
utvikler), starter med binæren (bare installere ConTeXt, 753 MB i
mars 2024) vil sannsynligvis være den enkleste måten å starte den
på. Kilden til luametatex kan hentes med git
fra github
luametatex, kompilert med meson og ninja, og installert ved å
kopiere til riktig programmappe. Dette bør unngå å måtte fikse
alle symbolkoblinger osv. og unngå også å inkludere de mange
urelaterte deler av texmf-dist. Se kommentarer 1 til 5 av
#17823.
Du kan nå gå videre til asymptote-2.91, biber-2.20, dvisvgm-3.4.1 og /
eller xindy-2.5.1 hvis du ønsker å installere dem.
Parameterforklaringer
-C: oppretter
config.cache, som sparer betydelig tid i et parallellbygg.
--prefix=
, --bindir=
, --datarootdir=
, og andre «dir» brytere: disse
bryterne sørger for at filene installert fra kilden vil overskrive
alle tilsvarende filer som tidligere er installert av install-tl-unx slik at alternative metoder for
å installere texlive er
konsistente.
--includedir=
--libdir=
: disse bryterne sikrer at
bibliotekene og inkluderte filer vil være innenfor mappen for dette
års texlive.
--disable-static
: Denne
bryteren forhindrer installasjon av statiske versjoner av
bibliotekene.
--enable-shared
: Bruk delte
versjoner av libkpathsea
,
libptexenc
, libsynctex
, libtexlua52
og libtexluajit
.
--with-system-
...: Med
mindre denne parameteren brukes, vil de inkluderte versjonene av
disse bibliotekene bli statisk kompilert inn i programmene som
trenger dem. Hvis du bestemte deg for ikke å installere et anbefalt
bibliotek, utelat den tilsvarende bryteren.
--disable-dvisvgm
: Som
nevnt ovenfor, den sendte versjonen av dvisvgm, som har modifiserte
konfigurasjonsfiler, kan ikke bygges med delte systembiblioteker.
make texlinks : dette
kjører skriptet texlinks.sh for å lage symbolske lenker fra
formater til motorer. I praksis, flere av målene som f.eks
xetex er nå separate
binærfiler og for disse vil den rapportere "file already exists".
tar -xf texlive-20240312-texmf.tar.xz
-C $TEXLIVE_PREFIX --strip-components=1: tarballen
inneholder filene for texmf-dist mappen, og fordi dens størrelse
ønsker vi ikke å kaste bort tid og plass på å pakke den ut og
etterpå kopiere filene.
install -v -m644
../texk/tests/TeXLive/*
$TEXLIVE_PREFIX/tlpkg/TeXLive/: Dette setter perl
modulene TLConfig.pm
og TLUtils.pm
inn i mappen der det binære
installasjonsprogrammet plasserer dem - det er på starten av perl
@INC@ PATH i texlive når installert ved hjelp av ovenstående
konfigurasjons brytere. Uten disse modulene er texlive ubrukelig.
--without-x
: bruk dette hvis du ikke
har Xorg installert.
Det er mange andre "--disable" eller "--without" alternativer. Noen
av dem slik som --without-texinfo
blir
akseptert, men ikke lenger gjør noe, andre vil forhindre at et
program bygges - men desto større mengde plass brukt til de
relaterte elementene i texmf betyr at det ikke er noen åpenbar
fordel fra å deaktivere noen av programmene.
fmtutil-sys --all:
Dette initialiserer TeX formatene, Metafont baser og Metapost mems.
mtxrun --generate:
Dette initialiserer ConTeXt systemet.
Innhold
Installerte Programmer:
Over 300 binærfiler og symbolkoblinger
til skript
Installerte Biblioteker:
libkpathsea.so, libptexenc.so,
libsynctex.so, libtexlua52.so, libtexluajit.so
Installerte Mapper:
$TEXLIVE_PREFIX/bin,
$TEXLIVE_PREFIX/include, $TEXLIVE_PREFIX/lib,
$TEXLIVE_PREFIX/texmf-dist
Korte Beskrivelser
TeX programs
|
Programmene som inngår i TeX er for mange til å liste opp
hver for seg. Vennligst referer til det enkelte
programmets HTML og PDF sider i ulike html, man eller pdf
filer i undermappene til 2024/texmf-dist/ . Ved bruk av
texdoc
pdflatex ( erstatt pdflatex med kommandonavnet )
kan også være nyttig
|
libkpathsea.so
|
(kpathsearch) eksisterer for å slå opp en fil i en liste
over mapper og brukes av kpsewhich
|
libptexenc.so
|
er et bibliotek for japansk pTeX (publishing TeX)
|
libsynctex.so
|
er SyncTeX (Synchronize TeXnology) parserbibliotek
|
libtexlua52.so
|
gir Lua 5.2, modifisert for bruk med LuaTeX
|
libtexluajit.so
|
gir LuaJIT, modifisert for bruk med LuaJITTeX
|