简洁的想法

 找回密码
 注册
搜索
查看: 758|回复: 4

Xfig and LaTeX

[复制链接]
发表于 2011-10-19 14:45:32 | 显示全部楼层 |阅读模式
最近写论文,需要画不少示意图,于是我找来了Xfig这 个软件。Xfig的界面看起来似乎很简陋,可是功能却是非常强大的。我常需要画的原子能级示 意图等用这个软件来画非常的便捷。不过一开始我并不知道如何在图片中用LaTeX命令,所以输出的图片并不支持数学符号。今天我查了一下资料发现在 Xfig中用LaTeX命令画图很简单,只要按照一下步骤走就行了。
(1)打开Xfig,画好你的图。
(2)选择大写的T,然后在窗口底部的”Text Flags hidden=off”点击,把”Special Flag”从Normal改成Special,选择确定。
(3)然后在你要写LaTeX命令的地方单击鼠标左键,进图编辑模式,开始写入LaTeX命令,比如$frac{1}{N}$。写完后保存文件。
(4)在文件菜单中选择把文件导出,在导出对话框中选择“Combined PS/LaTeX (both parts)”,然后点击导出。
(5)这样就有三个文件,后缀分别是.fig,.pstex,.pstex_t。第一个是你编辑的源文件,第二个是是导出的图片文件,第三个包含图片文件中的LaTeX命令。
(6)把后两个文件拷贝到你的LaTeX论文所在目录,在LaTeX文件中使用input{}命令把后缀为pstex_t的文件导入你要插入图片的地方即可。
(7)注意!如果你没有用color宏包,那么你需要手动修改pstex_t文件,把所有”color[rgb]{0,0,0}”都删除,否则编译LaTeX文件有可能会不正常。



转自:http://blog.sina.com.cn/s/blog_4df296530100qo8n.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2011-10-19 15:02:52 | 显示全部楼层
有一种方法可以使得Xfig输出中文。
0、中文字体要正确安装。
1、首先要使得xfig能够具有i18n功能,可以在/etc/X11/app-defaults/Xfig的resource配置里使得i18n为ture。
2、参照xfig的文档在启动xfig时使用一定的命令行选项,或者把这些选项加入~/.Xdefaults or~/Xresources。详细内容参照xifg manual的Miscillaneous一节里“Latex和Xifg”的内容。
3、在编辑图形输入文字时选中latex字体。
4、在输出时如果直接输出PDF图形,里面的中文不能显示。但是可以输出为“combine pdf and latex"的形式。然后按照手册里的说明把输出的内容加入到你的文档。

转自: http://bbs.ctex.org/viewthread.php?tid=21913
 楼主| 发表于 2011-10-19 15:04:19 | 显示全部楼层

xfig 中使用latex 公式输出eps 图像的问题

使用 fig2eps 不好,因为生成的dvi 文件中图像大小不对。

一次准备工作,(以后就不需要重复下面几步)
1.
在.bashrc 中加上
alias xfig='xfig -geometry 950x700+50+20 -metric -startgridmode 3 -specialtext -latexfonts -startlatexFont default'
使得以后启动 xfig 时无需带繁琐参数.

2.
建立一个文件夹子
mkdir ~/local
在 local 下建立一个 latex 模板文件
xfig_to_eps.tex
内容如下:
%\documentstyle[aps,preprint,twoside]{revtex}
%\documentstyle[12pt,twoside]{article}
\documentclass[12pt,twoside]{article}
\usepackage{amssymb,amsmath,graphics,epsfig,color}
\pagestyle{empty}

\begin{document}

\begin{figure}
\input{temp.pstex_t}
\end{figure}
\end{document}

3.
建立一个 tmp 文件夹
mkdir ~/tmp

4.
建立一个可执行脚本
xfig2eps
内容如下
cp $1.pstex_t ~/tmp/temp.pstex_t
cp $1.pstex ~/tmp/
cp ~/local/xfig_to_eps.tex ~/tmp/xfig_to_eps.tex
cd ~/tmp/
latex xfig_to_eps
dvips -E -o $1.eps xfig_to_eps.dvi
rm temp.pstex_t
rm $1.pstex
rm xfig_to_eps.aux
rm xfig_to_eps.dvi
rm xfig_to_eps.log
rm xfig_to_eps.tex
cd -
mv ~/tmp/$1.eps ./

5.
把 此脚本放在一个能被搜索的路径里,如 /usr/local/bin/ 下
sudo mv xfig2eps /usr/local/bin
sudo chmod a+x /usr/local/bin/xfig2eps

下面是工作是你以后每次用xfig 绘图和转化所要做的工作

xfig 绘图时,用 两个$ 来表明是latex 公式。

可以输出成 combined latex/ps (both parts)
例如你建立的xfig 文件是 model.fig
则输出得到的两个文件 model.pstex model.pstex_t

在这两个文件所在目录下运行命令
xfig2eps model
则得到 model.eps

讨论:
这样得到的 model.eps 和 fig2eps 命令 (安装transfig带)
生成的 eps 文件相比,bounding box 设置更好,因此
使用本文方法生成的eps 文件插入latex 文档后得到的 dvi 文件
大小合适的图形。


参考 http://www.eg.bucknell.edu/physics/ph329/xfig_latex.html
修改了他的脚本,不然在我机器上无法全自动工作。

转自: http://motioo.blog.163.com/blog/static/117718291200954102742865/
 楼主| 发表于 2011-10-19 15:04:41 | 显示全部楼层

xfig 需要安装的东西

xfig, latex, tex, eps, ps, picture, Schroedinger

fig2dev (或者是 fig2ps) 需要安装,才能 把 fig 文件 输出成 epic 文件, 输出的文件的后缀是 epic

例如 a.epic
需要修改文件名字成 a.epic.tex
这样才能在 latex中引用 \include{a.epic}

fig2ps 能把 fig 文件装成ps 文件,我的理解是文字可以使用latex 命令,如latex公式,但是没有能成功。

原来在声称 fig 文件的时候需要使用特殊参数 -sepcialtext
如使用下面的命令画一个 fermi.fig
xfig -specialtext fermi.fig
画图的输入如下:

然后使用 fig2eps 把fig 文件转成 eps 文件 ( fig2ps 会生成ps文件)
命令如下: fig2eps fermi.fig
生成的 fermi.eps 如下图


想要输出 Schroedinger 中的 o 头上带两个点也可以,但是不要用 $Schr\"odinger$, 要用
Schr\"odinger, 把两个$$ 去掉。

转自: http://hi.baidu.com/motioo/blog/ ... b1471e0ff47751.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2011-10-19 15:06:41 | 显示全部楼层

xfig 绘出的eps 图

使用了 xfig 绘图 model.fig, 其中使用 latex 公式,使用
fig2eps model.fig model.eps 得到的图像文件 model.eps ,
把model.eps 插入 tex 文件中 后生成的dvi文件中该图大小不对,
但是在我的机器上 ubuntu 8.10 由这个dvi 文件转化得到的
pdf 文件中该图显示正常。

但是把 dvi 文件传到IEEE 网站上,在那儿转化得到pdf中 该图没有显示。

没有办法,我想到布使用 eps,而是使用 xfig 把此图输出成 latex picture 文件。
我使用xfig 把model.fig文件输出成 latex picture 文件 model.latex,
然后修改 tex 文件如下来引用这个latex picture
\begin{figure}[!t]
\centering
%\includegraphics[width=3.4in]{model.eps}%
\input{model.latex}
\caption {xxx}
\label{figure:model}
\end{figure}

遇到的第一个问题是 \iut 不是正确的命令, 在latex picture文件model.latex 中有三个 \iut ,
我自作主张,把\iut 改成了 \put, 结果可以正确插入到 tex 文件中编译。

第二个问题
但是在 dvi 上显示大小不对,本来该竖排的文字成了横排,
转成pdf 文件后,该竖排的文字竖排了,但是图大小还是不对。

使用 gedit 修改这个latex picture 文件,把其中 \unitlength 参数修改来调整大小。
大小调整后,文字的大小还要通过修改字体大小来调整。
然后文字放置的我位置也变动了,还要调整部分文字的位置,
才能使得图显示大小合适,文字摆放位置合适。

总之,很是不爽啊。

转自: http://hi.baidu.com/motioo/blog/ ... acddd69d82044a.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|Archiver|简洁的想法

GMT+1, 2021-3-9 01:37

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表