O LaTeX é uma escolha viável para projetar programaticamente documentos de "Desktop Publishing"?

O LaTeX é uma escolha viável para projetar programaticamente documentos de "Desktop Publishing"?

Atualmente estou trabalhando em um projeto onde um dos produtos finais é uma planilha de dados em PDF. Essa folha de dados consiste em texto, imagens, tabelas e listas. Estaríamos gerando o arquivo .tex programaticamente.

Geralmente renderizamos planilhas de dados como HTML e usamos um aplicativo de terceiros para converter esse HTML em PDF. HTML para PDF é uma solução muito complicada e incontrolável.

Eu usei LaTeX aqui e ali no passado para criar PDFs. Em todos os casos, nunca tive problemas na concepção dos documentos. Todos esses documentos foram diretos.

Estou pensando em usar o LaTeX para configurar esses documentos, mas quero ter certeza de que poderei controlar o seguinte:

  • Fontes: Suponho que o cliente desejará ajustar as fontes aqui e ali. Não especificando uma fonte, mas talvez definindo uma família de fontes.
  • Tabelas: as tabelas precisarão ter alguma cor de fundo e talvez diferentes larguras e estilos de contorno. Precisaremos ajustar onde as páginas quebram ao renderizar uma tabela.
  • Listas: Provavelmente precisaremos ajustar a altura das linhas nas listas
  • Imagens: precisaremos dimensionar e posicionar a imagem dentro de alguns mm. Isso parece ser uma boa opção?

Existe algum lugar onde eu possa encontrar uma galeria de documentos do tipo "Desktop Publishing" gerados com LaTex?

Responder1

Este é um site comercial, mas tem alguns bons exemplos:

https://www.latextypesetting.com/showcase#creation-modification

Em particular,Relatório Financeiro ETF

O objetivo deste projeto era produzir um modelo de relatório financeiro de ETF que correspondesse à aparência de um modelo de designer, maspoderia ser preenchido inteiramente programaticamentepara produzir automaticamente esses relatórios para diferentes símbolos ETF. Isso significava que todos os elementos da página deveriam ser adicionados usando comandos personalizados com argumentos esperados para criar cada caixa e preencher as informações da empresa. Como as caixas de informações podiam conter números variados de linhas, um requisito importante era que as alturas das caixas se ajustassem por linha, de modo que uma caixa mais curta fosse forçada a ter a mesma altura de uma caixa mais alta próxima a ela para manter a consistência em toda a página. O pacote tcolorbox foi utilizado para esse fim e extensivamente customizado para permitir a criação das caixas, seus títulos e conteúdo utilizando apenas comandos customizados. Outro requisito era uma tabela longa que pudesse abranger automaticamente várias páginas usando conteúdo preenchido automaticamente.

insira a descrição da imagem aqui

Responder2

Sim, o LaTeX pode ser usado para tais documentos. Como você observou, algumas coisas são desafiadoras:

  • Você pode usar fontes OpenType e TrueType --- veja a fontspecdocumentação --- carregar uma família é o padrão
  • Existem vários pacotes para mesas, eu gosto booktabs, mas sou um cara enfadonho e antiquado --- para mesas sofisticadas com cores e coisas assim, você vai querer encontrar um pacote adequado
  • sim, existem controles/opções para composição de listas que permitem ajustar tais coisas --- uma nota de advertência é que o ConTeXt começou como um pacote que oferecia maior controle sobre a composição de listas --- você pode querer considerar pular direto para isto
  • o dimensionamento/manuseio da imagem é bom/fácil --- use o pacote grffilepara nomes de arquivos e graphicxpelas sutilezas que ele oferece --- você pode dimensionar com base nas dimensões do documento, como página, coluna ou largura ou altura do bloco de texto, e é bastante simples -forward para ajustar programaticamente com base nas proporções de um documento (os gráficos no formato paisagem vão para duas colunas, enquanto o retrato é deixado em uma, é um ajuste típico)

Aí está o TeX Showcase:http://www.tug.org/texshowcase/

informação relacionada