LaTex | 导出 PNG 图片

2023-05-16

问题描述

我们需要将 LaTeX 文档转换为 PNG 图片(我们需要使用 LaTeX 的 bytefield 包绘制“字节序列图”,以在 Zim 中显示)

该笔记将记录:如何使用 .tex 文件,生成 PNG 图片。

方案一、latex => dvi => png


# 导出图片
latex /path/to/file.tex
dvipng file.dvi

# 显示图片
display file1.png
  

关于 graphicx\rotatebox 问题

DVI to PDF Converter - TeX - LaTeX Stack Exchange
Which DVI viewer on linux? - TeX - LaTeX Stack Exchange

该方法无法很好的处理 graphicx\rotatebox 命令,如图 D/B 与 AVL 偏移(本应该旋转 90 度,以垂直显示):

latex.png

经过测试,应该是 dvipng 命令的问题:
1)进行 latex => dvi 转换,然后使用 xdvi 打开 DVI 文件,将如上图显示

(1)可能 xdvi 程序存在问题;(2)可能生成的 DVI 文件存在问题;
2)进行 laxtex => dvi => pdf 转换(dvipdfm example.dvi),在 PDF 中,显示正常
(1)因为能够”还原“,因此 DVI 文件没有问题;(2)可能 xdvi 程序有问题,并且 dvipng 也可能有问题;

 

这也引出我们的「方案二、使用 standalone 处理」(我们的需求本就是:只需要生成的图片,而不是整个文档)

方案二、使用 standalone 处理

使用 stadalone 包,可以直接将 LaTeX 文档导出 PNG 图片(在内部,依旧使用 Shell 命令进行转换)。

对于如下代码:


% example.tex
\documentclass[convert={density=120,outext=.png}]{standalone}
\usepackage{bytefield}
\usepackage{graphicx}

\begin{document}
    \begin{bytefield}[bitwidth=1.5em, bitheight=\widthof{~AVL~}, endianness=big]{32}
        \bitheader{0-24,31} \\
        & \bitbox{8}{Base (31-24)} & \bitbox{1}{G} & \bitbox{1}{\rotatebox{90}{D/B}}
        & \bitbox{1}{L} & \bitbox{1}{\rotatebox{90}{AVL}} & \bitbox{4}{Limit (19-16)}
        & \bitbox{1}{P} & \bitbox{2}{DPL} & \bitbox{1}{S} & \bitbox{4}{TYPE}
        & \bitbox{8}{Base (23-16)}
    \end{bytefield}
\end{document}
  

执行 latex -shell-escape -halt-on-error example.tex 命令,将直接输出 example.png 图片:
example.png

下面是更复杂的例子(参考 CTAN: Package standalone 文档),演示如何修改用于转换图片的命令:


\documentclass[
    convert={
        convertexe={convert},
        command=\unexpanded{{
            \convertexe \space
            -density \density \space
            \infile \space
            -resize \size \space
            \outfile}},
        density=800,size=800x600,outext=.png
    },
    border={.5 .5 .5 2mm},
]{standalone}

\usepackage{bytefield}
\usepackage{graphicx}

\begin{document}
    \begin{bytefield}[bitwidth=1.5em, bitheight=\widthof{~AVL~}, endianness=big]{32}
        \bitheader{0-24,31} \\
        & \bitbox{8}{Base (31-24)} & \bitbox{1}{G} & \bitbox{1}{\rotatebox{90}{D/B}}
        & \bitbox{1}{L} & \bitbox{1}{\rotatebox{90}{AVL}} & \bitbox{4}{Limit (19-16)}
        & \bitbox{1}{P} & \bitbox{2}{DPL} & \bitbox{1}{S} & \bitbox{4}{TYPE}
        & \bitbox{8}{Base (23-16)}
    \end{bytefield}
\end{document}
  

这将生成更加清晰的图片(依旧模糊,需要更好的控制 convert 命令参数):
example-00.png

参考文献

pdf - Including graphics for both DVI and PNG - TeX - LaTeX Stack Exchange
graphics - Compile a LaTeX document into a PNG image that's as short as possible - TeX - LaTeX Stack Exchange

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LaTex | 导出 PNG 图片 的相关文章

  • R:为什么 kable 不在 for 循环内打印?

    我正在使用 rmarkdown 和 Latex 编写报告 我需要使用打印一组表格knitr kable 但在 for 循环内时不会打印 这是我的代码 title project title author Mr Author date 201
  • 如何使用 \setbeamerfont 设置任何字体大小(例如 32pt)?

    我想使用 setbeamerfont 设置框架标题的字体大小 如何使用 setbeamerfont 设置任何字体大小 例如 32pt 看完说明书我找到了答案 这很简单 setbeamerfont frametitle family rmfa
  • matplotlib 图形的乳胶渲染文本中的中心标题

    我想将 Matplotlib 图形的标题居中 其中在渲染 LaTeX 样式时包含换行符返回 在标题中间插入 Latex 的简单返回代码可以工作 但不会使其居中 从而导致换行符从第一行尴尬地移动 from matplotlib import
  • Pandoc Markdown 分页符

    最近我开始使用 Pandoc markdown 它似乎是 LaTeX 的一个很好的替代品 因为我的文档没有很多数学公式 而且我没有任何使用 LaTeX 的经验 再加上不到 2 周的提交截止日期 这使它成为一个很好的解决方案 我无法解决的一件
  • 适用于 .NET 2.0 的更精确的 PNG 库?

    是的 我正在使用 C 2 0 需要对 PNG 文件执行操作 例如使用自定义调色板 但我不知道如何使用 System Drawing 是否有第 3 方库 最好是兼容 GPL 的 可以对 PNG 编码进行更精细的控制 Update 我想做的事情
  • 如何确定 OS X 中的文件编码?

    我正在尝试将一些 UTF 8 字符输入到 LaTeX 文件中TextMate http en wikipedia org wiki TextMate 它说它的默认编码是UTF 8 但LaTeX似乎不理解它们 Running cat my f
  • 如何在 Pygame 中将具有一定透明度的 PNG 位图传输到表面上?

    我试图将 PNG 图像传输到表面上 但图像的透明部分由于某种原因变成黑色 这是简单的代码 screen pygame display set mode 800 600 pygame DOUBLEBUF 32 world pygame Sur
  • 从 Bitmap 类创建 .bmp 图像文件

    我创建了一个使用套接字的应用程序 客户端在其中接收图像并将图像数据存储在 Bitmap 类中 谁能告诉我如何创建一个名为我的图像 png or 我的图像 bmp来自此 Bitmap 对象 String base64Code dataInpu
  • 在 Visual Studio C++ 资源编辑器中导入 png 文件

    我希望能够在 Visual Studio 资源编辑器中导入 png 文件 以便能够在不同的其他项目中使用嵌入的资源 有解决办法吗 我知道它适用于位图 但我对 png 感兴趣 因为即使在较低格式 16x16 或 32x32 上也可以使用 透明
  • LaTeX 仅打印文档的前两页

    我正在 LaTeX 中工作 当我创建 pdf 文件 使用 LaTeX 按钮或 pdfLaTeX 按钮或使用 yap 时 pdf 仅包含前两页 没有错误 它就停止了 如果我通过添加文本使第一页更长 它仍然会停在第二页末尾 有任何想法吗 好的
  • 使用 Javascript/jQuery 和 CSS 更改 PNG 颜色

    我有一个黑色的心 PNG http 1 bp blogspot com yq ZSKg39Tk TOvzVx9sC5I AAAAAAAAAb0 GcN4O Ciq3s s1600 black heart png我想用不同的颜色显示 如何使用
  • 如何检测不渲染 .png 透明的浏览器

    我有这段代码可以根据一周中的某一天渲染图像 但在 IE6 及更低版本以及可能其他一些浏览器中 它不会呈现 png 不透明度 所以我想稍微改变一下 这样它就会检测到不渲染 alpha 透明度的浏览器 并告诉他们加载这个图像 img horar
  • 使用 inkscape 命令行将 svg 转换为 png 失败

    我觉得我一定做了一些愚蠢的错误 但我就是无法让它发挥作用 这是我从 cmd 运行的命令 inkscape com C path ship svg e export png C Path ship png without gui 作为回报 我
  • 从文件夹中选择随机图像以显示在 picturebox、vb.net 中

    我有一个图片框 它从文件夹中读取图像进行显示 而不是通常的无聊图像 我认为在文件夹中包含许多图像并让我的 vb net 程序随机挑选一个来显示可能会更好使用 我怎样才能做到这一点 尝试这个 Public Function GetRandom
  • 如何在 LaTeX 中对浮点数进行一致编号?

    我有一个 LaTeX 文档 其中我希望浮点数 表格和数字 的编号采用从 1 到 x 的一个数字序列 而不是根据其类型采用两个序列 我也不使用图形或表格列表 也不需要这样做 我的文档类是报告 通常我的浮动有这样的标题 caption Brea
  • 如何在 bookdown 定理或示例环境中使用内联 R 代码

    我使用 bookdown 生成 html 和 PDF 文档 如何在定理和示例环境中使用内联 R 代码的结果 这是我尝试过的 title Test output bookdown pdf book toc false html documen
  • LaTex 中与 knit 和 xtable 交叉引用的问题

    我目前正在与 R Studio 合作 使用 LaTex 中的 R knitr 生成 PDF 文档 在这些文档中 我想在文本中引用的表格中展示我的部分结果 我使用 R 中的 xtable 包生成这些表 它运行良好并为我提供了正确的表 到目前为
  • 仅用一个数字对多个方程进行编号

    如何仅使用一个数字在对齐环境中对多个方程进行编号 例如 begin align w T x i b geqslant 1 xi i text if y i 1 nonumber w T x i b leqslant 1 xi i text
  • 如何在 MathJax 中对公式进行装箱?

    如何在 MathJax 中围绕公式绘制方框 我见过 LaTeX 一般推荐使用 boxed 但 MathJax 不支持该操作 有没有替代方案可以解决这个问题 boxed 位于 AMSmath 扩展中 因此如果您将 TeX AMSmath js
  • 通过 htaccess 将 PNG 解析为 PHP 仅适用于本地服务器,但不适用于网络服务器

    我用 PHP 创建了一个动态 PNG 图片 为了使用 PNG 扩展名 我创建了一个包含以下内容的 htaccess 文件 AddType application x httpd php png 在我的本地 XAMPP 服务器上 一切工作正常

随机推荐

  • Linux下7z压缩解压软件区别

    本文首发于个人博客 xff0c 文章链接为 xff1a https blog d77 xyz archives 4744f068 html 最近需要在 Ubuntu下用 7z 来压缩点东西 xff0c 发现 Ubuntu 默认没有安装 7z
  • FMC接口说明

    FMC介绍 FMC是英文FPGA Mezzanine Card FPGA 夹层卡 的缩写 xff0c 用于FPGA IO和通讯部件之间的连接 实现FPGA具有重配置IO能力的引脚与其他的FMC子卡IO连接 其信号完整性可以保证高达几G bp
  • win10开机为“其他用户”无法登录,及系统登录账户没有管理员权限无法安装软件解决方案

    win10开机为 其他用户 无法登录 xff0c 及系统登录账户没有管理员权限无法安装软件解决方案 开机为 其他用户 无法进入系统无须重装系统 解决方案注意不要漏了管理员权限 xff0c 笔者在给系统加上本地账户之后忘记加管理员权限了 xf
  • java日志之log4j、log4j2、slf4j

    本文从整体视角分析 xff0c 重在帮助初学者了解log4j log4j2之间的关系 以及与slf4j整合时使用的中间jar包 xff1a slf4j log4j12 log4j slf4j impl 1 Log4j log4j核心包只有一
  • Spring框架中的IOC容器及bean管理

    这篇文章讲述的是Spring框架中的IOC容器及bean管理 xff0c 如有错误或者不当之处 xff0c 还望各位大神批评指正 什么是IOC容器 xff1f IOC即反转控制 xff0c 创建对象的权利交给容器来完成 xff0c 而程序要
  • 磁力机航向角计算与补偿

    地理坐标系下该点的磁场强度为 xff08 M 0 xff0c D xff09 xff0c 磁力计测得的三轴磁场强度为 xff08 mx my mz xff09 当我们认为飞机是完全水平放在地上的时候 xff0c 即Z轴和Zb轴是平行的时候
  • Decorators 装饰器

    预备知识 xff1a args的使用方法 xff0c args 用来将参数打包成tuple给函数体调用 例子一 xff1a span class token operator gt gt span span class token oper
  • 一个JAVA程序员成长之路分享

    我搞JAVA也有些日子了 因为我比较贪玩 上进心不那么强 总是逼不得已为了高薪跳槽才去学习 所以也没混成什么大牛 但好在现在也已经成家立业 小日子过的还算滋润 起码顶得住一月近万元的吃喝拉撒玩各种贷款信用卡 不为金钱过于发愁了 我特别感谢当
  • 「Jenkins Pipeline」- 执行 Shell 命令 @20210203

    问题描述 Jenkins Pipeline xff0c 更像 胶水 xff0c 将很多脚本与工具粘合在一起 xff0c 实现自动化任务 xff0c 而它本身并没有提供特定功能 执行 Shell 命令或者脚本是个非常常见的任务 该笔记将记录在
  • 「snap」- ERR - Waiting for automatic snapd restart @20210208

    问题描述 使用 snap 安装 chromium 浏览器时出现如下错误 xff0c 并一直卡住 xff1a 2020 08 21T16 56 10Z INFO Waiting for automatic snapd restart 问题原因
  • 锁屏时间格式不随多用户的时间格式变化而变化?

    背景 xff1a 时间格式有12 24小时制 xff0c 系统设置时间格式之后 xff0c 状态栏和锁屏的时间显示也会相应的发生变化 xff0c 但是现在发现一个问题 xff1a 当我切换到多用户设置时间格式的时候发现 xff0c 状态栏的
  • R语言利用igraph和networkD3包快速入门做出炫酷的社交网络图等几类图。

    原来CDSN编辑器老出问题 xff0c 图片各种显示不好 xff08 老文章依然是原来编辑器 xff09 xff0c 又将本文整理了一遍地址 1 igraph包绘制社交关系图 xff08 也有叫知识图谱的 xff09 绘图的快速入门技巧是三
  • 「Shell」- 判断字符串结尾 @20210209

    下面围绕 判断字符串是否以 txt结尾 展开 转变一下也同样适用于 判断字符串是否以 txt开头 通用的方法 方法一 使用grep命令 bin sh str 61 34 path to foo txt 34 使用if语句 if echo 3
  • 「Firefox」- 在地址栏中,显示二维码 @20210211

    问题描述 在以前某些版本的 Firefox 中 xff0c 地址栏会显示当前地址的二维码 xff0c 再后便消失 xff08 可能功能被取消 xff09 现在 xff08 02 10 2021 xff09 xff0c 我们需要在地址栏中显示
  • 「GNOME 3」- 修改 Topbar 字体(顶部栏字体)、调整默认主题 @20210211

    问题描述 在 GNOME 3 中 xff0c 在进行字体设置时 xff0c 我们发现 Topbar 的字体没有修改 xff0c 因此窗口字体与 Topbar 字体不同 经过搜索 xff0c 我们知道 xff0c Topbar 的字体是主题负
  • 「KVM」- 常见错误及注意事项 @20210223

    启动错误 1 vmport is not available with this QEMU binary 问题描述 xff1a 启动Guest时产生如下错误 xff1a error unsupported configuration vmp
  • 「Jumpserver」- 通过 SSH 连接 Jumpserver 资产 @20210302

    问题描述 在通常情况下 xff0c 我们会通过 Web 界面访问资产 执行命令 xff0c 以进行服务器管理 但是 xff0c 有时候我们也需要通过 SSH 客户端连接服务器 Jumpserver 提供对此的支持 该笔记将记录 xff1a
  • 「Selenium」- 在页面中,点击按钮(或元素) @20210311

    问题描述 该笔记将记录 xff1a 在 Selenium 中 xff0c 如何使用代码点击按钮 xff0c 以及常见问题处理 解决方案 使用 click 点击 通常点击元素使用 click 方法即可 xff1a 选择元素并进行点击 webD
  • 「Linux」- 安装网易云音乐(Neteast Cloud Music) @20210330

    问题描述 我们想在 Ubuntu 20 04 LTS 中安装网易云音乐 xff08 Neteast Cloud Music xff09 xff0c 自然是用来播放音乐 该笔记将记录 xff1a 在 Debian 及衍生版 xff08 比如
  • LaTex | 导出 PNG 图片

    问题描述 我们需要将 LaTeX 文档转换为 PNG 图片 xff08 我们需要使用 LaTeX 的 bytefield 包绘制 字节序列图 xff0c 以在 Zim 中显示 xff09 该笔记将记录 xff1a 如何使用 tex 文件 x