【LaTeX】有机物化学式的写法
title:LaTeX有机物化学式的写法
date:2020/05/21 周四 14:08:56.70
tags:LaTeX,Chemfig
categories:LaTeX
author:Tamkery
用LaTeX写化学结构式只是为了满足高中是的好奇:用电脑怎么写化学结构式?
曾经得到的答案是粘贴图片呀。从哪写这公式的地方截取一张图片,然后插入word中。也有用公式编辑器。可这些都不是心中理想的答案。不是说这些方案不好,只是这不符合自己的预期。结果就是从高中一直拖到最近才把这个坑给填上:LaTeX的Chemfig宏包
零、环境配置:LaTeX化学文档基础
这里不会讲如何安装LaTeX环境(可以自行用浏览器查到相关的内容),只是分享几个LaTeX写化学结构式的小Demo和注意事项。(也就需要一点点的LaTeX相关概念,但都是可以通过浏览器查到的)
\documentclass{book}
\usepackage[UTF8]{ctex} %中文字符环境
\usepackage{chemfig}% 化学环境
\begin{document}
\LaTeX \ 苯环 \\
\chemfig{*6(-=-=-=) }
\end{document}
通过以上代码,如果成功输入下图内容,那么恭喜你,你已经跨出使用LaTeX书写化学结构的第一步;如果出现编译问题,自己行浏览器解决问题,直到输出下图内容为止(或者直接放弃,去他的LaTeX)
你的第一个LaTeX化学结构简式
贰、几个有意思的Demo
Demo1. 这个乙烯是怎么写的?长得也太像四旋翼无人机了
image.pngCH2=CH2
a、化学式代码写在{ }里
首先,LaTeX写化学式是调用了chemfig宏包,所以化学结构式是写在\chemfig{ }这个命令的大括号里面。比如你已经写过的苯环就是:\chemfig{*6(-=-=-=)}.
b、接下来是关于元素之间的连接表示方式:
image.png其实不写太复杂的结构式,记住前三种就足够了(烷烯炔经常用到),其他需要时候再查此表。
c、了解了元素之间的连接后,主链已经可以写了,那么如何写像长出来的角一样的支链呢?
image.png四面八方与0~7,需要写四面的时候,只要用到0,2,4,6这个几个偶数就能定出四个正向。需要写倾斜的角的时候则是1,3,5,7这个四个奇数
\chemfig{(-[0]{0:E})(-[2]{2:N})(-[4]{4:W})(-[6]){6:S} }
image.png
因为乙烯的四个支链都是斜的角(即用到的是奇数),所以很顺利地知道乙烯的代码如下:
\chemfig{C(-[3])(-[5])=C(-[1])(-[7])}
image.png
到这里,这一个demo就结束了。你知道了化学式命令,化学元素之间的连接和角度的书写。这些内容接下来的Demo依旧会继续用得到,请牢记吧。
Demo2. 指出容易犯的错误时,请用删除线
image.png使用ulem宏包,使用\sout{ }即可实现删除线的效果。
\usepackage{ulem}% 删除线
--省略其他代码--
\sout{这是删除线效果}
Demo3. 啊,支链怎么焊接在环上的呀?
image.png\chemfig{*6((-[5]6)-(-[6]1)=(-[7]2)-(-[1]3)=(-[2]4)-(-[3]5)=) }
image.png
\chemfig{*6((-[5]6)-(-[6]1)=(-[7]2)-(-[1]3)=(-[2]4)-(-[3]5)=) }
这串代码和上面这个像乌龟一样的图示已经告诉你支链焊接在环上的位置了。但规律好像一点也不简单啊。确实这样,虽然这是有规律的,但去记忆这规律太麻烦了。所以喜欢偷懒的我只会去记忆如何焊接在右上角的位置:-=-=-=这六个编码的中间,即-=-后面(这不是一二一,其实是减号等号减号),然后用(-[1] )的角度。
苯酚: \chemfig{*6(-=-(-[1]OH)=-=)} \\
如果还记不住,多练习苯酚的代码就好了。苯酚是这类环节的代表物呀。
Demo4. 别靠太近,\hspace{ }让出间距
image.png这两个甲醛怎么不一样啊?还是第二个好看一些,上面那个太挤了。同样是甲醛,区别怎么这么大呢?一起看看源码是什么导致了他们的不同:
甲醛:\chemfig{CH_3 -C(-[0]H)(=[2]O)(-[4]) }\\ %第一个甲醛(假醛,只是不好看,但也还是甲醛的)
甲醛:\chemfig{CH_3 \hspace{0.5cm}-C(-[0]H)(=[2]O)(-[4]) }\\ %第二个甲醛
可以看到第二个甲醛多了\hspace{ }命令。 在使用下标命令【_】下划线后,连接其他元素就会出现拥挤的情况,这时候通过\hspace向后缩进,给下标数字留出位置,就可以避免连接符号和下标数字挤在一起的情况了。(美观)
附录
本次案例的完整源码
\documentclass{book}
\usepackage[UTF8]{ctex}
\usepackage{chemfig}
\usepackage{ }
\begin{document}
Hello, \LaTeX \ 写的苯环 \\
\chemfig{*6(-=-=-=) } \\
\newline
\par
\chemfig{(-[0]{0:E})(-[2]{2:N})(-[4]{4:W})(-[6]){6:S} } \\
\newline
\chemfig{C(-[3]3)(-[5]5)=C(-[1]1)(-[7]7)} \\
\newline \par
\sout{这是删除线效果} \\
\newline \par
\chemfig{*6((-[5]6)-(-[6]1)=(-[7]2)-(-[1]3)=(-[2]4)-(-[3]5)=) } \\
\par
苯酚: \chemfig{*6(-=-(-[1]OH)=-=)} \\
\newline
甲醛:\chemfig{CH_3 -C(-[0]H)(=[2]O)(-[4]) }\\
\newline
甲醛:\chemfig{CH_3 \hspace{0.5cm}-C(-[0]H)(=[2]O)(-[4]) }\\
\end{document}