
Estou tentando usar markdown com pandoc para converter um único documento em html, pdf e docx. É um documento extremamente simples que contém apenas texto sem matemática e algumas imagens. As imagens estão no formato PNG. Incluo uma imagem usando isto na fonte de markdown:
<div style="float:center" markdown="1">

</div>
e compile-o como:
# html
pandoc myarticle.md -c mystyle.css -o myarticle.html
# pdf
pandoc myarticle.md -V geometry:margin=1in -o myarticle.pdf
# docx
pandoc myarticle.md -o myarticle.docx
Percebi que algumas imagens PNG que possuemas mesmas dimensõessão dimensionados de maneira diferente nos formatos HTML e PDF. Um PNG de 250x256 px com baixa resolução (72 px/in) aparecerá em PDF com o tamanho correto aproximadamente na página e aparecerá em um tamanho razoável em HTML, mas um PNG que tenha as mesmas dimensões (250x256 px), mas é alta resolução (300 px/pol.) é redimensionada para ficar minúscula na página na saída do PDF. Quero manter um conjunto de imagens PNG em um tamanho especificado e fazer com que apareçam nesse tamanho nos formatos HTML/PDF/DOCX.
Estou disposto a desistir do suporte automático a docx (ou lidar com muita formatação manual depois) apenas para ter PDF/HTML.
Como posso dizer ao pandoc para não redimensionar PNGs para PDF ou imagem e fazer com que apareçam nas imagens corretas? obrigado.
Responder1
As dimensões são convertidas em pixels para saída em formatos semelhantes a HTML. Use a
--dpi
opção para especificar o número de pixels por polegada. O padrão é 96 dpi.
Encontre o elemento mais comum em suas fotos e use-o. Modifique apenas as exceções.
Exemplos: dpi, largura, altura.
Se você fornecer as informações de dpi:
Adicione a opção --dpi conforme indicado para substituir o padrão.
Se a maioria das suas fotos tiver altura ou largura comum, isso poderá ser facilmente corrigido.
Por exemplo, você alterou a linha para:
{ width=250px }
ou
{ height=256px }
Ou faça isso com marcação HTML direta:
<img src="./figures/myimage.png" alt="my caption" style="width: 250px;"/>
ou
<img src="./figures/myimage.png" alt="my caption" style="height: 256px;"/>
e a proporção estará correta.
Referência:Leiame do Pandoc
Para HTML e EPUB, todos os atributos, exceto largura e altura (mas incluindo srcset e tamanhos), são passados como estão. Os outros gravadores ignoram atributos que não são suportados pelo seu formato de saída.
Os atributos de largura e altura nas imagens são tratados de maneira especial. Quando usado sem uma unidade, presume-se que a unidade seja pixels. No entanto, qualquer um dos seguintes identificadores de unidade pode ser utilizado: px, cm, mm, pol, polegada e %.Não deve haver espaços entre o número e a unidade.
As dimensões são convertidas em polegadas para saída em formatos baseados em páginas como LaTeX. As dimensões são convertidas em pixels para saída em formatos semelhantes a HTML. Use a
--dpi
opção para especificar o número de pixels por polegada. O padrão é 96 dpi.A unidade % é geralmente relativa a algum espaço disponível. Por exemplo, o exemplo acima será renderizado para:
<img href="file.jpg" style="width: 50%;" />
(HTML),\includegraphics[width=0.5\textwidth]{file.jpg}
(LaTeX) ou\externalfigure[file.jpg][width=0.5\textwidth]
(Contexto).Alguns formatos de saída possuem noção de classe (ConTeXt) ou identificador único (LaTeX
\caption
), ou ambos (HTML).Quando nenhum atributo de largura ou altura é especificado, o substituto é observar a resolução da imagem e os metadados de dpi incorporados no arquivo de imagem.
Observe que não deve haver espaços entre o número e a unidade, nem entre o campo e sua propriedade, ou seja, ambos não funcionarão:
{ width = 100% }
{ width=100 px }
Se você tiver espaços, a tag será ignorada e será publicada como texto normal no seu documento.
Responder2
Aplique estilo à imagem, por favor, experimente este
estilo CSS
img[src*="#thumbnail"] {
width:150px;
height:100px;
}
img[title="thumbnail"] {
width:200px;
}
img[alt$="-thumbnail"]{
width:300px;
}
estilo de codificação md
 <!-- src = link#thumbnail -->
 <!-- title = thumbnail -->
 <!-- alt = img -thumbnail -->
Responder3
Usando arquivos markdown, você pode definir as alturas da largura da imagem conforme abaixo. Isso permite definir dimensões diferentes para cada imagem.
{width=150px height=100px}