草庐IT

关于打公式的一些事

悠然 2023-03-28 原文

作为写作时需要插入很多公式的专业来说,快速编辑、排版、添加公式是非常重要的工作,曾经自己都是手动添加公式,没有用什么专业软件,踩了一些坑,所以这里总结一下,希望能够帮助到someone。

Q1:word中怎么打公式?

1. 使用word中自带公式工具

点击插入->公式,插入新公式

每次这样点击很麻烦,所以可以使用快捷键'Alt' + '='

也可以选中文本,按'Alt' + '='转换为Word中的公式:

2.使用专业软件mathtype/Axmath

mathtype:MathType中文官网-MathType数学公式编辑器下载,MathType教程

  价格较贵,约¥338/年

Axmath:AxMath/AxGlyph (amyxun.com)

  国产软件,¥36一个激活码(请注意现在激活码绑定一个设备,目前似乎还不能多设备使用,换了设备,激活码就不能用了)

两个软件在使用上大体差不多,但个人觉得Axmath功能更加人性化一点,体现在有公式库、输入Latex代码时有提示等方面。

以Axmath为例,安装好软件后,在Word中会出现其工具栏,添加第一个公式:

快捷键为:

  行内公式:Ctrl+Shfit+Q

  行间公式:Alt+Q

  右编号公式:Alt+Shift+Q

Q2:如何提高打公式的速度?公式识别/使用Latex语言

1.使用Latex语言打公式

在Word自带公式/mathtype/Axmath中均可使用Latex语言打公式,简单来说,Latex语言就是使用代码来表示一切公式符号

这里介绍一些常用的Latex语言,如果想要查全面的Latex语法,可以参见此博文:

LaTeX公式手册(全网最全) - 樱花赞 - 博客园 (cnblogs.com)

  • 举个栗子——用Axmath打一个公式

Alt+q新建一个公式,然后使用Latex与提示符,就是这么快且优雅~

  • 再来几个常用的栗子

1. 各种希腊字母(只要知道读音基本就可以打了):

\alpha \beta \delta \varepsilon \phi \eta \lambda \mu \pi \theta \rho \sigma \psi \omega

至于它们的大写,一般首字母大写就好啦

\varDelta \varPhi \varPi \varTheta \varSigma \varOmega \varPsi

如果不加前面的var,例如\Delta,一般就会变为直体

2. 上标、下标

a^2,a_b,a_{b}^{2},\dot{A},\ddot{A},\bar{A}

3. 根号

\sqrt[a]{b},\sqrt{2}
  • 插入公式与公式转换

latex 的数学公式有两种:行中公式和独立公式(行间公式)。行中公式放在文中与其它文字混编,独立公式单独成行,$为定界符,就是告诉软件哪部分是公式。这里只有在公式转换的时候会用到,一般在word里用的不多。

行中公式可以用如下方法表示:

$ 数学公式 $

独立公式可以用如下方法表示

$$ 数学公式 $$

公式转换:在Word中用定界符输入公式,可以转换为Axmath格式,使用快捷键Alt+\例如:

2.使用公式识别

这里推荐一个比较好用的Mathpix软件,使用方法很简单,用Ctrl+Alt+M截图,Mathpix就将公式转换为Latex格式,并复制到剪贴板

使用需要用教育邮箱注册[每月100次识别](发邮件大概会延迟一天,不知为何) Mathpix Snip

Q3:公式编号

写文章时,常需要给每章的公式编号,最好是能自动更新编号,这样删改比较方便

1.使用Axmath或Mathtype

Axmath->插入右编号格式,或(Alt+Shift+Q)

编号格式可能不是我们想要的,需要到编号格式中修改

需要手动划分节,插入分隔标记:

2.使用word

我曾使用的一种方法是建立一个无边框表格,公式放中间,右边插入题注,题注的好处是可以通过更新域来更新编号

插入题注:引用->插入题注->新建标签->(1-

更新题注:选中内容->右键->更新域

还有一种方法不能自动编号,但可以让编号自动居右,即在公式右侧输入#,其后面的内容会居右,如:

Q4:其他问题

公式变形怎么办?

使用第三方工具插入公式,有时会发现公式产生变形,这是一个word的bug,此时可以Ctrl+A选择全部,然后重建公式:

word中自动更新域:Ctrl+shift+F9

有关关于打公式的一些事的更多相关文章

  1. ruby-on-rails - 如何生成传递一些自定义参数的 `link_to` URL? - 2

    我正在使用RubyonRails3.0.9,我想生成一个传递一些自定义参数的link_toURL。也就是说,有一个articles_path(www.my_web_site_name.com/articles)我想生成如下内容:link_to'Samplelinktitle',...#HereIshouldimplementthecode#=>'http://www.my_web_site_name.com/articles?param1=value1¶m2=value2&...我如何编写link_to语句“alàRubyonRailsWay”以实现该目的?如果我想通过传递一些

  2. ruby - 找一些句子 - 2

    我想找到在某些文本中找到一些(让它是两个)句子的好方法。什么会更好-使用正则表达式或拆分方法?你的想法?应JeremyStein的要求-有一些例子示例:输入:ThefirstthingtodoistocreatetheCommentmodel.We’llcreatethisinthenormalway,butwithonesmalldifference.IfwewerejustcreatingcommentsforanArticlewe’dhaveanintegerfieldcalledarticle_idinthemodeltostoretheforeignkey,butinthis

  3. ruby-on-rails - 关于 Ruby 的一般问题 - 2

    我在我的rails应用程序中安装了来自github.com的acts_as_versioned插件,但有一段代码我不完全理解,我希望有人能帮我解决这个问题class_eval我知道block内的方法(或任何它是什么)被定义为类内的实例方法,但我在插件的任何地方都找不到定义为常量的CLASS_METHODS,而且我也不确定是什么here,并且有问题的代码从lib/acts_as_versioned.rb的第199行开始。如果有人愿意告诉我这里的内幕,我将不胜感激。谢谢-C 最佳答案 这是一个异端。http://en.wikipedia

  4. ruby block 并从 block 中返回一些东西 - 2

    我正在使用ruby​​1.8.7。p=lambda{return10;}deflab(block)puts'before'putsblock.callputs'after'endlabp以上代码输出为before10after我将相同的代码重构到这里deflab(&block)puts'before'putsblock.callputs'after'endlab{return10;}现在我收到LocalJumpError:意外返回。对我来说,这两个代码都在做同样的事情。是的,在第一种情况下我传递了一个过程,在第二种情况下我传递了一个block。但是&block将该block转换为pro

  5. ruby - 我怎样才能更好地了解/了解更多关于 Ruby 的知识? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我最近开始学习Ruby,这是我的第一门编程语言。我对语法感到满意,并且我已经完成了许多只教授相同基础知识的教程。我已经写了一些小程序(包括我自己的数组排序方法,在有人告诉我谷歌“冒泡排序”之前我认为它非常聪明),但我觉得我需要尝试更大更难的东西来理解更多关于Ruby.关于如何执行此操作的任何想法?

  6. ruby - 关于 Ruby 中 Dir[] 和 File.join() 的混淆 - 2

    我在Ruby中遇到了一个关于Dir[]和File.join()的简单程序,blobs_dir='/path/to/dir'Dir[File.join(blobs_dir,"**","*")].eachdo|file|FileUtils.rm_rf(file)ifFile.symlink?(file)我有两个困惑:首先,File.join(@blobs_dir,"**","*")中的第二个和第三个参数是什么意思?其次,Dir[]在Ruby中有什么用?我只知道它等价于Dir.glob(),但是,我对Dir.glob()确实不是很清楚。 最佳答案

  7. ruby - 如果键存在,向散列值添加一些东西? - 2

    我在Ruby中有一个哈希:hash=Hash.new里面有一些键值对,比如说:hash[1]="One"hash[2]="Two"如果散列包含键2,那么我想将“Bananas”添加到它的值中。如果散列没有键2,我想创建一个新的键值对2=>"Bananas"。我知道我可以通过首先使用has_key?检查散列是否具有key2来做到这一点,然后采取相应的行动。但这需要一个if语句和不止一行。那么是否有一种简单、优雅的单行代码可以实现这一目标? 最佳答案 这个有效:hash[2]=(hash[2]||'')+'Bananas'如果您希望所有

  8. elasticsearch源码关于TransportSearchAction【阶段三】 - 2

    1.回顾.TransportServicepublicclassTransportServiceextendsAbstractLifecycleComponentTransportService:方法:1publicfinalTextendsTransportResponse>voidsendRequest(finalTransport.Connectionconnection,finalStringaction,finalTransportRequestrequest,finalTransportRequestOptionsoptions,TransportResponseHandlerT>

  9. 关于Qt程序打包后运行库依赖的常见问题分析及解决方法 - 2

    目录一.大致如下常见问题:(1)找不到程序所依赖的Qt库version`Qt_5'notfound(requiredby(2)CouldnotLoadtheQtplatformplugin"xcb"in""eventhoughitwasfound(3)打包到在不同的linux系统下,或者打包到高版本的相同系统下,运行程序时,直接提示段错误即segmentationfault,或者Illegalinstruction(coredumped)非法指令(4)ldd应用程序或者库,查看运行所依赖的库时,直接报段错误二.问题逐个分析,得出解决方法:(1)找不到程序所依赖的Qt库version`Qt_5'

  10. ruby - 使用 gmail gem 跟踪一些电子邮件 - 2

    我正在使用gmailgem发送电子邮件,我需要跟踪这些电子邮件。我该怎么做?我正在尝试搜索带有message_id的电子邮件,但它会从我的收件箱中提取所有电子邮件,而我只想要特定电子邮件的回复。这是我的实际代码:*使用message_id保存电子邮件*mail=gmail.deliver(email)Email.create(:message_id=>mail.message_id,:from=>user.email,:to=>annotation.to,:body=>annotation.content,:title=>annotation.title,:annotation=>an

随机推荐