texlive-20240312-source
Introdução ao TeX Live a partir do fonte
Nota
De acordo com https://www.tug.org/historic/
o site mestre na França suporta somente FTP e rsync. Agora que o
FTP está geralmente obsoleto, essa página tem links para
espelhos, alguns dos quais suportam HTTPS, por exemplo, em Utah e
Chemnitz, bem como na China. Se você preferir usar um espelho
diferente a partir dos links de exemplo aqui, você precisará
navegar até systems/historic/texlive/2024 ou systems/texlive/2024
conforme o caso.
A maior parte do TeX Live pode ser construída a partir do fonte sem
uma instalação pré existente, mas o xindy (para indexação) precisa de versões
funcionais de latex e
pdflatex quando o
configure for executado e a suíte de teste e a instalação do
asy (para gráficos
vetoriais) falharão se o TeX ainda não tiver sido instalado. Além
disso, biber não é fornecido no
fonte do texlive e a versão de
dvisvgm na árvore do texlive não pode ser construída se bibliotecas
de sistema compartilhadas forem usadas.
Todos esses pacotes são tratados em nas próprias páginas deles e
podem ser construídos depois de se instalar esse pacote. Se ainda
não tiver feito isso, você deveria iniciar em Configurando o PATH para TeX
Live, de forma que os comandos finais para inicializar a nova
instalação sejam encontrados.
Esse pacote é conhecido por construir e funcionar corretamente
usando uma plataforma LFS 12.2.
Informação do Pacote
Transferências Adicionais Exigidas
Muito do ambiente do texlive (incluindo conjuntos de comandos
sequenciais, documentação, fontes e vários outros arquivos) não faz
parte do tarball do fonte. Você precisa baixá-lo separadamente.
Isso te dará todos os arquivos adicionais que são fornecidos por
uma instalação completa da versão binária, pois não existe uma
maneira realista de restringir quais partes serão instaladas.
Devido ao tamanho desse pacote, é improvável que ele seja espelhado
por espelhos do BLFS. Se você estiver impossibilitado(a) de baixar
os arquivos para esse pacote, vá para https://www.ctan.org/mirrors/
para encontrar um espelho mais acessível.
A base de dados tlpdb é enviada como um tarball separado. O
programa texdoc
precisa de um arquivo de cache derivado a partir desse (e criará o
cache na primeira execução dele).
Dependências do TeX Live a partir do fonte
Recomendadas
um ambiente gráfico
O fonte vem com as próprias versões dele de muitas bibliotecas, e as usará, a menos
que seja forçado a usar as versões do sistema. As seguintes são
recomendadas de forma que a versão do sistema seja usada: Cairo-1.18.0, Fontconfig-2.15.0, FreeType-2.13.3, GC-8.2.6, Graphite2-1.3.14, harfBuzz-9.0.0 (construído com graphite2
habilitado), ICU-75.1, libpaper-2.2.5 (usado por, pelo menos, context
e xelatex) e libpng-1.6.43
Além disso, as instruções abaixo assumem que você está usando o
esquema descrito em Configurando o PATH para TeX
Live.
Opcionais
O fonte vem com as próprias versões dele de diversas bibliotecas,
as quais ou não estão em desenvolvimento ativo ou são usadas
somente para funcionalidades limitadas. Se você instalar essas,
como acontece com algumas outras dependências opcionais neste
livro, você precisará dizer ao configure para usar as versões do
sistema. GD,
t1lib, ZZIPlib,
TECkit
Dependências de tempo de execução
Python2
é usado pelo módulo CTAN ebong não mantido (destinado a escrever
Bengali em formato Rapid Roman). /usr/bin/python
também está na linha shebang para
os conjuntos de comandos sequenciais latex-papersize e lilyglyphs,
e a documentação no CTAN diz que ambos os módulos foram atualizados
para funcionar com python3. No pythontex existem conjuntos de
comandos sequenciais para invocar python3 ou python2 de acordo com
a versão do sistema do python. Ruby-3.3.4 é usado
por dois conjuntos de comandos sequenciais, um é para pTex (escrita
vertical japonesa) e o outro é match_parens que pode geralmente ser
útil. O módulo perl
Tk, que precisa ser executado a partir de uma sessão do X11
para executar os testes e exige Tk-8.6.14, é usado por
um dos conjuntos de comandos sequenciais para ptex e é necessário
para texdoctk (uma interface GUI para localizar arquivos de
documentação e abri-los com o visualizador apropriado).
ps2pdf, proveniente
de ghostscript-10.03.1, é usado por alguns
utilitários e conjuntos de comandos sequenciais.
Instalação do TeX Live
Instale o TeX Live executando os seguintes comandos:
Cuidado
Se você desejar atualizar para o texlive atual em um sistema mais antigo,
onde pacotes extras (asymptote,
dvisvgm ou xindy) tenham sido instalados, você
precisará reinstalá-los, bem como corrigir teu PATH
para $TEXLIVE_PREFIX
.
Nota
Uma instalação bem-sucedida exige que alguns comandos do texlive
sejam executados como o(a) usuário(a) root, de forma que nós
exportaremos a variável TEXARCH para permitir que o(a)
root
a use.
Agora, como um(a) usuário(a) normal:
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
Para testar os resultados, emita: make -k check. Um teste,
psutils.test
, é conhecido por falhar
se usar a libpaper do sistema porque o TeX Live inclui versões
antigas de psutils e libpaper que resultam em uma diferença nas
casas decimais finais do teste psresize. O(A) desenvolvedor(a) do
libpaper não pensa que isso seja
significativo.
Agora, como o(a) usuário(a) root
:
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
Nota
Execute make
texlinks somente uma vez. Se for executado
novamente, poderá mudar todos os links simbólicos do aplicativo,
de forma que eles apontem para eles mesmos e sejam inúteis.
Agora instale os arquivos adicionais como o(a) usuário(a)
root
:
tar -xf ../../texlive-20240312-texmf.tar.xz -C $TEXLIVE_PREFIX --strip-components=1
Ainda como o(a) usuário(a) root
,
inicialize o novo sistema (o comando fmtutil-sys --all produzirá um
monte de saída gerada):
mktexlsr &&
fmtutil-sys --all
Para permitir que o Evince-46.3.1, ou o dvisvgm-3.4, se vincule a
libkpathsea.so
, como o(a) usuário(a)
root
, (re)crie um link simbólico a
partir de /usr/lib
:
ln -svf $TEXLIVE_PREFIX/lib/libkpathsea.so{,.6} /usr/lib
Nota
O TeX Live não inclui o fonte para ConTeXt, somente os itens que
estão no CTAN. Tentar construir o ConTeXt puramente a partir do
fonte em um sistema TeX Live do BLFS é um uso de nicho e parece
que será mais problemático do que vale a pena.
Se você desejar usar o ConTeXt com luametatex (a maior parte do
antigo código do MKII e MKIV foi removido do TeX Live 2023
pelo(a) desenvolvedor(a) do ConTeXt), começando com o binário
(somente instalando o ConTeXt, 753 MB em março de 2024 )
provavelmente seria a maneira mais fácil de inicializá-lo. O
fonte para luametatex pode ser extraída
com git a partir de github
luametatex, compilado com meson e ninja, e instalado
copiando-se para o diretório correto do programa. Isso deveria
evitar ter-se que corrigir todos os links simbólicos, etc., e
também evitar incluir as muitas partes não relacionadas do
texmf-dist. Vejam-se os comentários 1 a 5 de #17823.
Agora você pode prosseguir para asymptote-2.91,
biber-2.20, dvisvgm-3.4 e (ou) xindy-2.5.1 se desejar
instalá-los.
Explicações do Comando
-C: cria
config.cache, o que economiza tempo significativo em uma construção
paralela.
--prefix=
, --bindir=
, --datarootdir=
e outras chaves
“dir”: essas
chaves asseguram que os arquivos instalados a partir do fonte
sobrescreverão quaisquer arquivos correspondentes previamente
instalados por install-tl-unx, de
forma que os métodos alternativos de se instalar o texlive sejam consistentes.
--includedir=
--libdir=
: essas chaves garantem que
as bibliotecas e os arquivos de inclusão estarão dentro dos
diretórios do texlive deste ano.
--disable-static
: Essa
chave impede a instalação das versões estáticas das bibliotecas.
--enable-shared
: Use
versões compartilhadas de libkpathsea
, libptexenc
, libsynctex
, libtexlua52
e libtexluajit
.
--with-system-
...: A menos
que esse parâmetro seja usado, as versões incluídas dessas
bibliotecas serão compiladas estaticamente nos aplicativos que
necessitarem delas. Se você decidiu não instalar uma biblioteca
recomendada, omita a chave correspondente.
--disable-dvisvgm
: Conforme
observado acima, a versão enviada do dvisvgm, que tem arquivos
modificados de configuração, não pode ser construída com
bibliotecas de sistema compartilhadas.
make texlinks : isso
executa o conjunto de comandos sequenciais texlinks.sh para criar
links simbólicos de formats para engines. Na prática, vários dos
alvos, como o xetex,
agora são binários separados e para esses ele informará "file
already exists".
tar -xf texlive-20240312-texmf.tar.xz
-C $TEXLIVE_PREFIX --strip-components=1: o tarball
contém os arquivos para o diretório texmf-dist e, devido ao tamanho
dele, nós não queremos desperdiçar tempo e espaço desempacotando-o
e depois copiando os arquivos.
install -v -m644
../texk/tests/TeXLive/*
$TEXLIVE_PREFIX/tlpkg/TeXLive/: Isso coloca os
módulos do Perl TLConfig.pm
e
TLUtils.pm
no diretório onde o
instalador do binário os coloca - está no início do PATH @INC@ do
Perl dentro do texlive quando instalado usando as chaves de
configuração acima. Sem esses módulos, o texlive não é usável.
mktexlsr: Crie um
arquivo ls-R
que lista o que foi
instalado - isso é usado pelo kpathsea para encontrar arquivos.
fmtutil-sys --all:
Isso inicializa os formatos do TeX, bases Metafont e memorandos
Metapost.
--without-x
: use isso se você não tiver
o Xorg instalado.
Existem muitas outras opções '--disable' ou '--without'. Algumas
delas, como --without-texinfo
, são
aceitas, mas não mais fazem nada; outras impedirão um aplicativo de
ser construído - mas a quantidade muito maior de espaço usado para
os itens relacionados no texmf significa que não existe nenhum
benefício óbvio em desabilitar alguns dos aplicativos.
Conteúdo
Aplicativos Instalados:
Mais que trezentos (300) binários e links
simbólicos para conjuntos de comandos sequenciais
Bibliotecas Instaladas:
libkpathsea.so, libptexenc.so,
libsynctex.so, libtexlua52.so, libtexluajit.so
Diretórios Instalados:
$TEXLIVE_PREFIX/bin,
$TEXLIVE_PREFIX/include, $TEXLIVE_PREFIX/lib,
$TEXLIVE_PREFIX/texmf-dist
Descrições Curtas
TeXprograms
|
Os aplicativos incluídos no TeX são numerosos demais para se
listar individualmente. Por favor, consulte as páginas
HTML e PDF do programa individual nos vários arquivos
html, man ou pdf nos subdiretórios de 2024/texmf-dist/ . Usar texdoc pdflatex
(substitua pdflatex pelo nome do comando)
também possivelmente seja útil
|
libkpathsea.so
|
(kpathsearch) existe para procurar um arquivo em uma
lista de diretórios e é usado pelo kpsewhich
|
libptexenc.so
|
é uma biblioteca para pTeX japonês (publicação de TeX)
|
libsynctex.so
|
é a biblioteca do analisador SyncTeX (Synchronize
TeXnology)
|
libtexlua52.so
|
fornece Lua 5.2, modificado para uso com o LuaTeX
|
libtexluajit.so
|
fornece LuaJIT, modificado para uso com o LuaJITTeX
|