Notas suplementares CTEM (LaTeX)
Gere material de estudo como arquivos .tex a partir de qualquer material de origem CTEM. O usuário conduz cada escolha por meio de perguntas de múltipla escolha (AskUserQuestion), portanto pergunte antes de construir.
Arquivos de suporte (leia-os quando atingir a etapa correspondente):
references/tooling.md: software, comandos de instalação e tamanhos, comandos de conversãoreferences/questions.md: o banco de perguntas MCQ (rodadas de entrada, incluindo a pergunta de compilação)references/style-guide.md: layout, rotulagem, formato das soluções, verificação e regras de discrepânciatemplates/formula_sheet.tex,templates/solutions.tex,templates/summary_notes.tex: preâmbulos para copiar
Fluxo de trabalho
1. Inventário das fontes
- Liste os arquivos apontados pelo usuário (pasta ou caminhos com
@). Aceite PDF, PNG/JPG, PPTX/DOCX. - Para cada PDF, execute
pdfinfo(contagem de páginas) epdftotext -layoutno scratchpad da sessão, depois conte as palavras. Menos de ~50 palavras por página significa um arquivo escaneado ou rico em imagens: leia cada página como imagem; o despejo de texto é inútil. - Slides geralmente mantêm equações e figuras apenas como imagens. Mesmo quando há texto, ainda visualize as páginas.
2. Verifique as ferramentas (apenas leitura primeiro)
Execute which pdfinfo pdftotext pdftoppm soffice tectonic pdflatex. Qualquer coisa faltando que seja necessária vai para a primeira rodada MCQ, com seu tamanho (veja references/tooling.md). Nunca instale sem uma resposta MCQ. O LibreOffice só é necessário quando arquivos do Office estão presentes. Se o usuário responder a uma pergunta com outra pergunta (por exemplo, "quanto armazenamento?"), responda-a e depois pergunte novamente.
3. MCQs de entrada
Pergunte as rodadas em references/questions.md, no máximo 4 perguntas por chamada AskUserQuestion. Coloque a opção recomendada primeiro e marque-a como "(Recomendado)". Pergunte apenas os grupos de perguntas para as saídas que o usuário selecionou. A pergunta de compilação é sempre feita, por último. Leia as respostas literalmente: respostas em texto livre substituem as opções.
4. Leia tudo
- PDFs: use a ferramenta Read com
pages(máximo 20 páginas por chamada, portanto divida intervalos maiores) e emita todas as leituras de intervalo de páginas para todos os arquivos em um lote paralelo. A ferramenta Read precisa dopdftoppmdo poppler. - Imagens: leia-as diretamente.
- PPTX/DOCX: converta para PDF no scratchpad (
soffice --headless --convert-to pdf --outdir <scratchpad> arquivo), depois leia como PDF. - Anote para cada pergunta ou exemplo: arquivo de origem, slide/página, número do problema, se a origem já o resolve (total ou parcialmente), e qualquer resposta impressa.
5. Resolva e verifique
- Resolva cada problema no escopo. Para qualquer coisa não trivial (ajustes de curvas, integrais, balanços de momento, numéricos de múltiplas etapas), verifique os números com um breve script
python3no scratchpad. - Compare com as respostas impressas. Se discordarem, reverifique, depois relate a discrepância no documento e para o usuário. Nunca force o trabalho para corresponder a uma resposta impressa.
- Sinalize erros de digitação na fonte (sinais errados, termos errados, dados inconsistentes) em uma nota de rodapé ou nota "Por que está aqui".
6. Escreva os arquivos .tex
- Comece pelo modelo correspondente em
templates/: mantenha seu preâmbulo e substitua os placeholders%% TODO. - Siga
references/style-guide.md: marque cada item com origem · slide/página · número do problema, adicione uma tabela de cobertura, reescreva cada pergunta por extenso, coloque as respostas em caixas. - Use apenas código ASCII. Comentários são apenas comentários de linha única
%, nunca comentários de banner multilinha. - A pasta de saída padrão é
latex/ao lado das fontes, a menos que o usuário escolha outro.
7. Compile apenas se o usuário escolher
- tectonic:
tectonic -X compile arquivo.tex. MacTeX:latexmk -pdf arquivo.tex. Corrija erros e recompile até ficar limpo. - Se o usuário disser pare, pare a tarefa imediatamente (TaskStop) e não tente novamente.
8. Relatório
Liste brevemente: os arquivos escritos, o que cada um cobre, perguntas puladas (já resolvidas na origem), discrepâncias encontradas e status da compilação. Se você não compilou, diga isso claramente.