編譯過程用圖表表示
⑴ SCI醫學論文寫作的格式和技巧--Editideas(輯思編譯)
SCI醫學英文寫作的格式和技巧,對於是否能不能論文發表成功起到很大的作用;因此,怎樣寫出高水平的SCI醫學論文,是擺在每個醫務工作者面前的一個重要課題。
要寫好SCI醫學英語論文,總體分兩步走:充分准備和論文結構。
充分准備就是指收集資料,看文獻,從中找出靈感和方向,需比較全面地閱讀本領域文章,總結其觀點,密切關注國際研究動態,有關領域學術動態,對領域外的東西或交叉學科也可以借鑒、從而產生新的觀點,多參加座談會,研討會,和同行探討,從中獲得啟示,找出切入點,完善自己的觀點。
論文結構是重點,醫學英語論文寫作有著自己的一套規則和格式,在文章結構和文字表達上都有其特點,只有嚴格遵循國際標准和相應刊物的規定,才能提高所投稿件的錄用率。
整體規劃論文,有一個方法值得借鑒,即劍橋大學愛席比教授提出的概念圖:先把文章大框寫好,從整體考慮文章結構,分類整理,隨時記錄出現的新想法,採用這個方法,不論正式下筆時是從哪一部分寫起,都能夠做到大局不亂。
醫學英語論文的基本格式包括
Title-論文題目Author(s)-作者姓名Affiliation(s)andaddress(es)-聯系方式Abstract-摘要Keywords-關鍵詞Body-正文Acknowledgement-致謝References-參考文獻Appendix-附錄,可空缺Resume-作者簡介視刊物而定Coveringletter投稿信其中正文為論文的主體部分,包括以下五部分:
Introction-引言/概述,MaterialsandMethods-材料和方法,Results-結果,Discussion-討論,Conclusion-結論/總結。醫學英語論文寫作格式分析,Title-論文題目應該恰當、光鮮、醒目,簡明扼要地概括論文的基本思想,突出新的觀點,有新見解,重點突出,一目瞭然,必須吸引讀者。
由名詞片語或名詞短語構成,也可用陳述句。在必須使用動詞的情況下,一般用分詞或動名詞形式,介詞、冠詞小寫。
國際尺度化組織(ISO/215號文件)規定除各國通用的縮寫詞和特殊符號外,標題內不得使用縮寫詞和特殊符號,10-20個詞。
Author(s)-作者姓名按照歐美國家的習慣,名字(firstname)在前,姓氏(surname/familyname/lastname)在後,逐一寫出各自的姓名,以下幾種寫法都可以。
LuxinYang/YangLuxin/ZHANGhong-jun論文的署名是一個很重要的問題。署名一則是分享成果的榮譽,二則是一種責任。
實驗的實施者和執筆者為第一作者。實驗的設計者(指導者)等(如導師或科研團隊的領隊)可為通訊作者,列在排名的最後一位。
Affiliation(s)andaddress(es)-聯系方式在作者姓名的下方還應註明作者的工作單位,郵政編碼,電子郵件地址或聯系電話等。
Abstract-摘要是對論文內容的簡短陳述,為讀者閱讀、信息檢索提供方便,不宜太詳盡,也不宜太簡短,100~250個英文單詞。
摘要主要有兩大類
說明性摘要只向讀者指出論文的主要議題是什麼,不涉及具體的研究方法和結果。一般適用於綜述性文章,也用於討論、評論性文章,以介紹某學科近期發展動態的論文居多。
資料性摘要多用於專題研究論文和實驗報告型論文,盡量完整和准確地體現原文的具體內容,強調指出研究的目的,材料,方法和結果、結論等四要素。
隨著信息科學和電子出版物的發展,近年來又出現了一種新的摘要形式即結構性摘要。先用短語歸納要點,再用句子加以簡明扼要的說明。
Keywords-關鍵詞
關鍵詞是論文主題的濃縮,3-8個關鍵詞。讀者從中可以判斷論文的主題、研究方向、方法等。是為了滿足文獻標引或檢索工作的需要,可從論文中選出的詞或片語,以名詞或名詞短語居多,如果使用縮略詞,則應為公認和普遍使用的縮略語。
Introction引言
用簡短的文字介紹寫作背景和目的,主要內容包括:介紹相關研究的歷史、現狀、進展,目前研究的熱點和存在的問題,說明自己對已有成果的看法,以往工作的不足之處,以及自己所做研究的創新性或重要價值,意義和前景。
要保持鮮明的層次感和極強的邏輯性,這兩點緊密結合,在符合邏輯性的基礎上建立層層遞進的關系。
在前言的結尾必須明確提出本文研究的范圍:時間尺度,研究區域等,明確提出你所關心的某一特定區域。
引言的篇幅大小,兩三百字左右為宜。
MaterialsandMethods材料與方法
這個部分如果是介紹實驗為主,需要文字配合圖表介紹實驗流程,按實驗步驟寫出實驗過程和方法,實驗所用的材料和其特性、一些工藝條件也需簡單或重點介紹。
還要敘述測量設備和測量方法,包括設備名稱、型號、測試什麼參數、測量量程或范圍等。
方法部分可按實驗對象、實驗設備、實驗材料、實驗記錄、實驗分析方法等來組織行文。
實驗對象一般是人、動物或一些組織等,他們的基本信息要描述明白。
實驗設備,要對儀器型號、生產廠家、實驗過程中的用途等作詳細說明。
實驗材料,不同學科有不同要求。對為什麼要選擇這種材料以及材料選擇的必要性,最好有一定的說明。
實驗過程,清楚描述實驗的整個操作流程,一般要附以實驗流程圖進行說明。
Results結果有人把結果和討論放在一起寫,但是大多數論文都是分開的。這兩種做法取決於文章的類型。
結果要求真實准確,不能偽造和篡改,不要故意隱瞞或遺漏某些重要結果,有迷惑或出現了什麼問題都要說明。
結果部分一般要求提供表和圖。文字,圖,表相對獨立,但避免重復。
建議大家在提供圖時,盡量用最少的圖提供最多的信息,最多不超過8個,圖片格式的要求每個雜志各不相同。
Discussion討論
討論是最難寫的部分,因為這裡面最能夠顯示一個作者研究問題的深度和廣度,突出本研究的創新及重要性。從深度和廣度兩個方面進行論述,深度就是論文對於提出問題的研究達到了什麼樣的程度,廣度指是否能夠從多個角度來分析解釋實驗結果。
要突出自己研究的創新性,實驗的獨特性,並體現出顯著區別於他人的特點,區別無論大和小,有區別就是創新。其他研究中沒有得到的,那麼這個結果就是重點討論的對象,探討它有什麼實際意義,參考價值和使用前景,從深度方面探討。
其次要系統闡述為什麼會有這樣的結果,從廣度的角度論述:從實驗設計角度,從理論原理角度,從分析方法角度,或借鑒別人分析方法等。
Conclusion結論
對全文進行總結,對研究的主要發現和成果及其普遍性進行概括總結,有什麼理論與實踐上的意義,讓讀者對全文的重點有一個深刻的印象,行文要保持簡潔。
在本部分也可提出當前研究的不足之處,本論文尚難以解決的問題,對研究的前景,後續工作和進一步研究進行展望,提出建議。
如果此文章只是某項目的一部分,稍做說明。
Acknowledgement-致謝
致謝主要分為兩部分 :
表明研究的基金來源,寫基金時一般要標注清楚基金號碼(GrantNumber)。
對參與人員(沒有列在作者中的研究人員)和單位表示感謝,如果通過一審和最終接受發表,還要加上對editor和anonymousreviewers的感謝。
References-參考文獻
不同雜志對參考文獻格式要求不一樣,參考文獻和引用一定要規范,格式要統一,人名的拼寫一定不能出現錯誤,一般要求必須引用閱讀過的重要的、近年的文獻。
參考文獻的選擇是一項極為嚴肅的事醫學。它關繫到論文的可信度和作者的聲譽,文獻發表的刊物、年代、卷號、標題、頁碼同樣應核實無誤。
參閱所投刊物的投稿須知中對參考文獻的要求,注錄格式,使論文的文獻列舉和標注方法與所投刊物相一致。
其餘部分
Appendix-附錄,可空缺。Resume/CV-作者簡介,視刊物而定。Coveringletter附信,投稿信,也是必備。
結語論文被SCI收錄,學術水平是基礎,編排格式是條件,投稿途徑是關鍵。
由於篇幅有限,文章的結構,邏輯關系就變得非常重要。就象其他任何出版物一樣,被SCI收錄的期刊也在不停地開發自己的市場,作為國際性的科學刊物,在歐美有很大的影響,這與歷史、語言和經濟發展程度等因素有關。隨著中國和亞洲各國經濟、科學的不斷發展,一些刊物也希望開拓這一巨大的市場,這給中國科技人員帶來了更好的機遇。可以預見中國科技研究的結果將會更多的出現在國際科學刊物上。
Editideas(輯思編譯)--源自美國華盛頓的母語編輯品牌,上千名母語專家為您服務。
Editideas(輯思編譯)為科研學者提供SCI/SSCI/EI論文潤色、學術翻譯、投稿預審、目標期刊選擇和學術推廣等科研服務。
⑵ Xoreax IncrediBuild速度提高
對於使用Xoreax IncrediBuild的性能提升效果,我們可以從下面的圖表中直觀看到。該圖表展示了Visual Studio 2005項目的平均編譯時間,對比了使用和未使用IncrediBuild的情況。從圖中可以看到,通過IncrediBuild,編譯時間平均可以縮減大約90%。
測試是在實際工作環境中進行的,涉及到了分布式編譯,共使用了12台電腦作為Agents,CPU頻率范圍從2.1GHz到3.8GHz。編譯任務從2.1GHz的電腦觸發,所有參與的電腦內存均為1GB。無論項目規模如何,使用IncrediBuild帶來的速度提升是顯著且一致的。
據統計,通過使用IncrediBuild,開發者每天可以節省大約一小時的工作時間,這意味著工作效率得到了顯著提高。這不僅體現在大型項目上,對於任何大小的項目,都能體驗到高效編譯帶來的便利與時間節省。
(2)編譯過程用圖表表示擴展閱讀
IncrediBuild是一款編程開發工具,可加快C/C++ 的編譯和創建速度。能無縫集成到Visual Studio開發環境中,採用Xoreax 的多線程處理技術,不必改變項目文件的代碼。
⑶ Makefile.am 規則和實例詳解
編寫Linux C 程序的時候,自己來寫Makefile著實的讓人很頭疼,如果是簡單的項目自己寫寫也就罷了,但是如果遇到大項目自己寫Makefile,那是要弄死人的,所以最近在研究Autotools工具自動生成Makefile,在用到autotools工具生成Makefile的時候,還是有一部分需要自己來完成的,那就是Makefile.am文件。
項目中寫在源文件里的Makefile.am是一種比我們了解的Makefile更高層次的編譯規則,它可以和編寫的configure.in(了解更多configure.in的規則請閱讀《 configure.ac (configure.in)詳解 》)文件一起通過調用automake命令,來生成Makefile.in文件,然後再調用./configure,將Makefile.in文件自動的生成Makefile文件。所以Makefile.am文件是要自動生成Makefile必不可少的元素,下面鵬博客就來和大家著重的學習下Makefile.am的寫法和規則。
先來說下Makefile.am中常見的文件編譯類型,詳細的編譯類型和全局變數鵬博客會在下面在圖表中列出:
PROGRAMS 表示可執行文件
SOURCES 表示源文件
HEADERS 頭文件。
LIBRARIES 表示庫文件
LTLIBRARIES 這也是表示庫文件,前面的LT表示libtool。
DATA 數據文件,不能執行。
SCRIPTS 腳本文件,這個可以被用於執行。如:example_SCRIPTS,如果用這樣的話,需要我們自己定義安裝目錄下的example目錄,很容易的,往下看。
一、基本寫法
下面就直接引入一個例子進行詳細講解,如下:
AUTOMAKE_OPTIONS = foreign
bin_PROGRAMS = client
client_SOURCES = key.c connect.c client.c main.c session.c hash.c
client_CPPFLAGS = -DCONFIG_DIR=\「$(sysconfdir)\」 -DLIBRARY_DIR=\」$(pkglibdir)\」
client_LDFLAGS = -export-dynamic -lmemcached
noinst_HEADERS = client.h
INCLUDES = -I/usr/local/libmemcached/include/
client_LDADD = $(top_builddir)/sx/libsession.la \
$(top_builddir)/util/libutil.la
上面就是一個Makefile.am示例文件,這個文件是用於生成client可執行應用程序,引用了兩個靜態庫和MC等動態庫的連接。
先來看個圖表一(列出了可執行文件、靜態庫、頭文件和數據文件,四種書寫Makefile.am文件個一般格式。):
對於可執行文件和靜態庫類型,如果只想編譯,不想安裝到系統中,可以用noinst_PROGRAMS代替bin_PROGRAMS,noinst_LIBRARIES代替lib_LIBRARIES。以此類推。
根據這個圖表一來分析下具體內容:
AUTOMAKE_OPTIONS :這個是用來設定automake的選項。automake主要是幫助開發GNU軟體的人員維護軟體套件,一般在執行automake時會檢查目錄下是否存在標准GNU套件中應具備的文件檔案,例如NEWS、AUTHOR、ChangeLog等,設成foreign時,automake會改用一般軟體套件標准來檢查,而gnu是預設設置,該級別下將盡可能地檢查包是否服從GNU標准,gnits是嚴格標准,不推薦。
bin_PROGRAMS :表示要生成的可執行應用程序文件,這里的bin表示可執行文件在安裝時需要被安裝到系統中,如果只是想編譯。不想被安裝到系統中,可以用noinst_PROGRAMS來代替。
那麼整個第一行 bin_PROGRAMS=client 詳細表示什麼意思那,解釋如下:
PROGRAMS知道這是一個可執行文件。
client表示編譯的目標文件。
bin表示目錄文件被安裝到系統的目錄。
如程序和圖片所示,包括頭文件,靜態庫的定義等等都是這種形式,如lib_LIBRARIES=util,表示將util庫安裝到lib目錄下。
繼續解釋文件內容:
client_SOURCES :表示生成可執行應用程序所用的所有源文件源文件,多個就空格隔開,我們注意到client_是由前面的bin_PROGRAMS指定的,如果前面是生成example, 那麼這里也就變成example_SOURCES,其它的規則類似標識也是一樣。
client_CPPFLAGS :這個和我們寫Makefile的時候意思是一樣的,都表示C語言的預處理器參數,這里指定了DCONFIG_DIR,以後在程序中,就可以直接使用CONFIG_DIR,不要把這個和另一個CFLAGS混淆,後者表示編譯器參數。
client_LDFLAGS :表示在連接時所需要的庫文件選項標識。這個也就是對應一些如-l,-shared等選項。
noinst_HEADERS :表示該頭文件只是參加可執行文件的編譯,而不用安裝到安裝目錄下。如果需要安裝到系統中,可以用include_HEADERS來代替。
INCLUDES :表示連接時所需要的頭文件。
client_LDADD :表示連接時所需要的庫文件,這里表示需要兩個庫文件的支持,下面會看到這個庫文件又是怎麼用Makefile.am文件後成的。
如圖表二:
全局變數 ,可能有人注意到文件中的$(top_builddir)等全局變數,其實這個是Makefile.am系統定義的一個基本路徑變數,表示生成目標文件的最上層目錄,如果這個Makefile.am文件變成其它的Makefile.am文件,那麼這個就表示其它的目錄,而不是這個當前目錄。我們還可以使用$(top_srcdir),這個表示工程的最頂層目錄,其實也是第一個Makefile.am的入口目錄,因為Makefile.am文件可以被遞歸性的調用。
如圖表三:(在Makefile.am中盡量使用相對路徑,系統預定義了兩個基本路徑)
$(sysconfdir) :在系統安裝工具的時候,我們經常能遇到配置安裝路徑的命令,如:./configure –prefix=/install/apache 其實在調用這個之後,就定義了一個變數$(prefix), 表示安裝的路徑,如果沒有指定安裝的路徑,會被安裝到默認的路徑,一般都是/usr/local。在定義$(prefix),還有一些預定義好的目錄,其實這一些定義都可以在頂層的Makefile文件中可以看到,如下面一些值:
bindir = $(prefix)/bin。
libdir = $(prefix)/lib。
datadir=$(prefix)/share。
sysconfdir=$(prefix)/etc。
includedir=$(prefix)/include。
這些量還可以用於定義其它目錄,例如我想 將client.h安裝到include/client目錄下 ,這樣寫Makefile.am文件:
clientincludedir=$(includedir)/client
clientinclude_HEADERS=$(top_srcdir)/client/client.h
這就達到了我的目的,相當於定義了一個安裝類型,這種安裝類型是將文件安裝到include/client目錄下。
我們自己也可以 定義新的安裝目錄下的路徑 ,如我在應用中簡單定義的:
devicedir = ${prefix}/device
device_DATA = package
這樣的話,package文件會作為數據文件安裝到device目錄之下,這樣一個可執行文件就定義好了。注意,這也相當於定義了一種安裝類型:devicedir,所以你想怎麼安裝就怎麼安裝,後面的XXXXXdir,dir是固定不變的。
二、配置靜態庫
下面我們來說下編譯靜態庫和編譯動態庫,我們說下靜態庫,下面這個例子比較簡單。直接指定 XXXX_LTLIBRARIES或者XXXX_LIBRARIES就可以了。同樣如果不需要安裝到系統,將XXXX換成noinst就可以。
一般推薦使用libtool庫編譯目標,因為automake包含libtool,這對於跨平台可移植的庫來說,是一個很好的事情。
看例子如下:
noinst_LTLIBRARIES = libutil.la
oinst_HEADERS = inaddr.h util.h compat.h pool.h xhash.h url.h device.h
ibutil_la_SOURCES = access.c config.c datetime.c hex.c inaddr.c log.c device.c pool.c rate.c sha1.c stanza.c str.c xhash.c
ibutil_la_LIBADD = @LDFLAGS@
第一行的noinst_LTLIBRARIES,這里要注意的是LTLIBRARIES,另外還有LIBRARIES,兩個都表示庫文件。前者表示libtool庫,用法上基本是一樣的。如果需要安裝到系統中的話,用lib_LTLIBRARIES。
.la 為libtool自動生成的一些共享庫,vi編輯查看,主要記錄了一些配置信息。可以用如下命令查看*.la文件的格式 $file *.la
.a 為靜態庫,是好多個.o合在一起,用於靜態連接
如果想編譯 .a 文件,那麼上面的配置就改成如下結果:
noinst_LTLIBRARIES = libutil.a
oinst_HEADERS = inaddr.h util.h compat.h pool.h xhash.h url.h device.h
ibutil_a_SOURCES = access.c config.c datetime.c hex.c inaddr.c log.c device.c pool.c rate.c sha1.c stanza.c str.c xhash.c
ibutil_a_LIBADD = @LDFLAGS@
注意:靜態庫編譯連接時需要其它的庫的話,採用XXXX_LIBADD選項,而不是前面的XXXX_LDADD。編譯靜態庫是比較簡單的,因為直接可以指定其類型。
三、配置動態庫
如果想要編譯XXX.so動態庫文件,需要用到_PROGRAMS類型,有一個關於安裝路徑的問題,如果希望將動態庫安裝到lib目錄下,按照前面所說的,只需要寫成lib_PROGRAMS就可以了,lib表示安裝的路徑,但是automake不允許這樣直接定義,所以可以採用下面的辦法,同樣是將動態庫安裝到lib目錄下:
projectlibdir=$(libdir)//新建一個目錄,就是該目錄就是lib目錄
projectlib_PROGRAMS=project.so
project_so_SOURCES=xxx.C
project_so_LDFLAGS=-shared -fpic//GCC編譯動態庫的選項
這個動態庫的編譯寫法是鵬博客網上總結的,希望有要的人自己來驗證下。
四、SUBDIRS功能用法
SUBDIRS 這是一個很重要的詞,我們前面生成了一個目標文件,但是一個大型的工程項目是由許多個可執行文件和庫文件組成,也就是包含多個目錄,每個目錄下都有用於生成該目錄下的目標文件的Makefile.am文件,但頂層目錄是如何調用,才能使下面各個目錄分別生成自己的目標文件呢?就是SUBDIRS關鍵詞的用法了。
看一下我的工程項目,這是頂層的Makefile.am文件
EXTRA_DIST = Doxyfile.in README.win32 README.protocol contrib UPGRADE
devicedir = ${prefix}/device
device_DATA = package
SUBDIRS = etc man
ifUSE_LIBSUBST
SUBDIRS += subst
endif
SUBDIRS += tools io sessions util client dispatch server hash storage sms
SUBDIRS表示在處理目錄之前,要遞歸處理哪些子目錄,要注意處理的順序。比如配置中的client對sessions和utils這兩上目標文件有依賴關系,就在client之前需要處理這兩個目標文件。
EXTRA_DIST :將哪些文件一起打包。
五、打包處理
Automake會自動的打包 ,自動打包的內容如下:
所有程序的源文件。
所有子目錄里的的Makefile.am文件。
Makefile.am中包含的文件。
./configure所要讀取的文件。
EXTRA_DIST所指定的文件。
dist和nodist指定的文件,也可將其中一個源文件指定為不打包:
例如: nodist_client_SOURCES = client.c
六、最後
這里是鵬博客總結的一些比較實用的Makefile.am的寫法和規則,看完了這篇文章已經可以很詳細的理解這個文件的內容,寫起來也應該不會陌生,但automake還有許多其他的規則需要掌握,鵬博客將會繼續全面的總結關於autotools 的一些規則和寫法,希望對大家有用處。也歡迎大家指出問題,幫我完善這個博客,希望大家支持!
automake的Makefile.am Makefile.am寫法