- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想将所有在LaTeX方程式中出现的所有字母'n'替换为字母'N'。可以假定文档中的LaTeX方程的格式为$ ... $
也将接受perl或ubuntu或Windows上随时可用的任何其他语言/工具/应用程序的解决方案。
最佳答案
在emacs中,我们可以利用auctex的亮点来替换所有数学环境中的字符串。 (我知道这与问题有所出入。但是,也许这更有用。)在运行下面的代码后,按M-x latex-replace-in-math
并输入源正则表达式(例如\<n\>
),然后输入替换字符串(例如N
)。如果在变量名之间保留空格,则\<n\>
比n
更好,否则\sin
也会被\siN
取代,这可能不是您想要的。但是,下面的代码也不是什么大问题,因为它可以查询替换,您可以按n跳过不需要的替换。
请注意,如果要替换区分大小写的代码,则应停用选项→忽略搜索的大小写。
用户cgogolin的回答给了我一个新的主意。
我新的首选解决方案是:
(fset 'latex-replace-in-math
`(lambda (regexp to-string &optional delimited start end backward &rest _ignore)
"Like `query-replace-regexp' but only replaces in LaTeX-math environments."
,(interactive-form 'query-replace-regexp)
(let ((replace-re-search-function (lambda (regexp bound noerror)
(catch :found
(while (let ((ret (re-search-forward regexp bound noerror)))
(when (save-match-data (texmathp)) (throw :found ret))
ret))))))
(query-replace-regexp regexp to-string delimited start end backward))))
(defun latex-in-math (pos)
"Check whether pos is in math environment."
(let ((face (plist-get (text-properties-at pos) 'face)))
(or (eq face 'font-latex-math-face)
(and (listp face)
(memq 'font-latex-math-face face)))))
(defun latex-next-math-change (&optional bound stay)
"Starting at point search for next beginning of math environment.
Place point there if STAY is nil and return point.
Else leave point where it was and return nil."
(let ((b (point))
(inMathB (latex-in-math (point)))
inMath)
(catch :found
(while (setq b (next-single-property-change b 'face nil bound))
(setq inMath (latex-in-math b))
(when (or (and inMathB (null inMath))
(and (null inMathB) inMath))
(unless stay (goto-char b))
(throw :found b))))))
(defun latex-replace-in-math (src tgt &optional bound)
"In all math-environments replace SRC with TGT."
(interactive (list (read-regexp "Source regular expression:")
(read-string "Target string:")))
(save-excursion
(font-lock-fontify-region (point) (point-max)))
(catch 'quit
(let (b e repl)
(when (latex-in-math (point))
(error "point-min should not be in math environment"))
(while (setq b (latex-next-math-change bound))
(goto-char b)
(while (search-forward-regexp src (latex-next-math-change bound t) 'noErr)
(unless (eq repl 'all)
(let ((ol (make-overlay (match-beginning 0) (match-end 0))))
(overlay-put ol 'face 'query-replace)
(while (null
(eval (cdr (assq (read-char "y: replace, n: don't, q: quit, !: replace all" '(?y ?n ?q ?!))
'((?y . (setq repl t))
(?n . (setq repl 'no))
(?q . (setq repl 'quit))
(?! . (setq repl 'all))))))))
(delete-overlay ol))
(when (eq repl 'quit)
(throw 'quit nil)))
(unless (eq repl 'no)
(replace-match tgt)))))))
关于regex - Emacs正则表达式:替换 latex 方程中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19845598/
在我的一门类(class)中,我接到了一项家庭作业,要求我们在谷歌上搜索 Metapost 语言并找到该语言中方程求解功能的用途。 在浏览了 Metapost 用户手册的前十多页后,我发现只有一个原因
你能帮我在 this page 上的谷歌图表上隐藏趋势线上的工具提示(方程)吗? ? 谢谢 以下是我正在使用的图表选项: var options = { title: 'Weight
我正在尝试将 TeXWorks 编辑器配置为使用与 TeXMaker 相同的语法着色。但是,TexWorks 使用正则表达式来指定应该着色的内容。不幸的是,它没有数学的默认设置。 我想匹配 $ 之间的
我刚开始玩 GHCi。我看到列表生成器基本上解决了给定集合中的方程式: Prelude> [x | x [0.01,0.2..2.0] [1.0e-2,0.2,0.39,0.580000000000
是否有可以使用的图形表达式生成器或方程编辑器的 Java 开源实现? 最好有在线演示,或者至少有屏幕截图。 最佳答案 取决于方程的类型。 如果您正在考虑简单的多项式,您可以尝试 Java Expres
我有四个文本输入字段,在用户输入相关值后,我必须进行 JavaScript 计算以将它们全部相加 我使用: var total = Number(value1) + Number(value2) +
为什么这段代码有两个不同的输出(GCC 4.5.1)(我已经评论了重要的行): int main() { bool a = 1; bool b = 1; bool c = 1;
如果标题含糊不清,我深表歉意,但我不知道如何为我的情况命名。我正在为使用 GPS 的 iPhone 编写一个应用程序。在 didUpdateLocations: 方法中,我针对任意大小的变量测试位置的
我正在尝试计算表中学生的 BMI,四舍五入到三位数: +-------+--------+--------+ | fname | weight | height | +-------+--------
我们可以使用 deSolve R 中的常微分方程 (ODE) 包,但是,我找不到解决两个嵌套 ODE 方程的方法,假设` b'(t) = beta - k*b(t); a'(t) = alpha -b
我有一个 boolean 方程,想简化它。帮忙解决一下。 bool needLoad = isA || (!isA && !isB); 之后我使用 if (needLoad){ if (
我很感兴趣,建模工具(在我的例子中是 OpenModelica 和 Dymola - 建模语言 Modelica)如何求解方程组(线性和/或非线性)。这些工具专为求解微分代数方程而设计。我知道一点将微
Julia:当我有绘图时如何找到最佳拟合曲线/方程?我有一个用 map 绘制的图,但我需要找到一个适合它的二次方程? 最佳答案 正如评论中所说,有一个情节在这里并不真正相关;只有数据本身是。您可以使用
我一直在尝试将像 100, 45 这样的输入放入文本框中,并通过单击按钮通过我的方程式运行它,但我不知道该怎么做。单击按钮后,它应该发布答案作为警报。请帮忙。谢谢。 function Rad(a, b
Julia:当我有绘图时如何找到最佳拟合曲线/方程?我有一个用 map 绘制的图,但我需要找到一个适合它的二次方程? 最佳答案 正如评论中所说,有一个情节在这里并不真正相关;只有数据本身是。您可以使用
有人可以向我解释为什么下面的代码会打印字符“u”吗? int p = 9; int q = 5; int r = p - q; double x = p; double y = q; St
我想以某种方式缩短我的 ODE 方程,因为否则代码会变得困惑。我尝试过使用辅助函数,例如这里的 fe() ,但这不起作用。下面的代码只是一个例子,欢迎任何建议!谢谢! # Import the req
我无法创建正确的文件。程序中的方程不会迭代,它只会根据请求的数量写入相同的总和。 for 循环。 #include #include #include #define LEN 256 int m
我有 2 个指向一些 Point 结构的指针。我想计算两点之间的距离(我不需要计算它的根)所以我有这个: w[0]=X[l]; w[1]=X[l+1]; d=m(w[0]->x
我有一个具有 CSV 上传功能的网站,它将 CSV 中的所有内容推送到临时表,然后分成较小的表。 目前,我有一个显示页面,在 HTML 表格中显示所有这些信息。然而,有些部分需要有公式化的表示。换句话
我是一名优秀的程序员,十分优秀!