2009年6月18日 星期四

How to sort the reference by author in EndNote

EndNote, reference 按照作者姓氏排序

1. Open EndNote, Choose the Bibliography style you want on left hand side corner.
I choose the "IEEE" for example.
打開EndNote,在左上角選擇想要的bibliography格式。




















2. Select: Edit → Output Styles → Edit "IEEE"
選擇 Edit → Output Styles → Edit "IEEE"




















3. Choose the Bibliography → Sort Order, and change it to "Author + Year + Title".
Then the sort order of the reference will first by Author Last Name, then Year, and last the Title.
選擇 Bibliography → Sort Order,改選成 "Author + Year + Title"。
這樣reference 的順序就會先按照 Author,年,最後才是Title.




















4. Edit → Save As, save the style as a new style.
Edit → Save As,存成你想要的新檔。




















5. Now when insert the citation, the bibliography will sort by author last name :)
這樣,插入的citation都會按照作者姓氏排序啦~


2009年6月13日 星期六

Conference List

正在找conference
發現有人跟我的領域相關,做了個網頁把 upcoming conference 都記下來了耶^^"

Thanks for your list :)

2009年6月3日 星期三

網路鬧鐘

簡單好用的網路線上鬧鐘,
免安裝,免下載,記得把網頁開著就可以。
http://kukuklok.com/

2008年9月13日 星期六

NS2內DSDV疑似bug造成無窮迴圈的修正

最近在跑NS2,一開始跑很久都跑不完,
我還不以為意,以為是scenario太複雜,所以要跑很久...。
直到那天我放著模擬跑,人出去看電影,回來發現竟然還在跑(驚!),
我才覺得不對勁(也太遲鈍了吧.....囧)
反覆檢查後發現,程式在DSDV內會進入無窮迴圈,導致怎麼跑都跑不完。
於是就把dsdv.cc打開來修改一下:
ns-2.x/dsdv/dsdv.cc

void DSDV_Agent::processUpdate (Packet * p) function內,
約791行附近,有個 if 判斷這麼寫著:

// see if we can send off any packets we've got queued
if (rte.q && rte.metric != BIG)
{
Packet *queued_p;
while ((queued_p = rte.q->deque()))
// XXX possible loop here
// while ((queued_p = rte.q->deque()))
// Only retry once to avoid looping
// for (int jj = 0; jj <>length(); jj++){
// queued_p = rte.q->deque();
recv(queued_p, 0); // give the packets to ourselves to forward
// }
delete rte.q;
rte.q = 0;
table_->AddEntry(rte); // record the now zero'd queue
}


猜測這邊就是infinite loop形成的原因。
本來應該是要將queue裡面積存的packet取出然後送出,
可是會造成while永遠為true,形成無窮迴圈,bug就產生啦。
將它改成以下,應該就沒問題了


// see if we can send off any packets we've got queued
if (rte.q && rte.metric != BIG)
{
Packet *queued_p;
printf("DEGUB => in DSDV_Agent::processUpdate:795, rte.q->length()= %d\n",rte.q->length() );
//printf is only for debug :P

Packet** temp_array = new Packet*[rte.q->length()] ;

for(int i=0; i< rte.q->length(); i++){
temp_array[i] = rte.q->deque();
}

for(int i=0; i< rte.q->length(); i++){
recv(temp_array[i], 0);
}

delete rte.q;
rte.q = 0;
table_->AddEntry(rte); // record the now zero'd queue
}


//--
萬分感謝千益學弟,以及gdb的幫忙^_________^

至於blog中顯示程式碼區塊的方法,請參考:p
http://hdj-berkeley.blogspot.com/2008/06/blog.html

2008年8月18日 星期一

UltraEdit、JCreator 顯示行數,列印行數

UltraEdit:
1. 首先要先顯示行數
檢視/顯示行號 View/Display Line Number
2. 列印設定
檔案/列印設定(組態)/頁面設定/列印行號 打勾

JCreator:
1. 顯示行數
Configure/Option/Documents/Default(當然也可以選擇針對特定檔案更改)
裡面在Compatibility, show line number 打勾即可
2. 列印設定
同上 /Default/Printer
Print line number 打勾即可


參考網頁:
http://www.jcreator.com/forums/index.php?showtopic=1202
http://john.cs.olemiss.edu/~sbs/ultraedtFAQ.html

2008年8月14日 星期四

讓 UltraEdit 認得 tcl 語法

打開 UltraEdit 的語法檔案 wordfile.txt
一般是在 C:\Program Files\IDM Computer Solutions\UltraEdit-32\wordfile.txt
將以下的文字複製後,貼在 wordfile.txt 最後面即可。

/L20"Tcl/tk" Line Comment = # String Chars = "' Escape Char = \ DisableMLS File Extensions = TCL TK
/Delimiters = ~!@%^&*()+=|\/{}[]:;"' <> ,?#
/Function String = "proc ^([a-zA-Z_0-9]++ {[ a-zA-Z_0-9{}]++^)"
/Function String 1 = "method ^([a-zA-Z_0-9]++ {[ a-zA-Z_0-9{}]++^)"
/Function String 2 = "^(constructor^) {*}*{"
/Function String 3 = "^(destructor^) {}"
/Function String 4 = "public ^(variable[ ^t]+[a-zA-Z_0-9]+^)"
/Function String 5 = "public ^(common[ ^t]+[A-Z_0-9]+^)"
/Indent Strings = "{"
/Unindent Strings = "}"
/Open Brace Strings = "{" "(" "["
/Close Brace Strings = "}" ")" "]"
/Open Fold Strings = "{"
/Close Fold Strings = "}"
/C1"Commands"
after append array auto_execok auto_load auto_mkindex auto_reset
bgerror break
case catch cd class clock close common concat constructor continue
destructor
else elseif eof error eval exec exit expr
fblocked fconfigure file fileevent flush for foreach format
gets glob global
history
if incr info inherit interp
join
lappend lindex linsert list llength load lrange lreplace lsearch lsort
method
open
package parray pid private proc protected public puts pwd
read regexp regsub rename return
scan seek set socket source split string subst switch
tcl_endOfWord tcl_startOfNextWord tcl_startOfPreviousWord
tcl_wordBreakAfter tcl_wordBreakBefore tell time
trace
unknown unset update uplevel upvar
variable vwait
while
/C2"Library Variables"
ErrorCode ErrorInfo
auto_execs auto_index auto_noexec auto_noload auto_path
env
tcl_library tcl_nonwordchars tcl_patchLevel tcl_pkgPath tcl_platform
tcl_precision tcl_rcFileName tcl_rcRsrcName tcl_version tcl_wordchars
unknown_active
/C3"Keywords"
bell bind bindtags bitmap button
canvas checkbutton clipboard
destroy
entry event
focus frame
grab grid
image
label listbox lower
menu menubutton message
option
pack photo place
radiobutton raise
scale scrollbar selection send
text tk tk_bindForTraversal tk_bisque tk_chooseColor tk_dialog tk_focusFollowsMouse
tk_focusNext tk_focusPrev tk_getOpenFile tk_getSaveFile tk_menuBar tk_messageBox
tk_optionMenu tk_popup tk_setPalette tkerror tkvars tkwait toplevel
winfo wm
/C4"Variable Substitutions"
** $
/C5"Delimiters"
!
%
&
(
)
*
+
,
// /
:
;
< = >
?
@
[
]
^
{
|
}
~



//參考網頁
http://hi.baidu.com/wirelesscat/blog/item/3ca99723cd1d05579822ed9a.html
Related Posts with Thumbnails