(Veja também Inserindo Páginas de um PDF, que é mais focado em inserir uma ou duas páginas específicas, com a opção de as páginas adicionadas serem escalonadas, rotacionadas, etc. e aparecerem com um cabeçalho contínuo.)
Suponhamos que você queira que o PTXprint insira todas as páginas de um PDF antes do início de um livro específico ou no final de um livro específico.
O que fazer:
-
Aba avançada, marque “Aplicar Configurações Personalizadas” e depois edite-o.

-
Em uma linha vazia nesse arquivo, digite algo como o seguinte:
\setbookhook{start}{MAT}{\includepdf{../../../figures/FileName.pdf}}
Ou, para o arquivo estar após o final do livro de Apocalipse, use este:
\setbookhook{end}{REV}{\pb \includepdf{../../../figures/FileName.pdf}}
- Clique em Print (Imprimir) para ter certeza de que está correto!
Agora, algumas explicações.
Em vários pontos do processamento do USFM, o PTXprint verifica se o usuário pediu para que algo incomum aconteça. Você pode pensar nessas verificações como uma grande grade de ganchos em uma parede, onde quase todos estão vazios. Mas, alguém pode colocar uma lista de instruções em um deles. Se houver uma lista de instruções no gancho, então essas instruções são adicionadas à lista de coisas que o TeX deve fazer antes de fazer qualquer outra coisa.
O início e o fim dos livros é um dos lugares onde a grade de ganchos é verificada, e o comando \setbookhook coloca sua lista de instruções no gancho especificado (descartando qualquer outra coisa que já possa estar lá). Outro lugar onde os ganchos são verificados é o início de um versículo (\setcvhook).
\setbookhook{start}{MAT}{\includepdf{filename.pdf}} diz ao código que no início do livro com \id MAT, ele deve processar a instrução \includepdf{filename.pdf}.
No exemplo acima, a instrução é incluir ../../../figures/FileName.pdf.
Estou usando a barra diagonal no estilo unix entre diretórios porque (a) estou digitando isso no linux, (b) acredito que os programas do Windows normalmente conseguem lidar com caminhos no estilo unix, e (c) eu precisaria usar \\ para que a barra invertida passasse, e então não funcionaria no linux ou em computadores Apple.
../../.. significa três diretórios acima de 'onde estamos agora', com 'agora' sendo de onde o TeX é executado - para a configuração Default, isso é .../PROJECT/local/ptxprint/Default e, portanto, o acima está procurando o PDF em .../PROJECT/figures e, ao usar um caminho relativo em vez de um absoluto, deve funcionar no computador de todos.
Outras coisas a observar
- O
\pb usado com a versão {end} acima força uma quebra de página antes que as páginas sejam adicionadas. Sem ele, o PDF pode ser adicionado antes da última página do livro.
- Embora isso não adicione números de página às páginas, ele conta as páginas.
- Se você acertar o caminho e o nome do arquivo, receberá uma mensagem no arquivo de log dizendo
includepdf ../../../figures/test.pdf pages=2
Se você cometer um erro e não houver arquivo lá, ele dirá pages=0 Esse é o seu único aviso!
- Também existe um livro especial
final (ex.: \setbookhook{end}{final}{...}) que é o último livro do trabalho.
- Embora haja apenas um 'gancho' em um ponto específico, vários ganchos podem ser usados. ex.:
- Há várias diferenças entre como a entrada em arquivos
.tex e arquivos .sfm (ou USFM) são processadas. \includepdf é uma instrução TeX, não USFM, e, portanto, não pode ser facilmente usada em arquivos USFM, como periféricos ou matéria preliminar.
\includepdf é um comando imediato que pula qualquer fila. Enquanto a maioria das entradas adiciona material às listas de texto e parágrafos do TeX para serem organizados em uma página em algum momento, \includepdf exibe as páginas do PDF assim que é encontrado. - daí a necessidade do comando de quebra de página no exemplo do final de Apocalipse. Por outro lado, como ele ignora a fila, não deve alterar a organização de nenhum parágrafo em que for encontrado.