texlive-20220321-source

Introdução ao TeX Live a partir do fonte

[Nota]

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 Chemntiz, 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/2022 ou systems/texlive/2022 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 adequadamente usando uma plataforma LFS 11.3.

Informação do Pacote

Transferências Adicionais Exigidas

Grande parte 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 fornecidos por uma instalação completa da versão binária; não existe uma maneira realista de restringir quais partes serão instaladas.

Devido ao tamanho desse pacote, é improvável que seja espelhado por espelhos do BLFS. Em caso de dificuldade, vá até http://www.ctan.org/mirrors/ para encontrar um espelho mais acessível.

A partir do ano de 2019, a base de dados tlpdb dos pacotes do texlive não mais é instalada com o fonte. Mas, o 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

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

Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/texlive

Instalação do TeX Live

Instale o TeX Live executando os seguintes comandos:

[Cuidado]

Cuidado

Se você desejar atualizar para o texlive atual em um sistema mais antigo, onde pacotes extras (asymptote, biber, dvisvgm ou xindy) tenham sido instalados, você precisará reinstalá-los, bem como corrigir teu PATH para $TEXLIVE_PREFIX.

As bibliotecas compartilhadas serão instaladas em um diretório do texlive. Como o(a) usuário(a) root, adicione-o ao teu /etc/ld.so.conf:

cat >> /etc/ld.so.conf << EOF
# Inicia adição do texlive

$TEXLIVE_PREFIX/lib

# Termina adição do texlive
EOF
[Nota]

Nota

Uma instalação bem-sucedida requer 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/') &&

mkdir texlive-build &&
cd    texlive-build &&

../configure                                      \
    --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 check.

Agora, como o(a) usuário(a) root:

make install-strip &&
/sbin/ldconfig     &&
make texlinks      &&
mkdir -pv                                $TEXLIVE_PREFIX/tlpkg/TeXLive/ &&
install -v -m644 ../texk/tests/TeXLive/* $TEXLIVE_PREFIX/tlpkg/TeXLive/ &&
tar -xf ../../texlive-20220325-tlpdb-full.tar.gz -C $TEXLIVE_PREFIX/tlpkg
[Nota]

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-20220321-texmf.tar.xz -C $TEXLIVE_PREFIX --strip-components=1

Foi estabelecido pelo Debian que os conjuntos de comandos sequenciais do python em latex-make funcionarão com o python3, de forma que atualize-os para invocar isso executando o seguinte comando como o(a) usuário(a) root:

for F in $TEXLIVE_PREFIX/texmf-dist/scripts/latex-make/*.py ; do
  sed -i 's%/usr/bin/env python%/usr/bin/python3%' $F
done

Ainda como o(a) usuário(a) root, inicialize o novo sistema (os comandos fmtutil-sys --all e mtxrun --generate produzirão um monte de saída gerada):

mktexlsr &&
fmtutil-sys --all &&
mtxrun --generate

Agora você pode prosseguir para asymptote-2.85, biber-2.18, dvisvgm-3.0.3 e (ou) xindy-2.5.1 se desejar instalá-los.

Explicações do Comando

--prefix=, --bindir=, --datarootdir=, --infodir=, --mandir= ... : 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.

--without-x: use isso se você não tiver o Xorg instalado.

/sbin/ldconfig: isso tem que ser executado aqui, de forma que make texlinks possa usar kpsewhich.

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

mtxrun --generate: Isso inicializa o sistema ConTeXt.

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 2022/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