TeX - TeX

TeX
O logotipo TeX
Desenvolvedor (s) Donald Knuth
lançamento inicial 1978 ; 43 anos atrás ( 1978 )
Versão estável
3,141592653 / fevereiro de 2021 ; 8 meses atrás ( 2021-02 )
Repositório
Escrito em WEB / Pascal
Sistema operacional Plataforma cruzada
Modelo Editoração
Licença Software livre permissivo
Local na rede Internet tug .org
TeX
Extensão de nome de arquivo
.tex
Tipo de mídia da Internet
aplicação / x-tex
lançamento inicial 1978 ; 43 anos atrás ( 1978 )
Tipo de formato Formato de arquivo de documento

TeX ( / t ɛ x / , veja abaixo ), estilizado dentro do sistema como T e X , é um sistema de composição que foi projetado e escrito por Donald Knuth e lançado pela primeira vez em 1978. TeX é um meio popular de composição de fórmulas matemáticas complexas ; tem sido apontado como um dos sistemas tipográficos digitais mais sofisticados.

TeX é amplamente utilizado na academia , especialmente em matemática , ciência da computação , economia , ciência política , engenharia , linguística , física , estatística e psicologia quantitativa . Ele substituiu amplamente o Unix troff , o outro sistema de formatação preferido, em muitas instalações Unix que usam ambos para propósitos diferentes. Ele também é usado para muitas outras tarefas de composição, especialmente na forma de LaTeX , ConTeXt e outros pacotes de macro.

TeX foi projetado com dois objetivos principais em mente: permitir que qualquer pessoa produza livros de alta qualidade com o mínimo de esforço, e fornecer um sistema que daria exatamente os mesmos resultados em todos os computadores, em qualquer momento (junto com a linguagem Metafont para a descrição da fonte e a família de fontes Computer Modern ). TeX é um software livre , o que o torna acessível a uma ampla gama de usuários.

História

Quando o primeiro volume de papel de Donald Knuth é The Art of Computer Programming foi publicado em 1968, foi editada usando metais composição quente conjunto por uma máquina Monotype . Este método, que remonta ao século 19, produziu um "estilo clássico" apreciado por Knuth. Quando a segunda edição foi publicada, em 1976, o livro inteiro teve que ser composto novamente porque a tecnologia Monotype havia sido amplamente substituída pela fotocomposição , e as fontes originais não estavam mais disponíveis. Quando Knuth recebeu as provas do novo livro em 30 de março de 1977, ele as considerou inferiores.

Decepcionado com as provas finais da segunda edição do segundo volume, ele ficou motivado a projetar seu próprio sistema de composição. Knuth viu pela primeira vez a produção de um sistema de composição digital de alta qualidade e se interessou por tipografia digital. Em 13 de maio de 1977, ele escreveu um memorando para si mesmo descrevendo os recursos básicos do TeX.

Ele planejava terminá-lo em seu sabático em 1978, mas por acaso a linguagem não estava " congelada " (pronta para uso) até 1989, mais de dez anos depois. Guy Steele estava em Stanford durante o verão de 1978, quando Knuth estava desenvolvendo sua primeira versão do TeX. Quando Steele voltou ao Instituto de Tecnologia de Massachusetts naquele outono, ele reescreveu a entrada / saída ( I / O ) do TeX para funcionar no sistema operacional Incompatible Timesharing System (ITS). A primeira versão do TeX, chamada TeX78, foi escrita na linguagem de programação SAIL para rodar em um PDP-10 no sistema operacional WAITS de Stanford .

WEB e programação literária

Para as versões posteriores do TeX, Knuth inventou o conceito de programação literária , uma maneira de produzir código-fonte compilável e composição de documentação reticulada em TeX a partir do mesmo arquivo original. A linguagem utilizada chama-se WEB e produz programas em DEC PDP-10 Pascal .

TeX82

TeX82, uma nova versão do TeX reescrita do zero, foi publicada em 1982. Entre outras mudanças, o algoritmo de hifenização original foi substituído por um novo algoritmo escrito por Frank Liang . TeX82 também usa aritmética de ponto fixo em vez de ponto flutuante , para garantir a reprodutibilidade dos resultados em diferentes hardwares de computador, e inclui uma linguagem de programação Turing-completa real , após intenso lobby de Guy Steele. Em 1989, Donald Knuth lançou novas versões do TeX e Metafont . Apesar de seu desejo de manter o programa estável, Knuth percebeu que 128 caracteres diferentes para a entrada de texto não eram suficientes para acomodar idiomas estrangeiros; a principal mudança na versão 3.0 do TeX (também chamada de TeX90) é, portanto, a capacidade de trabalhar com entradas de 8 bits , permitindo 256 caracteres diferentes na entrada de texto.

Desde a versão 3, o TeX tem usado um sistema de numeração de versão idiossincrático , onde as atualizações foram indicadas adicionando um dígito extra no final do decimal, de modo que o número da versão assintoticamente se aproxime de π . Isso é um reflexo do fato de que o TeX agora é muito estável, e apenas pequenas atualizações são antecipadas. A versão atual do TeX é 3.141592653; foi actualizado em 2021. O projeto foi congelado após a versão 3.0, e será adicionado nenhum novo recurso ou mudança fundamental, por isso todas as versões mais recentes conterá apenas bug fixes. Embora o próprio Donald Knuth tenha sugerido algumas áreas nas quais o TeX poderia ter sido aprimorado, ele indicou que acredita firmemente que ter um sistema inalterado que produzirá a mesma saída agora e no futuro é mais importante do que introduzir novos recursos. Por esta razão, ele afirmou que a "mudança absolutamente final (a ser feita após minha morte)" será mudar o número da versão para π , ponto em que todos os bugs restantes se tornarão recursos. Da mesma forma, as versões do Metafont após 2.0 assintoticamente se aproximam de e (atualmente em 2.7182818), e uma mudança semelhante será aplicada após a morte de Knuth.

Domínio público

Uma vez que o código-fonte do TeX é essencialmente de domínio público (veja abaixo), outros programadores têm permissão (e explicitamente encorajados) a melhorar o sistema, mas são obrigados a usar outro nome para distribuir o TeX modificado, o que significa que o código-fonte pode ainda evoluir. Por exemplo, o projeto Omega foi desenvolvido depois de 1991, principalmente para aprimorar as habilidades de composição multilíngue do TeX. Knuth criou versões modificadas "não oficiais", como TeX-XeT , que permite ao usuário misturar textos escritos em sistemas de escrita da esquerda para a direita e da direita para a esquerda no mesmo documento.

Uso de TeX

Em vários campos técnicos, como ciência da computação, matemática, engenharia e física, o TeX se tornou um padrão de fato . Muitos milhares de livros foram publicados usando TeX, incluindo livros publicados por Addison-Wesley , Cambridge University Press , Elsevier , Oxford University Press e Springer . Numerosos periódicos nessas áreas são produzidos usando TeX ou LaTeX, permitindo que os autores submetam seus manuscritos crus escritos em TeX. Embora muitas publicações em outros campos, incluindo dicionários e publicações jurídicas, tenham sido produzidas usando o TeX, não foi tão bem-sucedido quanto nos campos mais técnicos, já que o TeX foi projetado principalmente para compor matemática.

Quando projetou o TeX, Donald Knuth não acreditava que um único sistema de composição pudesse atender às necessidades de todos; em vez disso, ele projetou muitos ganchos dentro do programa para que fosse possível escrever extensões e lançou o código-fonte, na esperança de que os editores projetassem versões sob medida para suas próprias necessidades. Embora tais extensões tenham sido criadas (incluindo algumas pelo próprio Knuth), a maioria das pessoas estendeu o TeX apenas usando macros e ele permaneceu como um sistema associado à composição técnica.

Sistema de fotocomposição

Os comandos TeX geralmente começam com uma barra invertida e são agrupados com chaves . Quase todas as propriedades sintáticas do TeX podem ser alteradas em tempo real, o que torna a entrada do TeX difícil de analisar por qualquer coisa, exceto o próprio TeX. TeX é uma linguagem baseada em macro e token : muitos comandos, incluindo a maioria dos definidos pelo usuário, são expandidos rapidamente até que apenas tokens não expansíveis permaneçam, que são então executados. A expansão em si é praticamente isenta de efeitos colaterais. A recursão de cauda de macros não ocupa memória e as construções if-then-else estão disponíveis. Isso torna o TeX uma linguagem Turing-completa , mesmo no nível de expansão. O sistema pode ser dividido em quatro níveis: no primeiro, os caracteres são lidos do arquivo de entrada e atribuídos a um código de categoria (às vezes chamado de "catcode", para abreviar). Combinações de uma barra invertida (na verdade, qualquer caractere da categoria zero) seguido por letras (caracteres da categoria 11) ou um único outro caractere são substituídos por um token de sequência de controle. Nesse sentido, esse estágio é como a análise lexical, embora não forme números a partir de dígitos. No próximo estágio, as sequências de controle expansíveis (como condicionais ou macros definidas) são substituídas por seu texto de substituição. A entrada para o terceiro estágio é então um fluxo de caracteres (incluindo aqueles com significado especial) e sequências de controle não expansíveis (normalmente atribuições e comandos visuais). Aqui, os personagens são reunidos em um parágrafo, e o algoritmo de quebra de parágrafo do TeX funciona otimizando os pontos de interrupção em todo o parágrafo. O quarto estágio divide a lista vertical de linhas e outros materiais em páginas.

O sistema TeX tem conhecimento preciso dos tamanhos de todos os caracteres e símbolos e, usando essas informações, calcula o arranjo ideal de letras por linha e linhas por página. Em seguida, ele produz um arquivo DVI ("DeVice Independent") contendo as localizações finais de todos os personagens. Este arquivo DVI pode então ser impresso diretamente com um driver de impressora apropriado, ou pode ser convertido para outros formatos. Hoje em dia, o pdfTeX é frequentemente usado, o que ignora completamente a geração de DVI. O sistema TeX base entende cerca de 300 comandos, chamados primitivos . Esses comandos de baixo nível raramente são usados ​​diretamente pelos usuários, e a maioria das funcionalidades é fornecida por arquivos de formato (imagens de memória pré-bombeadas do TeX depois que grandes coleções de macro foram carregadas). O formato padrão original do Knuth, que adiciona cerca de 600 comandos, é Plain TeX. O formato mais usado é o LaTeX , originalmente desenvolvido por Leslie Lamport , que incorpora estilos de documentos para livros, cartas, slides, etc., e adiciona suporte para referência e numeração automática de seções e equações. Outro formato amplamente usado, AMS-TeX , é produzido pela American Mathematical Society e fornece muitos comandos mais fáceis de usar, que podem ser alterados por periódicos para se adequar ao seu estilo doméstico. A maioria dos recursos de AMS-TeX pode ser usado em LaTeX usando os "pacotes AMS" (por exemplo, amsmath, amssymb) e as "classes de documento AMS" (por exemplo, amsart, amsbook). Isso é então referido como AMS-LaTeX . Outros formatos incluem ConTeXt , usado principalmente para editoração eletrônica e escrito principalmente por Hans Hagen na Pragma .

Como é executado

Uma página de amostra produzida usando TeX com macros LaTeX

Um exemplo de programa Hello world em TeX simples é:

Hello, World
\bye          % marks the end of the file; not shown in the final output

Isso pode estar em um arquivo myfile.tex , já que .tex é uma extensão de arquivo comum para arquivos TeX simples. Por padrão, tudo o que segue um sinal de porcentagem em uma linha é um comentário, ignorado pelo TeX. Correndo TeX sobre este arquivo (por exemplo, digitando tex myfile.texem um interpretador de linha de comando , ou chamando-o de uma interface gráfica do usuário ) irá criar um arquivo de saída chamado myfile.dvi , representando o conteúdo da página em uma d e v ice i formato ndependent (DVI). Um arquivo DVI poderia então ser visualizado na tela ou convertido em um formato adequado para qualquer uma das várias impressoras para as quais existia um driver de dispositivo (o suporte à impressora geralmente não era um recurso do sistema operacional no momento em que o TeX foi criado). Knuth disse que não há nada inerente ao TeX que requeira DVI como formato de saída, e as versões posteriores do TeX, notavelmente pdfTeX, XeTeX e LuaTeX, todas suportam saída diretamente para PDF .

Exemplo matemático

TeX fornece uma sintaxe de texto diferente especificamente para fórmulas matemáticas. Por exemplo, a fórmula quadrática (que é a solução da equação quadrática ) aparece como:

Markup Renderiza como
The quadratic formula is $-b \pm \sqrt{b^2 - 4ac} \over 2a$
\bye

A fórmula é impressa de uma forma que uma pessoa escreveria à mão ou datilografaria a equação. Em um documento, a entrada no modo matemático é feita começando com um símbolo $, depois inserindo uma fórmula na sintaxe TeX e fechando novamente com outra do mesmo símbolo. Knuth explicou em tom de brincadeira que escolheu o cifrão para indicar o início e o fim do modo matemático em TeX simples porque a matemática de composição era tradicionalmente considerada cara. A matemática de exibição (matemática apresentada centralizada em uma nova linha) é semelhante, mas usa $$ em vez de um único símbolo $. Por exemplo, o acima com a fórmula quadrática na matemática de exibição:

Markup Renderiza como
The quadratic formula is $$-b \pm \sqrt{b^2 - 4ac} \over 2a$$
\bye

(Os exemplos aqui não são realmente renderizados com TeX; espaçamento, tamanhos de caracteres e tudo o mais podem ser diferentes.)

Aspects

O software TeX incorpora vários aspectos que não estavam disponíveis, ou eram de qualidade inferior, em outros programas de composição na época em que o TeX foi lançado. Algumas das inovações são baseadas em algoritmos interessantes e levaram a várias teses para os alunos de Knuth. Embora algumas dessas descobertas tenham sido incorporadas a outros programas de composição, outras, como as regras para espaçamento matemático, ainda são únicas.

Espaçamento matemático

Composto de texto matemático usando TeX e a fonte AMS Euler

Como o objetivo principal da linguagem TeX é a composição de alta qualidade para editores de livros, Knuth deu muita atenção às regras de espaçamento para fórmulas matemáticas. Ele pegou três corpos de trabalho que considerou padrões de excelência para tipografia matemática: os livros editados pela Addison-Wesley Publishing house (a editora de The Art of Computer Programming ) sob a supervisão de Hans Wolf; edições da revista matemática Acta Mathematica datadas de cerca de 1910; e uma cópia de Indagationes Mathematicae , um jornal holandês de matemática. Knuth olhou atentamente para esses papéis impressos para classificar e procurar um conjunto de regras para espaçamento. Embora o TeX forneça algumas regras básicas e as ferramentas necessárias para especificar o espaçamento adequado, os parâmetros exatos dependem da fonte usada para escrever a fórmula. Por exemplo, o espaçamento das fontes Computer Modern de Knuth foi precisamente ajustado ao longo dos anos e agora está definido; mas quando outras fontes, como AMS Euler , foram usadas por Knuth pela primeira vez, novos parâmetros de espaçamento tiveram que ser definidos.

A composição da matemática no TeX não é isenta de críticas, particularmente no que diz respeito aos detalhes técnicos das métricas de fontes, que foram projetadas em uma época em que era dada atenção significativa aos requisitos de armazenamento. Isso resultou em alguns "hacks" que sobrecarregaram alguns campos, o que por sua vez exigiu outros "hacks". No plano estético, a representação de radicais também foi criticada. A especificação de fonte matemática OpenType em grande parte se baseia no TeX, mas tem alguns novos recursos / aprimoramentos.

Hifenização e justificação

Em comparação com a composição manual, o problema da justificação é fácil de resolver com um sistema digital como o TeX, que, desde que sejam definidos bons pontos de quebra de linha, pode espalhar automaticamente os espaços entre as palavras para preencher a linha. O problema é, portanto, encontrar o conjunto de pontos de interrupção que fornecerá o resultado mais agradável visualmente. Muitos algoritmos de quebra de linha usam uma abordagem de primeiro ajuste , em que os pontos de interrupção para cada linha são determinados um após o outro e nenhum ponto de interrupção é alterado após ter sido escolhido. Tal sistema não é capaz de definir um ponto de interrupção dependendo do efeito que terá nas linhas a seguir. Em comparação, o algoritmo de quebra de linha de ajuste total usado pelo TeX e desenvolvido por Donald Knuth e Michael Plass considera todos os pontos de quebra possíveis em um parágrafo e encontra a combinação de quebras de linha que produzirá o arranjo mais globalmente agradável.

Formalmente, o algoritmo define um valor denominado maldade associado a cada quebra de linha possível; a maldade é aumentada se os espaços na linha devem esticar ou encolher muito para fazer a linha da largura correta. Penalidades são adicionadas se um ponto de interrupção for particularmente indesejável: por exemplo, se uma palavra deve ser hifenizada , se duas linhas consecutivas são hifenizadas ou se uma linha muito solta é imediatamente seguida por uma linha muito estreita. O algoritmo então encontrará os pontos de interrupção que minimizarão a soma dos quadrados da maldade (incluindo penalidades) das linhas resultantes. Se o parágrafo contiver pontos de interrupção possíveis, o número de situações que devem ser avaliadas ingenuamente é . No entanto, usando o método de programação dinâmica , a complexidade do algoritmo pode ser reduzida para (consulte a notação Big O ). Outras simplificações (por exemplo, não testar pontos de interrupção extremamente improváveis, como uma hifenização na primeira palavra de um parágrafo ou linhas muito cheias) levam a um algoritmo eficiente cujo tempo de execução é , onde é a largura de uma linha. Um algoritmo semelhante é usado para determinar a melhor maneira de quebrar parágrafos em duas páginas, a fim de evitar viúvas ou órfãos (linhas que aparecem sozinhas em uma página enquanto o resto do parágrafo está na página seguinte ou anterior). No entanto, em geral, uma tese de Michael Plass mostra como o problema de quebra de página pode ser NP-completo devido à complicação adicional de colocar figuras. O algoritmo de quebra de linha do TeX foi adotado por vários outros programas, como Adobe InDesign (um aplicativo de editoração eletrônica ) e o utilitário de linha de comando GNU fmt Unix .

Se nenhuma quebra de linha adequada puder ser encontrada para uma linha, o sistema tentará hifenizar uma palavra. A versão original do TeX usava um algoritmo de hifenização baseado em um conjunto de regras para a remoção de prefixos e sufixos de palavras, e para decidir se deveria inserir uma quebra entre as duas consoantes em um padrão da forma vogal - consoante - consoante - vogal (o que é possível na maioria das vezes). TeX82 introduziu um novo algoritmo de hifenização, projetado por Frank Liang em 1983, para atribuir prioridades a pontos de interrupção em grupos de letras. Uma lista de padrões de hifenização é primeiro gerada automaticamente a partir de um corpus de palavras hifenizadas (uma lista de 50.000 palavras). Se o TeX precisar encontrar as posições de hifenização aceitáveis ​​na palavra enciclopédia , por exemplo, ele irá considerar todas as subpalavras da palavra estendida .enciclopédia. , onde . é um marcador especial para indicar o início ou o fim da palavra. A lista de subpalavras inclui todas as subpalavras de comprimento 1 ( . , E , n , c , y , etc.), de comprimento 2 ( .e , en , nc , etc.), etc., até a subpalavra de comprimento 14, que é a própria palavra, incluindo os marcadores. O TeX então examinará sua lista de padrões de hifenização e encontrará subpalavras para as quais calculou a conveniência de hifenização em cada posição. No caso da nossa palavra, 11 desses padrões podem ser combinados, ou seja, 1 c 4 l 4 , 1 cy, 1 d 4 i 3 a, 4 edi, e 3 dia, 2 i 1 a, ope 5 d, 2 p 2 ed, 3 pedi, pedia 4 , y 1 c. Para cada posição na palavra, o TeX calculará o valor máximo obtido entre todos os padrões de correspondência, gerando en 1 cy 1 c 4 l 4 o 3 p 4 e 5 d 4 i 3 a 4 . Finalmente, as posições aceitáveis ​​são aquelas indicadas por um número ímpar , produzindo as hifenizações aceitáveis en-cy-clo-pe-di-a . Este sistema baseado em subpalavras permite a definição de padrões muito gerais (como 2 i 1 a), com números indicativos baixos (pares ou ímpares), que podem então ser substituídos por padrões mais específicos (como 1 d 4 i 3 a ) se necessário. Esses padrões encontram cerca de 90% dos hifens no dicionário original; mais importante, eles não inserem nenhum hífen falso. Além disso, uma lista de exceções (palavras para as quais os padrões não prevêem a hifenização correta) está incluída no formato Plain TeX; outros adicionais podem ser especificados pelo usuário.

Metafont

Metafont, que não faz parte estritamente do TeX, é um sistema de descrição de fontes que permite ao designer descrever caracteres de forma algorítmica. Ele usa curvas de Bézier de uma forma bastante padrão para gerar os caracteres reais a serem exibidos, mas Knuth dedica atenção substancial ao problema de rasterização em telas de bitmap . Outra tese, de John Hobby , explora ainda mais esse problema de digitalização de "trajetórias de pincel". Este termo deriva do fato de que Metafont descreve os personagens como tendo sido desenhados por pincéis abstratos (e borrachas). É comumente acreditado que o TeX é baseado em fontes de bitmap, mas, na verdade, esses programas "não sabem" nada sobre as fontes que estão usando além de suas dimensões. É responsabilidade do driver de dispositivo manipular adequadamente as fontes de outros tipos, incluindo PostScript Type 1 e TrueType. Computer Modern (comumente conhecido como "a fonte TeX") está disponível gratuitamente no formato Tipo 1, assim como as fontes matemáticas AMS. Usuários de sistemas TeX com saída direta para PDF, como pdfTeX, XeTeX ou LuaTeX, geralmente nunca usam a saída Metafont.

Linguagem macro

Os documentos TeX são escritos e programados usando uma linguagem macro incomum. Em termos gerais, o funcionamento dessa linguagem macro envolve estágios de expansão e execução que não interagem diretamente. A expansão inclui a expansão literal das definições de macro, bem como a ramificação condicional, e a execução envolve tarefas como definir variáveis ​​/ registros e o processo de composição real de adicionar glifos às caixas.

A definição de uma macro não inclui apenas uma lista de comandos, mas também a sintaxe da chamada. Ele difere dos pré-processadores lexicais mais amplamente usados, como o M4 , porque o corpo de uma macro é convertido em tokens no momento da definição.

A linguagem macro TeX foi usada para escrever sistemas de produção de documentos maiores, mais notavelmente incluindo LaTeX e ConTeXt.

Desenvolvimento

O código-fonte original para o software TeX atual é escrito em WEB , uma mistura de documentação escrita em TeX e um subconjunto Pascal para garantir legibilidade e portabilidade. Por exemplo, o TeX faz toda sua alocação dinâmica a partir de matrizes de tamanho fixo e usa apenas aritmética de ponto fixo para seus cálculos internos. Como resultado, o TeX foi portado para quase todos os sistemas operacionais , geralmente usando o programa web2c para converter o código-fonte em C em vez de compilar diretamente o código Pascal. Knuth manteve um registro muito detalhado de todos os bugs que corrigiu e das mudanças que fez no programa desde 1982; a partir de 2021, a lista contém 440 entradas, sem incluir a modificação de versão que deve ser feita após sua morte como a alteração final no TeX. Knuth oferece prêmios monetários para pessoas que encontram e relatam um bug no TeX. O prêmio por bug começou em US $ 2,56 (um "dólar hexadecimal") e dobrou a cada ano até que foi congelado em seu valor atual de $ 327,68. Knuth perdeu relativamente pouco dinheiro, pois poucos bugs foram declarados. Além disso, os destinatários costumam enquadrar seu cheque como prova de que encontraram um bug no TeX, em vez de descontá-lo.

Devido a golpistas encontrarem cópias digitalizadas de seus cheques na internet e usá-los para tentar drenar sua conta bancária, Knuth não envia mais cheques reais, mas aqueles que enviam relatórios de bug podem obter crédito no Banco de San Serriffe .

Distribuições e extensões

O TeX é normalmente fornecido na forma de um pacote fácil de instalar do próprio TeX junto com o Metafont e todas as fontes, formatos de documentos e utilitários necessários para usar o sistema de composição. Em sistemas compatíveis com UNIX, incluindo Linux e Apple macOS , o TeX é distribuído como parte da distribuição maior do TeX Live . (Antes do TeX Live, a distribuição teTeX era o padrão de fato em sistemas compatíveis com UNIX.) No Microsoft Windows , há a distribuição MiKTeX (aprimorada pelo proTeXt ) e a versão Microsoft Windows do TeX Live.

Vários sistemas de processamento de documentos são baseados em TeX, nomeadamente JadeTeX , que usa TeX como um backend para imprimir a partir de James Clark 's DSSSL Motor , a Arbortext sistema de publicação, e Texinfo , o sistema de processamento de documentação GNU. TeX é o pacote de composição oficial para o sistema operacional GNU desde 1984.

Existem várias extensões e programas complementares para TeX, entre eles BibTeX para bibliografias (distribuído com LaTeX), pdfTeX, um mecanismo compatível com TeX que pode produzir saída PDF diretamente (bem como continuar a suportar a saída DVI original), XeTeX , um TeX -motor compatível que oferece suporte a Unicode e OpenType e LuaTeX , uma extensão compatível com Unicode para TeX que inclui um tempo de execução Lua com ganchos extensos nas rotinas e algoritmos TeX subjacentes. A maioria das extensões TeX estão disponíveis gratuitamente no CTAN , a Comprehensive TeX Archive Network.

Editores

Há uma variedade de editores projetados para trabalhar com o TeX :

  1. O editor de texto TeXmacs é um editor de texto científico WYSIWYG - WYSIWYM , inspirado tanto no TeX quanto no Emacs . Ele usa as fontes Knuth e pode gerar saída TeX.
  2. BaKoMa-TeX é um editor WYSIWYG baseado em Windows / Mac / Linux que permite editar o documento alterando diretamente o código-fonte ou alterando diretamente a visualização do código-fonte.
  3. Overleaf é um editor online WYSIWYG parcial que fornece uma solução baseada em nuvem para TeX junto com recursos adicionais em edição colaborativa em tempo real.
  4. LyX é um processador de documentos WYSIWYM que funciona em uma variedade de plataformas, incluindo:
    1. Linux ,
    2. Microsoft Windows (versões mais recentes requerem Windows 2000 ou posterior)
    3. Apple Mac OS X (usando um front-end Qt não nativo ).
  5. TeXShop (para Mac OS X), TeXworks (para Linux, Mac OS X e Windows) e WinShell (para Windows) são ferramentas semelhantes e fornecem um ambiente de desenvolvimento integrado (IDE) para trabalhar com LaTeX ou TeX. Para o KDE / Qt, o Kile oferece esse IDE.
  6. Texmaker é o equivalente em Qt puro do Kile, com uma interface de usuário quase igual à do Kile.
  7. TeXstudio é um fork de código aberto (2009) do Texmaker que oferece uma abordagem diferente para configurabilidade e recursos. Binários gratuitos para download são fornecidos para Windows, Linux, Mac OS X, OS / 2 e FreeBSD.
  8. GNU Emacs tem vários pacotes internos e de terceiros com suporte para TeX, sendo o principal o AUCTeX .
  9. Para o Vim , os plug-ins possíveis incluem Vim-LaTeX Suite, Automatic TeX e TeX-9.
  10. Para o Google Docs , Auto-Latex Equations é um complemento do Google Docs que fornece composição matemática TeX (compatível com MathJax).
  11. Para Apache OpenOffice e LibreOffice , as extensões iMath e TexMaths podem fornecer composição matemática TeX.
  12. Para MediaWiki , a extensão Math fornece composição matemática TeX, mas o código precisa ser cercado por uma <math>tag.

Licença

Donald Knuth indicou várias vezes que o código-fonte do TeX foi colocado em " domínio público " e ele encoraja fortemente modificações ou experimentações com este código-fonte. Em particular, uma vez que Knuth valoriza muito a reprodutibilidade da saída de todas as versões de TeX, qualquer versão alterada não deve ser chamada de TeX, ou qualquer coisa confusamente semelhante. Para fazer cumprir essa regra, qualquer implementação do sistema deve passar por um conjunto de testes chamado teste TRIP antes de poder ser chamado de TeX. A questão da licença é um pouco confusa pelas declarações incluídas no início do código-fonte do TeX, que indicam que "todos os direitos são reservados. A cópia deste arquivo é autorizada apenas se ... você não fizer absolutamente nenhuma alteração em sua cópia". Essa restrição deve ser interpretada como uma proibição de alterar o código-fonte , desde que o arquivo seja denominado tex.web . A nota de copyright no início de tex.web (e mf.web) foi alterada em 2021 para declarar isso explicitamente. Esta interpretação é confirmada posteriormente no código-fonte quando o teste TRIP é mencionado ("Se este programa for alterado, o sistema resultante não deve ser chamado de 'TeX ' "). A American Mathematical Society tentou, no início dos anos 1980, reivindicar uma marca comercial para o TeX. Isso foi rejeitado porque, na época, "TEX" (todas em maiúsculas) foi registrado pela Honeywell para o sistema de processamento de texto " Text EXecutive ".

Publicação XML

É possível usar o TeX para geração automática de layout sofisticado para dados XML. As diferenças de sintaxe entre as duas linguagens de descrição podem ser superadas com a ajuda do TeXML . No contexto da publicação de XML, o TeX pode, portanto, ser considerado uma alternativa ao XSL-FO . O TeX permitiu que artigos científicos em disciplinas matemáticas fossem reduzidos a arquivos relativamente pequenos que podiam ser renderizados do lado do cliente, permitindo que artigos científicos totalmente compostos fossem trocados na Internet inicial e na emergente World Wide Web, mesmo quando o envio de arquivos grandes era difícil. Isso abriu caminho para a criação de repositórios de artigos científicos, como o arXiv , por meio dos quais os artigos poderiam ser 'publicados' sem um editor intermediário.

Pronúncia e ortografia

O nome TeX é pretendido por seu desenvolvedor como / t ɛ x / , com a consoante final de loch ou Bach. As letras do nome são feitos para representar a capital de gregos letras tau , epsilon , e chi , como TeX é uma abreviatura de τέχνη ( ΤΕΧΝΗ technē ), grego para ambos "arte" e "ofício", que também é a raiz da palavra técnico . Os falantes de inglês geralmente pronunciam / t ɛ k / , como a primeira sílaba de técnico . Knuth instrui que seja composto com o "E" abaixo da linha de base e espaçamento reduzido entre as letras. Isso é feito, como Knuth menciona em seu TeXbook , para distinguir o TeX de outros nomes de sistema, como TEX, o processador Text EXecutive (desenvolvido pela Honeywell Information Systems). Os fãs gostam de proliferar nomes da palavra "TeX" - como TeXnician (usuário do software TeX), TeXhacker (programador TeX), TeXmaster (programador TeX competente), TeXhax e TeXnique .

Comunidade

Logotipo do TeX Users Group

Entidades notáveis ​​na comunidade TeX incluem o TeX Users Group (TUG), que publica o TUGboat e o The PracTeX Journal , cobrindo uma ampla gama de tópicos em tipografia digital relevantes para o TeX. O Deutschsprachige Anwendervereinigung TeX (DANTE) é um grande grupo de usuários na Alemanha. O TeX Users Group foi fundado em 1980 para fins educacionais e científicos, fornece uma organização para aqueles que têm interesse em tipografia e design de fontes e são usuários do sistema de composição TeX inventado por Knuth. O TeX Users Group representa os interesses dos usuários TeX em todo o mundo. O TeX Users Group publica a revista TUGboat três vezes por ano; A DANTE publica Die TeXnische Komödie  [ de ] quatro vezes por ano. Outros grupos de usuários incluem DK-TUG na Dinamarca , GUTenberg  [ fr ] na França , GuIT na Itália , NTG na Holanda e UK-TUG no Reino Unido ; os grupos de usuários mantêm em conjunto uma lista completa.

Extensões

Veja também

Notas

Referências

Fontes

links externos