Enquanto navegava pelas publicações de Don Knuth no TeX, fui encaminhado para o arquivo tripman.pdf
na minha distribuição MacTeX. Como os TeXnicians devem saber, este arquivo explica o propósito do TRIP
teste e como ele deve ser usado, juntamente com o fornecimento da fonte para os arquivos de entrada e a saída correta. Decidi (tolamente?) Fazer o teste sozinho, e é aí que começa o problema.
Eu tenho duas perguntas:
- Na etapa 2 do Apêndice A, como devo proceder para modificar
INITEX
para que os parâmetros sejam definidos conforme especificado lá? Já ouvi falar de 'arquivos de alteração' que modificam a saída deweave
,tangle
,cweave
ectangle
sem alterar o originalWEB
ouCWEB
o arquivo, mas entendo que tais arquivos não podem modificar o comportamento dosUNIX
executáveis.Sem modificar a fonte do TeX, Como isso pode ser feito? - Na etapa 4, a versão
INITEX
executada deve ser a versão não modificada ou a versão modificada na etapa 2? Presumo que, para fins de depuração, a versão modificada deva ser usada, mas gostaria apenas de confirmar.
Qualquer informação adicional sobre possíveis desafios na condução deste teste seria muito apreciada. Sou um usuário frequente (embora reconhecidamente não qualificado) de LaTeX, que recentemente começou a ler os trabalhos de Don Knuth sobre composição tipográfica e tipografia e pode precisar de um pouco de ajuda para entender tais materiais.
Minha máquina é um Mac rodando TeXLive 2019 na forma de MacTeX. Se alguma outra informação obrigatória estiver faltando, solicite-a nos comentários.
Obrigado.
Esta é minha primeira incursão no TeX.SX e, portanto, a qualidade das minhas perguntas pode ser inferior. Peço desculpas por qualquer gafe que possa ter cometido ao escrever esta pergunta e agradeço todas as sugestões sobre como o item acima pode ser melhorado. Qualquer sugestão sobre a marcação apropriada seria muito apreciada. Por favor, seja gentil.
Responder1
A implementação de \TeX
é feita em tex.web
. Este arquivo é uma implementação genérica que deve ser adaptada a um sistema operacional ou, em geral, a um computador específico e a um compilador Pascal. Por exemplo, as convenções de nomes de arquivos e os procedimentos de entrada e saída devem ser alterados para atender às especificações de um sistema específico e se o compilador Pascal não permitir um else
caminho em uma case
instrução, por exemplo, vários locais na fonte deverão ser alterados. .
Portanto, os programas TANGLE
não WEAVE
apenas leem um único
WEB
arquivo, mas também podem manipular um arquivo de alterações para esse arquivo. Então para compilar \TeX
você precisa tex.web
e tex.ch
que contenha as alterações para sua máquina.
Para verificar se o seu arquivo de alterações não muda \TeX
de forma que torne sua implementação incompatível, ou seja, o mesmo arquivo .tex gera uma saída diferente de outras \TeX
implementações, uma condição é que o trip
teste seja aprovado. Requer uma versão especial INITEX
com valores predefinidos para determinados parâmetros de tempo de compilação para tornar a saída do teste comparável. Portanto, para realizar um trip
teste, você deve construir uma versão especial \TeX
e isso significa que você terá que lidar tex.web
com seu arquivo de alterações e compilar a saída Pascal resultante com seu compilador Pascal.
As alterações adicionais para seu arquivo de alterações local são descritas detalhadamente no procedimento de teste e as etapas do teste são explicadas. Os resultados devem ser comparados com a saída gerada pelo \TeX
sistema padrão. Esses resultados também estão listados no procedimento de teste e podem mudar a cada novo arquivo
tex.web
.
Nele CTAN
você encontra os documentos e fontes relevantes:
(1)https://ctan.org/tex-archive/systems/knuth/dist/texcontém tex.web
e tripman.tex
todos os arquivos necessários para o trip
teste;
(2)https://ctan.org/tex-archive/systems/knuth/dist/webcontém TANGLE
o WEAVE
código fonte e o WEB
manual;
(3)https://ctan.org/tex-archive/systems/knuth/local/tex/initex.ch
é um exemplo não testado e não completo de um arquivo de alterações para o trip
teste.
(Verhttps://ctan.org/tex-archive/systems/unixpara sistemas completos para diferentes compiladores Pascal; observe, no entanto, que não recomendo usar esses sistemas.)
Se você baixar
https://ctan.org/tex-archive/systems/knuth/dist/lib/webmac.texvocê pode (i) executar weave tex.web
ou weave tangle.web
etc. sem um arquivo de alteração para obter um arquivo *.tex que pode ser processado plain tex
e (ii) ler sobre os programas genéricos. Claro, você pode adicionar um arquivo de alterações e ver o que acontece então.
Se você baixar
https://ctan.org/tex-archive/systems/texlive/Source/texlive-20190408-source.tar.xz
você pode encontrar o diretório texk\web2c\triptrap
com os resultados do teste de viagem para este sistema texlive. (Você deve ser capaz de lidar xz
com
tar
arquivos, é claro.)