<?xml version=”1.0” encoding=”utf-8”?>
- 2025-05-07 10:15:11
不久前写过mathajx版本的问题, 当时的结论是暂时使用2.7.9. 这是mathjax大改前的最后一个版本, 也是网上使用最多的版本, 很多专业网站还在用甚至更低的版本. 这个版本功能全, 支持广, 但主要缺点是大, 慢, 数学公式一多, 就要编译半天. 此外, 在使用paged.js
排版时, 这个版本的mathjax会在页面开始添加一些不可见的标签, 导致页码错乱, 虽然也可以通过脚本自动处理掉, 但多一事不如少一事.
最近在编辑大量数学公式时, 实在忍受不了旧版本mathjax的编译速度了, 就索性看看到底能不能升级到最新版本. 认真考虑了一下我在2.7.9版本中使用到的功能:
- 宏/unicode宏: 简写或用unicode字符代替常规命令, 使得输入尽可能与渲染后类似
- 一些自定义配置: 自动处理一些特殊情况
- svg转成图片: 直接粘贴到微信编辑器或word中
这些功能中只有unicode宏的实现变化较大, 较难解决. 尽管现在有了各种AI大模型, 回答问题更有针对性, 但太细节的问题还是要结合网上搜到的信息才成. 正道是: 遇事不决问AI, AI不决再搜索.
]]>- 2025-04-28 22:10:37
gnuplot的调色板用起来并不是太方便, 特别是当你你有很多颜色方案要测试的时候. 当然, 新版本的gnuplot已经内置了几个常用的调色板, 而且支持命名调色板, 方便了不少. 但我很早时候就已经自写了一套调色板函数, 调用起来更方便, 所以也就不愿放弃, 重新整理了一下备用.
对那些采样很密的颜色方案, 如果直接使用原始数据的话, 数据量很大, 用起来比较麻烦. 如果我们将颜色方案的三个RGB分量拟合成三个函数, $r(x), g(x), b(x)$, 这样就可以使用set pal func r(gray), g(gray), b(gray)
调用相应的颜色方案了. 为此, 我们需要几个脚本帮我们快速得到拟合函数:
cm-export.bsh
: 将初步整理的颜色方案转换成需要的较标准格式cm-fit.gp
: 借助gnuplot, 根据设定的误差和限制, 将RGB分量拟合成分段函数. 具体分成几段, 脚本可以自行决定. 对于很不光滑的颜色方案, 也可以手动控制一下.
为此, 我也对曾用到的颜色方案进行了总结. 可用的颜色太多了, 网上的相关讨论也太多了, 即便有人汇总过, 也是挂一漏万的, 只列出我参考的几个吧:
- slandarer/MATLAB 绘图配色: 整理的比较全了
- GMT 内置
- M_Map 方案
当然, 里面很多都比较类似, 常用到的其实也不多. 至于在数据上的具体效果, 要测试才知道. 如果做一个类似以前的测试工具就更好了.
至于我常用的连续颜色方案, 总结下来, 也就经典的一些, 目前共44种.
如果除却后面用于地图的一些, 那就只有30种. 基本可用分为几个大类: 灰度, 热, 绿, 蓝红, 彩虹.
对于绘制地图常用的几种, 我在使用gnuplot绘制地图中曾经提及过. 不过, 我现在发现已经有人我那里谈及的数据做成了在线地图, maps-for-free, 而所用的颜色方案却又不完全类似. 所以, 我也花了点时间, 将其颜色方案抠了出来, 虽然不可能精确一样, 但已经够类似了.
