首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >d3.js/LaTeX翻译

d3.js/LaTeX翻译
EN

Stack Overflow用户
提问于 2014-08-19 18:41:39
回答 1查看 2.6K关注 0票数 8

我正在用d3.js制作科学数据可视化,因此作为科学界的一员,我是一个"LaTeX-er“,但对D3.js非常陌生……

我想在我的可视化中包含以下内容(如果有人熟悉LaTeX):

这等同于:

文本{SFR}$=10.10$\text{M}_{\odot}$${\$\text{ yr}}^{-1}$

我该如何翻译它来渲染一个d3.js viz呢?

EN

回答 1

Stack Overflow用户

发布于 2015-03-21 06:23:04

您的LaTeX有几个错误。更正后的版本:

代码语言:javascript
复制
\text{SFR}_{[\textup{O\ II}]}=10.10\text{M}_{\odot}\ {\text{ yr}}^{-1}

然后,您可以使用svg:foreignObject构造函数:

代码语言:javascript
复制
//The SVG Container
var svgContainer = d3.select("body").append("svg")
     .attr({"width": 400, "height": 400});

//foreignObject
var latex_raw = "\\text{SFR}_{[\\textup{O\\ II}]}=10.10\\text{M}_{\\odot}\\ {\\text{ yr}}^{-1}";
var latex_render_url = "http://latex.codecogs.com/gif.latex?";
var latex_query = encodeURI(latex_raw);
var latex = svgContainer.append("foreignObject")
     .attr({
         "x": 100,
         "y": 60,
         "width": 400,
         "height": 200,
         "requiredFeatures": "http://www.w3.org/TR/SVG11/feature#Extensibility"})
     .append("xhtml:body").attr({
         "margin": 0,
         "padding": 0,
         "width": 400,
         "height": 200})
     .append("img").attr({
         "src": latex_render_url + latex_query});

注意:

在javascript字符串中,您必须将LaTeX代码的所有\都加倍!

演示:http://jsfiddle.net/4ksjek94/1/

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25381357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档