我用Inkscape在 Windows 7 平台上。在 Inkscape 中输入积分和其他数学符号的原则似乎是最好的做法,将它们写在 LaTeX 编译器中,然后在 Adobe PDF 中剪切它们,然后将其作为图形粘贴到 Inkscape 中。
似乎你在 Inkscape 中制作这样的图片的方法:
有没有办法可以直接在 Inkscape 文本框中输入 LaTeX 代码?
我知道这个问题有些不切实际,但尝试一下也无妨。
答案1
这是 Inkscape 的答案(总结了评论和一些附加信息)。有两种方法可以包含 LaTeX 输入。
使用PDF+LaTeX 导出内置于 Inkscape
优势: 内置,文本保持可编辑状态
坏处: Tex 代码可以输入但无法渲染,因此您可能需要稍后在文档中调整 x、y 定位值 --> 很烦人。此外,不支持换行符,您需要稍后手动添加 parbox 或 minipage 等
获取
textext
插入对于Inkscape优势: 直接在 Inkscape 文档中呈现代码,包括换行符等。
坏处: 文本变成 SVG 图片,无法在 Inkscape 之外编辑。当然在 Inkscape 中没有问题(可以通过选择对象并使用扩展->文本文本菜单项来编辑对象)。这意味着在导出并将 PDF 包含在文档中后,缩放图形会导致文本也缩放 --> 可能产生不良影响
安装详细信息
textext
:textext
从以下位置获取 Inkscape 插件这里。对于我来说,安装有点棘手(Inkscape 0.48)。安装说明可以阅读这里。
首先,我将扩展文件放在
~/.config/inkscape/extensions
文件夹中。然后我通过 Ubuntu 包管理器安装了 Pstoedit
之后,我收到了一些 Python 模块的错误。这篇博文帮我解决了这个问题: 博客文章
之后,我可以从 Inkscape 菜单栏中选择 Extensions->Textext。在弹出的框中输入 LaTeX 代码,就像在普通文档中一样。您可以指定前言文件。我会在您的文档中包含任何影响字体的包,因为结果是 TeX 输入的 SVG 图像,这意味着如果您决定在某个时候更改 LaTeX 前言,字体不会改变
答案2
这不是 Inkscape 的答案!
您可以使用Ipe可扩展绘图编辑器为此。在掌握 TikZ 之前,我曾广泛使用它,但仍然用它来快速准备图像。它支持许多功能(线型、颜色、变换、坐标、对象捕捉等)。此外,如果您了解 Lua,那么您可以直接侵入它并创建自己的内容(我不了解)。
以下是尽可能简单的操作方法。首先,绘制形状、多边形等(并选择输入下图中选择的 LaTeX 公式)。
然后,单击“确定”后,从菜单中选择“运行 LaTeX”或“ Ctrl+” L,然后它会找到您的 LaTeX 发行版并编译该部分,如下图所示。您不必为每个公式都执行此操作,您可以将它们保留为源,然后一次性编译所有内容。
完成图片后,您可以将其保存为 XML、PDF 或 EPS 格式。两分钟后,我得到了这个
答案3
更新 02-05-2024
我们又来了!如果你使用的是 Windows,你可能很难找到此选项。我编写了一个小型 Powershell 脚本这里检查你的环境变量。然后检查Extensions > Texts > Formula (pdflatex)...
更新日期 04-05-2022
好消息是,内置功能又回来了Extensions > Render > Mathematics > LaTeX (pdflatex)...
。只需确保您已安装 LaTeX 发行版(最好是TinyTeX)、Ghostscript 和 pstoedit (pdf2svg),并且您已按照说明将它们全部添加到环境变量路径中这里。
旧答案
总结从安装 TexText这里
不幸的是,本页上之前的答案大多不相关或过时。问题是关于将 LaTeX 数学放入 Inkscape 中,而不是将矢量图形放入 Latex 中!更不用说 OP 的问题是关于 Windows,而不是 Linux。以下是一些选项:
在某些版本的 Inkscape 中,如下所述Inkscape wiki 中,曾经有“内置支持包含 LaTeX 公式”的功能。您可以直接访问
Extensions->Render->LaTeX ...
并输入公式。不知为何,在我解决这个问题后,这个功能就消失了。这里!此功能有望在以下版本中恢复(这条推文)TexText 插件一直是 Inkscape 中用于 LaTeX 渲染的实际工具。然而,由于缺乏适当的支持,它已被分叉多次:
最新更新的分叉之一GitHub 存储库和GitHub 主页和Inkscape 网站上的页面您需要确保您有 LaTeX(在 Windows 上密克泰克),编辑, 和Ghostscript安装并将它们添加到环境变量的 Windows 路径中。
此分叉比特桶
Latex/MikTeX(不复存在!)
如果你真的很绝望,你可以使用我提到的任何 LaTeX 矢量图形应用程序这里例如,生成 SVG 并将其导入 Inkscape。
答案4
LaTeXText
是基于textext
前面答案中提到的过时扩展的 Inkscape 扩展。这与 Linux 和 Mac 上的 Inkscape 版本 >= 0.91 以及 Windows 上的版本 >=0.92.2 相关。
安装说明在 Github 页面上,相当详细。我只会演示:Github 页面上有安装说明及其.gif
工作原理。
该扩展(安装后)位于 中Extensions -> Render -> Text with LaTeX (GTK3)
。
例如:应用扩展后的输出:
LaTeX 渲染输出在单独的图层(名为)中生成Rendered Latex
,而原始 LaTeX 代码则保留在原始图层中(Layer 1
在我的情况下)。如果您激活“图层”窗口(Inkscape 中的快捷方式),则可以看到这一点Ctrl+Shift+L
。
只需在最终输出中隐藏原始图层(单击窗口中的眼睛图标Layers
),然后您将得到所需的渲染输出。