zoukankan      html  css  js  c++  java
  • 论文写作+gnuplot制图

    一:论文写作

    论文写作推荐使用LATEX+TEXStudio+TEXLive

    1.CTeX官方网站:http://www.ctex.org/HomePage ,他类似于python环境

    2.TeXstudio下载地址:http://texstudio.sourceforge.net/ ,他类似于PyCharm,用它编写代码更方便,比CTEX自带的WinEdt编辑更好用,类似于记事本和IDE的关系

    3.TEXLive下载地址:https://www.tug.org/texlive/  ,知道安装网址:https://www.jianshu.com/p/25896cc05cb4 ,他类似于Anacoda,下载他以后,相关的package都可以自动导入,免去自己一个个在网上找包的痛苦,比如写算法时Algorithm包或Algorithm2e包,都可以自动导入,又或者在网上下载的LATEX模板,缺少很多包,也可以直接通过TEXLive导入

    算法模板:

    documentclass[10.5pt]{article}
    
    usepackage{algorithm}  
    usepackage[noend]{algorithmic}
    usepackage{amsmath}  
    usepackage{bm}
    
    enewcommand{algorithmicrequire}{	extbf{Input:}}  % Use Input in the format of Algorithm  
    
    enewcommand{algorithmicensure}{	extbf{Output:}} % Use Output in the format of Algorithm
    
    egin{document}
        {small
            egin{algorithm}
                caption{Algorithm for joint deployment and routing}label{alg:pce}
                egin{algorithmic}[1]
                    REQUIRE network topology G(V$cup$ L,E),$gamma _i=<s_i,t_i,b_i,SC_i> in Gamma$
                    ENSURE $x_{i,l},y_{o,l}$ and the selected path of each $gamma_i$ \
                    $m{Step 1:Calculating  feasible  paths  and  link   bandwidth}$
                    FOR{all $gamma in Gamma$}
                    FOR{all l $in$ L}
                    STATE $cost_{gamma ,l} Leftarrow $the cost of request $gamma$ traverse PM l
                    ENDFOR
                    STATE Select three PMs with low cost as the feasible path PMs
                    STATE $P_gamma Leftarrow$ the set of feasible paths
                    FOR{all path in $P_gamma$}
                    FOR{all e $in$ E}
                    IF{$gamma$ traverse e}
                    STATE $B_e Leftarrow B_e +d_gamma$
                    ENDIF
                    ENDFOR
                    IF{$left {B_e 
    ight } > b_e$}
                    STATE remove path from $P_gamma$
                    ENDIF
                    STATE $B_{path} Leftarrow B_{path} cup left {B_e 
    ight }$
                    ENDFOR
                    STATE P = P $cup P_gamma,$B = B$cup left { B_{path} 
    ight }$
                    ENDFOR
                    $m{Step 2:Sorting  the  link  bandwidth}$
                    FOR{$SC_i in SCs$}
                    STATE $X_i = left { 
    ight }$ //the set of $x_{i,l}$
                    STATE $Gamma_i Leftarrow$ the flow set of traverse $SC_i$
                    FOR{all $gamma in Gamma_i$}
                    FOR{all path $in$ $P_gamma$}
                    STATE $B_i = B_i cup B_{path}$
                    ENDFOR
                    ENDFOR
                    STATE Order $lambda_i$ in non-decreasing degree order and set $X_i leftarrow x_{i,l}$,$P_i leftarrow y_{gamma ,p}$
                    STATE $lambda = lambda cup lambda_i$
                    ENDFOR
                    $m{Step 3:Updating  the  forwarding  table  capacity}$
                    FOR{all v $in$ V}
                    STATE $y_{o,l}=0$
                    IF{the forwarding table capacity of switch v does not satify Eq.(3)}
                    STATE remove $x_{i,l}$ from $X_i$ and $y_{gamma ,p}$ from $P_i$
                    ELSIF{$y_{o,l} == 0$ is not satified Eq.(4)}
                    STATE $y_{o,l}=1$
                    ENDIF
                    STATE $Y = y cup y_{o,l}$
                    ENDFOR
                    $m{Step 4:Calculating  the  number  of  cores  using  CPU  per   PM}$
                    FOR{all l $in$ L}
                    FOR{$SC_i in SCs$}
                    IF{the number of CPU cores of PM l is satisfied Eq.(1)}
                    STATE $R_l Leftarrow R_l - (x_{i,l} 	imes y_{i,l}+y_{o,l} 	imes y(o,l))$
                    ELSE
                    STATE remove $y_{o,l},x_{i,l}$ and $P_i$
                    ENDIF
                    ENDFOR
                    ENDFOR    
                end{algorithmic}
        end{algorithm}}
    end{document}

    效果如下:

     二:论文eps图

    论文中eps图我首先使用gnuplot这个轻量级作图软件制成pdf图,然后通过TEXLive中自带软件把xxx.pdf  -》 xxx.ps -> xxx.eps

    1.gunplot制图

    gunplot下载地址: http://www.gnuplot.info/ 

    绘图时把数据写成.xxx,dat格式,如下

    #LINK N proposed ALG-1 ALG-2
    A 6 1.35146 1.35146 2.61590
    B 12 2.63290 2.63290 4.95446
    C 18 4.19496 4.19496 6.79023
    D 24 5.51183 5.51183 8.20803
    E 30 8.59923 8.59923 12.91023
    F 36 8.59923 8.59923 14.67736
    G 42 9.90530 9.90530 16.56306
    H 48 11.57430 11.57430 20.36260
    I 54 12.88210 12.88210 22.89410
    J 60 14.72120 14.72120 25.10080


    在编写制图代码:

    png格式的图:

    set terminal png font "Microsoft YaHei, 9"
    set output '04biggestLinkLoad.png'
    
    set key left reverse Left spacing 1.2
    
    set xlabel "No. of Requests(x 10^3)"
    set ylabel "Max. Link Load(Gpbs)"
    
    file = "04biggestLinkLoad.dat"
    
    set pointsize 2
    plot file u 2:3 with linespoint pointtype 4 linewidth 2 dashtype 5 t "proposed",
         file u 2:4 with linespoint pointtype 6 linewidth 2 t "ALG-1",
         file u 2:5 with linespoint pointtype 8 linewidth 2 t "ALG-2"

    效果:

    pdf格式的图:

    set terminal png font "Microsoft YaHei, 9"
    set output '04biggestLinkLoad.png'
    
    set key left reverse Left spacing 1.2
    
    set xlabel "No. of Requests(x 10^3)"
    set ylabel "Max. Link Load(Gpbs)"
    
    file = "04biggestLinkLoad.dat"
    
    set pointsize 2
    plot file u 2:3 with linespoint pointtype 4 linewidth 2 dashtype 5 t "proposed",
         file u 2:4 with linespoint pointtype 6 linewidth 2 t "ALG-1",
         file u 2:5 with linespoint pointtype 8 linewidth 2 t "ALG-2"

    效果:

     2.将xxx.pdf文件转换成xxx.eps文件

     在xxxxxx exlive2019inwin32下有两个exe文件,其中pdfops是用于将xxx.pdf文件转为xxx.ps文件,ps2eps可用于xxx.ps文件转化为xxx.eps文件,具体步骤如下:

    2.1找到windos的cmd,进入xxxxxx exlive2019inwin32目录

    cd D:
    cd xxx	exlive2019inwin32

    2.2 运行命令 pdftops xxx.pdf   (生成ps文件)

    2.3 运行命令 ps2eps xxx.ps    (生成eps文件)

     备:visio生成的pdf图有边框,去除的办法

    1. 在visio中,选  设计----大小----适应绘图;此时可发现图片虽被自适应,但虚线到外边框还有白色空白,下面去空白;


    2. 点 文件---选项-----自定义功能(在弹出对话框的左侧)-----勾上开发工具(在右侧)----保存


    3. 在visio的上面工具一栏会发现多了开发工具(developer),点 开发工具------显示shapeSheet-----页-----在打开的选项卡中找到“print properties”,

    将“PageLeftMargin”、“PageRightMargin”、“PageTopMargin”和“PageBottomMargin”均修改为0(上方有类似于excel的编辑的小窗口,下边右上方有关闭按钮),关闭表格。

    4. 再将步骤1操作一次,自适应绘图,发现已去除空白;


    5. 另存为pdf 注意:保存时先选pdf格式,然后点 “选项(option)”-----在弹出的对话框中将“辅助功能文档结构标记”前的勾去掉-----点击“确定”,保存就好了;


    6. 用acrobat 将保存的pdf打开,另存为eps格式;


    7. 再次编译latex查看结果,发现生成的图片分辨率高,且已经没有了外边框。。。


    8. 结束。

  • 相关阅读:
    【linux】——man中文帮助手册安装
    【linux】——centos 分辨率配置
    松本行弘访谈录
    图灵热点之阅读篇——五月图书推荐
    《Linux/Unix 设计思想》的翻译细节讨论
    一本书的推荐序——写在《思考的乐趣》即将上市之际
    带您走进七周七语言的程序世界
    作者为何要创作《网站转换率优化之道》
    Apress水果大餐——移动开发
    “怪诞”的数学天才
  • 原文地址:https://www.cnblogs.com/gejuncheng/p/12288039.html
Copyright © 2011-2022 走看看