texlive-20240312-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 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ência (HTTP): https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2024/texlive-20240312-source.tar.xz

  • Transferência (FTP):

  • Soma de verificação MD5 da transferência: 1da2f08e3ba4a3708870dd088c1d6823

  • Tamanho da transferência: 67 MB

  • Espaço em disco estimado exigido: 9,1 GB incluindo a transferência adicional e os testes; 8,3 GB instalado

  • Tempo de construção estimado: 4,6 UPC incluindo a transferência adicional e os testes, construindo com paralelismo=4

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

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]

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]

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]

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]

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