Forgot password?
 Create new account
View 6173|Reply 85

tikzjax 能脱离服务器用吗?

[Copy link]

418

Threads

1628

Posts

110K

Credits

Credits
11891

Show all posts

abababa Posted at 2020-6-9 11:08:23 |Read mode
如题。tikzjax的网址如下:
tikzjax.com

就是在网页上显示tikz图片的那种javascript,网址上面画了一个圆。但我下载之后,发现只能引用那个网址里的javascript,下载到电脑里就不能用了。怎么才能在自己的电脑里直接用呢?
另外我很喜欢tkz-euclide这个包,不知道这个能不能也一起在网页里显示。

15

Threads

948

Posts

110K

Credits

Credits
12412

Show all posts

色k Posted at 2020-6-9 12:17:27
咦?又有新玩意了?我看看能不能弄到论坛上来

701

Threads

110K

Posts

910K

Credits

Credits
94177
QQ

Show all posts

kuing Posted at 2020-6-9 13:34:25
原来也不算是新东西了,年多前的了

701

Threads

110K

Posts

910K

Credits

Credits
94177
QQ

Show all posts

kuing Posted at 2020-6-9 14:01:29
我在自己电脑上新建一个 html 文件,按网页上的说法,这样写:
  1. <html>
  2.   <head>
  3.   <link rel="stylesheet" type="text/css" href="http://tikzjax.com/v1/fonts.css">
  4.   <script src="http://tikzjax.com/v1/tikzjax.js"></script>
  5.   </head>
  6.   <body>
  7. <script type="text/tikz">
  8.   \begin{tikzpicture}
  9.     \draw (0,0) circle (1in);
  10.   \end{tikzpicture}
  11. </script>
  12.   </body>
  13. </html>
Copy the Code
为啥显示不出来……

到底还缺啥?

PS、我还发现有这样一个可以实时预览的:tikzjax-demo.glitch.me/

701

Threads

110K

Posts

910K

Credits

Credits
94177
QQ

Show all posts

kuing Posted at 2020-6-10 01:17:47
看来直接弄上论坛是弄不成了……

不过,倒是启发我可以玩玩 SVG,事关这个 tikzjax 其实就是把图形转换为 SVG……

要玩这个得开启 html 代码,测试一下先……

1 2 3 4 5
(此图总是 50% 宽度,如果你正在使用非固定宽度的论坛风格,可以切换窗口大小试试)

701

Threads

110K

Posts

910K

Credits

Credits
94177
QQ

Show all posts

kuing Posted at 2020-6-10 13:01:27
几何画板另存 emf 再在网上找 emf 转 SVG 然后贴上来:

这代码的长度……我估计比截图的大小还大……

因为转出来的代码有大量多余的东西,可以手动精简,上图被我批量去掉一堆没用的东西后由 40k 减到 10k,当然最好是在转换之前把能隐藏的都隐藏……

再来一个有字母,还有画笔画的如何:
γ β D A C O P B v B v C
字母完全没问题(可以被选中,你可以框选试试),画笔画的则是通过一个貌似是 base64 编码的图片来插入的……

418

Threads

1628

Posts

110K

Credits

Credits
11891

Show all posts

 Author| abababa Posted at 2020-6-10 13:56:01
回复 4# kuing

我就是把整个网页都下载下来了,然后直接打开,但也显示不了。问了网友,说是cors的问题,在以前好像是可以的,然后近几年安全性提升了,就不行了。然后我就搜索有关的内容,好像是谷歌有一个什么插件,能直接让它生效这种,但还没弄明白。

其实用这个,并且想用tkz-euclide,就是已经熟悉它了,不想再换别的了,要是换别的,还得再学一套新的东西。如果能直接在网页上显示,然后在真的latex里也能用,那就最好了,什么都不用改,在真的latex里画好了就能直接发到网页上,或者在网页上测试,等完全画好了直接粘贴到真的latex里,那就最方便了。

418

Threads

1628

Posts

110K

Credits

Credits
11891

Show all posts

 Author| abababa Posted at 2020-6-10 14:01:49
Last edited by hbghlyj at 2025-3-24 01:55:12回复 5# kuing

论坛上能不能用我就更不会了,但刚才不知怎么弄的,在我的电脑上就可以了,是安装了插件,安装的这个:
Moesif Orign & CORS Changer
然后浏览器上有一个图标,初始时是off,然后点进去变成on,再刷新我的tikzjax网页就能用了。

我先在这里试一试:
  1. <script type="text/tikz">
  2.   \begin{tikzpicture}
  3.     \draw (0,0) circle (1in);
  4.   \end{tikzpicture}
  5. </script>
Copy the Code

看来这里是显示不了,那个script什么的没识别出来。

701

Threads

110K

Posts

910K

Credits

Credits
94177
QQ

Show all posts

kuing Posted at 2020-6-10 17:42:00
回复 9# abababa

一旦需要装什么插件就已经不适合在论坛上用了……
要搞图形语言“无障碍通行”谈何容易……

418

Threads

1628

Posts

110K

Credits

Credits
11891

Show all posts

 Author| abababa Posted at 2020-6-12 12:08:48
回复 10# kuing

这个所说的插件我也不太懂,只是按网友说的下载了这么一个,就什么都不需要改,直接就能看了。网友的原话是:插件解决了那个cors问题,当自己无法取得对应的js脚本时可以用插件解决,当能取得js脚本时可以修改脚本,绕过cors问题。
我在想是不是这个tikzjax就是属于那种能取得js脚本的,就是下载下来一个js文件,然后改这个文件就可以了。

418

Threads

1628

Posts

110K

Credits

Credits
11891

Show all posts

 Author| abababa Posted at 2021-9-9 12:21:11
SVG代码太多了,我觉得就是像latex这样,打出画图的代码,然后在网页上直接显示,这样就很好。

418

Threads

1628

Posts

110K

Credits

Credits
11891

Show all posts

 Author| abababa Posted at 2021-9-13 18:18:21
这个在我的电脑上弄明白了,用Chrome浏览器,然后发送一个快捷方式到桌面上,再右键点那个快捷方式,有一个“属性”,在目标(蓝色)那里填入:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir=~/chromeTemp
就是.exe"后面那些,然后双击这个快捷方式,就能打开文档了。我上传一个index.html的文档,打开这个就能看到一个圆。
$type index.html (317 Bytes, Downloads: 268)
无标题.gif

701

Threads

110K

Posts

910K

Credits

Credits
94177
QQ

Show all posts

kuing Posted at 2021-10-1 17:22:16
@kuing
建议后台设置一下,为论坛编辑器增加BBcode:
[svg=長,高] svg 碼[/svg]
以支持 SVG 向量碼之顯示
...
hbghlyj 发表于 2021-9-13 06:05
其实我很早就尝试过了,是实现不了的,因为“ svg 碼”里的 < 和 > 会被论坛转为 &lt; 和 &gt;

701

Threads

110K

Posts

910K

Credits

Credits
94177
QQ

Show all posts

kuing Posted at 2021-10-1 17:28:18
回复 17# kuing

QQ截图20211001222441.png

【测试完毕后仅以以上截图留存内容,svg、svg1 这两个 BBcode 删去。】

418

Threads

1628

Posts

110K

Credits

Credits
11891

Show all posts

 Author| abababa Posted at 2021-10-1 18:46:35
回复 18# kuing

这个能不能用js动态来替换?另外我发现4楼的网址里,那个能显示出来图,它的源代码就是直接引用了自己服务器上的,而不是引用了其它服务器上的。那这样的话,能不能把tikzjax.js这个的整个源代码复制过来,然后粘贴到论坛里的一个地方,就是在论坛里新建一个script,专门放那个画图的源代码,这样应该就不会有所说的“跨域”问题了吧,因为现在都是在自己的一个域里。版主能不能建立一个测试论坛专门试一下看看好不好用。

418

Threads

1628

Posts

110K

Credits

Credits
11891

Show all posts

 Author| abababa Posted at 2021-10-1 18:52:40
回复 19# abababa

果然,我试了,我把tikzjax.js整个复制下来,然后在index.html里,就不引用网站的那个js,而是直接写上
<script src="tikzjax.js"></script>

这样就不用调浏览器了,直接就能显示了。我放了两个附件,下载下来放在同一个文件夹里,然后打开index.html就能显示出一个圆了。
$type index.html (297 Bytes, Downloads: 272) $type tikzjax.js (953.26 KB, Downloads: 375)

701

Threads

110K

Posts

910K

Credits

Credits
94177
QQ

Show all posts

kuing Posted at 2021-10-2 00:33:24
回复 19# abababa

我发现现在本地用
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <link rel="stylesheet" type="text/css" href="https://tikzjax.com/v1/fonts.css">
  5. <script src="https://tikzjax.com/v1/tikzjax.js"></script>
  6. </head>
  7. <body>
  8. <script type="text/tikz">
  9.   \begin{tikzpicture}
  10.     \draw (0,0) circle (1in);
  11.   \end{tikzpicture}
  12. </script>
  13. </body>
  14. </html>
Copy the Code
也是 OK 的啊,就是加载慢一点要等一下(与 tikzjax.com 的连接真不顺,实在不行可挂梯……
与去年的区别是变成了 https

418

Threads

1628

Posts

110K

Credits

Credits
11891

Show all posts

 Author| abababa Posted at 2021-10-2 08:55:49
回复 23# kuing

一开始就是那个“跨域”的问题弄得显示不了,我就想如果是在同一个域里,那就不用引用别的域名了,就不会有问题,所以试了一下果然就好用了。那个https是不是就变成安全链接了,也没有这个问题了。
加载慢的话,把js代码复制过来,放在自己的网页里就好了吧,加载就是在自己网页里加载。
但是我用geogebra画了一个y=x^2的抛物线,然后导出tikz,粘贴到网页里,显示的还是不正确,在x<0处的图变成y=-x^2的图了,还有坐标轴的x,y标的地方也和geogebra里不一样。

701

Threads

110K

Posts

910K

Credits

Credits
94177
QQ

Show all posts

kuing Posted at 2021-10-2 18:06:44
回复 24# abababa
那个https是不是就变成安全链接了,也没有这个问题了。
有可能,我看 22# hbghlyj 的论坛上的 tikzjax 也是用
  1. <script src="https://tikzjax.com/v1/tikzjax.js" type="text/javascript"></script>
Copy the Code
来引入的。而我在这里这样弄就不行,估计就是因为我这里是 http 没 s。

geogebra 导出的代码你发来瞧瞧?

418

Threads

1628

Posts

110K

Credits

Credits
11891

Show all posts

 Author| abababa Posted at 2021-10-2 18:42:59
回复 25# kuing
  1. <script type="text/tikz">
  2.   \begin{tikzpicture}
  3.     \draw (0,0) circle (1in);
  4.        
  5.         \draw[->,color=black] (-2.52,0) -- (2.24,0);
  6. \foreach \x in {-2,2}
  7. \draw[shift={(\x,0)},color=black] (0pt,2pt) -- (0pt,-2pt) node[below] {\footnotesize $\x$};
  8. \draw[->,color=black] (0,-1.02) -- (0,3.12);
  9. \foreach \y in {,2}
  10. \draw[shift={(0,\y)},color=black] (2pt,0pt) -- (-2pt,0pt) node[left] {\footnotesize $\y$};
  11. \clip(-2.52,-1.02) rectangle (2.24,3.12);
  12. \draw [samples=50,rotate around={0:(0,0)},xshift=0cm,yshift=0cm] plot (\x,\x^2/2/0.5);
  13.   \end{tikzpicture}
  14. </script>
Copy the Code
如上代码,先是画了一个圆,然后下边的那些,是从Geogebra里导出tikz后复制的。

那如果不引用js文件呢,而是编辑那个论坛的模板,直接加一段script上去,把js文件里的内容全复制粘贴过去,不就是变成本域名下面了吗,这样就可以用了吧。不过如果像上面那样抛物线的效果不太好,用着还是不行。

手机版Mobile version|Leisure Math Forum

2025-4-20 22:20 GMT+8

Powered by Discuz!

× Quick Reply To Top Return to the list