Pergunta

Estou tentando encontrar uma boa ferramenta de programação alfabetizada. Digamos que não é uma decisão fácil. (Os genéricos são muito genéricos e os específicos são muito específicos :) )

Entre outros, eu tenho noweb Em funcionamento, mas estou tendo problemas para obter a produção como eu esperaria. o noweb Página da Wikipedia tem um exemplo mínimo que se constrói corretamente com

noweave -index -latex hello.noweb > hello.tex && pdflatex hello && pdflatex hello

Mas não há referências cruzadas no final de cada pedaço. Por exemplo, CWEB tem ponteiros como "Este código é usado na seção 12". e "Veja também as seções 5 e 7." Esse recurso está simplesmente ausente de noweb Ou estou perdendo um passo na compilação?

Foi útil?

Solução

Esse recurso está simplesmente faltando no Noweb ou estou perdendo uma etapa na compilação?

Nenhum: noweb usa marcadores muito mais sutis do que você está acostumado a ver na CWeb. No caso do exemplo da Wikipedia, o terceiro pedaço (1C) aparece nos pedaços 1a e 1b. Esta informação é condensada em um único '1', que aparece entre parênteses no lado direito da definição.

Para obter longas referências cruzadas no uso do estilo CWEB

\noweboptions{longxref}

Outras dicas

Você deve Obtenha, para esse exemplo do WP, uma referência à seção de licença de cada um dos dois pedaços na seção Hello World. Você não receberá listas de pedaços ou identificadores no final, a menos que conte o Latex sobre eles.

Para obter uma lista de pedaços da web, tente colocar \nowebchunks perto do final do documento (ou seja, após o último pedaço aparecer) e adicionando um -x Mude para a invocação do Noweb.

Para obter uma lista de identificadores, tente colocar \nowebindex em um lugar semelhante.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top