小插曲 推出 LaTeX高效写作系列 Word写作不能不说的秘密 专辑得感谢我的女神!最近女神要发表论文了,为论文里面的排版和作图在伤脑经。她的老板也是个完美主义者,昨晚得知她老板要求在word手稿里面将表格里的数字小数点对齐,符合APA表格标准。当然了,要不说是女神呢,只负责貌美如花,哪知道小数点对齐的这种歪门邪道的技巧。作为一枚也与程序员,得知此事第一反应当然是窃喜咯:立功的机会又来啦!一个程序员最开心的就是女神有这样那样的计算机问题: 电脑又坏了 开机蓝屏啦 这个软件咋破解 系统好像中毒了 毕业论文怎么排版 这个文献下不了 这个电子书在哪能找到 ......各位直男癌,这就是机会!机会!机会!在这个互联网+信息时代,掌握点计算机和编程技能,就连追女神也能更胜一筹。还等什么,赶紧往下看跟九天学者好好学学!

用过 \LaTeX{} 的人都知道,其排版之方便,效果之美观会让你爱不释手。没用过也没关系,看了作者推出的 LaTeX高效写作系列 之后你就会喜欢上它的。关于 \LaTeX{} 的安装和入门知识,网上有很多,也可以参考我的 个人博客 下面的 \LaTeX{} 分类。Latex唯一有点繁琐的就是其表格制作,尤其对于刚入门的 \LaTeX{} 用户。当然了当你用他完整的写一篇论文之后,熟练一点就不觉得繁琐了,反而还挺容易。 经过作者多年的摸索, \LaTeX{} 真的是写学术论文最好的工具没有之一 。我的期刊论文(SCI期刊都有自己的LaTeX 模板 )和博士毕业论文都是用LaTeX写的,在Figure、Table和Reference三个环节(写过论文的人都知道这三个痛点)的格式上基本上是零投入时间。

如果你还没有安装 \LaTeX{} ,可以在 overleaf 在线编译 \LaTeX{} 查看效果 。别怕,向下面这段代码除了表格的数字内容,其他部分都是编辑器自动补全的,只需要你键入 \table 就会自动提示,然后按回车键就会出来这个代码框架,你需要专注的只有你的内容。

% 第一个简单表格
\begin{table}[]
    \centering
    \begin{tabular}{cccc}
    \hline
     1st col    & 2nd col & 3rd col &4th col \\ \hline
      111   & 222 &333 &444 \\
      555 &666 &777 &888 \\
      \hline
    \end{tabular}
    \caption{Caption}
    \label{tab:my_label}
\end{table}
关键词table, tabular 一般在\LaTeX{}编辑器(比如在线的overleaf,Mac下的TexStudio)或者在vsCode里面安装\LaTeX{}插件都会自动补全的。
基本对齐格式tabular后面的花括号里面跟对齐设置参数,左右中分别用字母l,r,c表示,个数与表格总列数相同。除此简单设置,也有很多高级设置,比如设置表格每列的宽度和对齐方式(e.g. 小数点对齐、占位数等)。
列分隔符:latex表格分列用&标记,即两列之间用&隔开。
行分隔符:换行用两个斜杠\\表示。
横线:用\hline表示,如果横线位于某一行之上,就在某一行开始之前键入\hline,反之在某行结尾后。
竖线:聪明的你肯定猜到了,对的,就是\vline,与横线相似的用法,想在那个单元格显示竖线,就在那里加入\vline即可。

数字小数点对齐

小数点对齐的方法也挺多,我这里采用的一个就是引入dcolumn宏包(别问我为什么知道,世间本无路,走的多了就有了路,我只是在Google多搜了几把。你看了我的文章你也会知道的),这个需要在\begin{document}之前加入\usepackage{dcolumn}。为了方便后面代码重用,紧接其后再定义一个\newcolumntype{d}[1]{D{.}{.}{#1}}类型。

% 第二个表格:小数点对齐
\begin{table}[]
    \centering
    \begin{tabular}{d{7.4}d{4.3}d{4.3}d{4.2}}
    \hline
     \multicolumn{2}{l}{1st and 2nd cols} & \multicolumn{2}{r}{3st and 4nd cols} \\ \hline 
      111.345  & 8222.23  &333.567 &4.0 \\
      555.33 &666.333  &777.333 &888.33 \\
      \hline
    \end{tabular}
    \caption{Caption}
    \label{tab:my_label}
\end{table}
列显示格式的库包dcolumn,定义列样式宏\newcolumntype{d}[1]{D{.}{.}{#1}}
  • 用定义的宏d(花括号里面的数字格式为小数点前的字符个数.小数点之后的字符个数)代替简单表格中的l,r,c,在设置小数点对齐的同时也设置了列的宽度,以字符为单位。比如d{3.4}表示小数点之前3个字符位,跟一个小数点,再跟4个字符位,总共站位8个字符,也就是这个列宽度为8.
  • \LaTeX{}里面的空格 数学公式里不直接识别空格,需要在空格前面加一个转义斜杠\. 多行表头&文字居中:用\multicolumn{多少列}{对齐方式}{表头文字},这个作用其实就是表示有多少列(e.g. 2)合并,采用什么对齐方式(e.g. l,r,c) ,最后一个花括号里面键入你要写的单元格内容。比如下图所示的典型的三线格表格,表头文字我设置为第一个居左,第二个居右。当然了,一般的学术论文里面都是居中扩折统一居左或者统一居右。

    制作表格工具

    这里推荐一个在线制作表格的工具:tablesgenerator,交互式操作,然后可以生成多种格式的表格代码,比如\LaTeX{}、Markdown、HTML等格式。可以交互的操作有:

  • 添加、删除行和列
  • 单元格合并
  • 读取csv数据直接成表
  • \LaTeX{}表格的繁琐支持在于填写里面的内容,因为是纯文本的,有时候一眼花就忘记敲一个&或者\\等,会导致编译错误。借助第三方工具,不仅可以避免这样的麻烦,比如:

    带数学公式的表格

    现在知道\LaTeX{}的好处了吧,公式越多越happy,最应该用它写作的就应该是理工科scientists and students. word 2007~2016版本自带的那公式用起来麻烦,还不好看。2016之前的word版本还是支持哪个经典的Equation3.0的,但是2016和365都不支持了。要是用mathtype(新版mathtype推出的只有订阅版,就跟office365一样,不掏钱还真用不了。作者买了一年的订阅,学生价35美元,第一次也是最后一次),费用高不说,还得调格式,够你麻烦的。

    如果此文对您有启发,感谢您支持原创: 有钱的动手打个赏,没钱的动手点个赞
    您的鼓励就是我原创的动力。个人水平有限,若有问题,可在下方留言讨论。

    如何在页面展示数学公式之Latex语法
    最近在做markdown 算法文章分享,算法肯定会涉及到数学复杂度,比如: O(log_nX) 等数学公式的展示,但是如果写成这样子lognX,估计很难准确表达,因此上网搜索了一下数学表达式在前端页面如何展示的相关技术。
    Markdown (CSDN) MD编辑器(四)- 漂亮表格(表格背景色、跨行、跨列、多行)
    Markdown (CSDN) MD编辑器(四)- 漂亮表格(表格背景色、跨行、跨列、多行)
    LaTeX:中文作业排版的编辑技巧
    一般情况下,如果有 LaTeX 的模板,就不用怎么考虑目录的格式,直接用命令 `\tableofcontents` 自动生成就好了。但是有一些作业,想要用 LaTeX 排版,就要考虑老师给的格式,例如要自己重新设定各级标题的格式,对于中文的支持有时候也会带来一些报错。
    MathJax 和 LaTeX 数学公式 支持 MathJax 是一款运行在浏览器中的开源数学符号渲染引擎,使用MathJax可以方便的在浏览器中显示数学公式,不需要使用图片。目前,MathJax可以解析 Latex、MathML 和 ASCIIMathML 的标记语言。MathJax 项目于 2009 年开始,发起人有 American Mathematical Society, Design Science等,还有众多的支持者,个人感觉MathJax会成为今后数学符号渲染引擎中的主流,也许现在已经是了。本文接下来会讲述 MathJax 的基础用法,但不涉及MathJax 的安装及配置。
    C# 如何在PDF中绘制不同风格类型的文本
    通过对控件Spire.PDF的测试,我们可以创建PDF文件并向文档中绘制文本、图片、表格、图形等内容,其中,对于绘制文本这一部分,Spire.PDF提供了三种字体类型来绘制文本,即: Standard fonts TrueType fonts Chinese, Japanese and Korean (CJK) fonts 从以上类中我们可以发现,是可以支持中、日、韩、英等字体类的,这为我们在操作PDF文件上提供了更多可能。
    [-] .\Navicat-Cracker NavicatCrackerDlg.cpp:332 -3All patch solutions are suppressed. Patch abort!HI