#!/bin/bash # # latex reference create if [ -z $1 ]; then echo ======== refCreate_latex.sh [ref.txt] ============ exit fi DATE=`date +%Y-%m-%d` FILE=$1 COUNT=`cat $FILE | wc -l` for i in `seq 1 ${COUNT}` do RN=ref${i} TITLE=`cat $FILE | cut -d '|' -f 1 | sed -n ${i}p` URL=`cat $FILE | cut -d '|' -f 2 | sed -n ${i}p` echo " @misc{${RN}, title={${TITLE}}, howpublished={\url{${URL}}}, note={Accessed:${DATE}} }" done echo ============ Latex nocite create =========== echo -n "\\nocite{" for i in `seq 1 $COUNT` do if [ $i != $COUNT ]; then echo -n "ref${i}," else echo -n "ref${i}}" fi done echo echo
---
寫一個 ref.txt 整理需要放上的資料,格式為: Title|URL
(※注意中間使用管線 | 來分隔 Title 及 URL,並用 enter 換行分隔參考資料)
例 --
Java Gossip: 實作 Runnable 介面|http://openhome.cc/Gossip/JavaGossip-V2/RunnableInterface.htm Generate a random point within a circle (uniformly)|http://stackoverflow.com/questions/5837572/generate-a-random-point-within-a-circle-uniformly Animation_2D Graphics GUI_Java|http://www.java2s.com/Code/Java/2D-Graphics-GUI/Animation.htm Animation|http://zetcode.com/tutorials/javagamestutorial/animation/ (swing)輸入帳密視窗|http://blog.xuite.net/ray00000test/blog/21526707-(swing)%E8%BC%B8%E5%85%A5%E5%B8%B3%E5%AF%86%E8%A6%96%E7%AA%97 給初學 Android 的你|http://kenji-chao.blogspot.tw/2013/02/android.html
---
用法:
chmod +x refCreate.sh ./refCreate.sh ref.txt
---
輸出:
@misc{ref1, title={Java Gossip: 實作 Runnable 介面}, howpublished={\url{http://openhome.cc/Gossip/JavaGossip-V2/RunnableInterface.htm}}, note={Accessed:2015-12-04} } @misc{ref2, title={Generate a random point within a circle (uniformly)}, howpublished={\url{http://stackoverflow.com/questions/5837572/generate-a-random-point-within-a-circle-uniformly}}, note={Accessed:2015-12-04} } @misc{ref3, title={Animation_2D Graphics GUI_Java}, howpublished={\url{http://www.java2s.com/Code/Java/2D-Graphics-GUI/Animation.htm}}, note={Accessed:2015-12-04} } @misc{ref4, title={Animation}, howpublished={\url{http://zetcode.com/tutorials/javagamestutorial/animation/}}, note={Accessed:2015-12-04} } @misc{ref5, title={(swing)輸入帳密視窗}, howpublished={\url{http://blog.xuite.net/ray00000test/blog/21526707-(swing)%E8%BC%B8%E5%85%A5%E5%B8%B3%E5%AF%86%E8%A6%96%E7%AA%97}}, note={Accessed:2015-12-04} } @misc{ref6, title={給初學 Android 的你}, howpublished={\url{http://kenji-chao.blogspot.tw/2013/02/android.html}}, note={Accessed:2015-12-04} } ============ Latex nocite create =========== \nocite{ref1,ref2,ref3,ref4,ref5,ref6}
---
於所要編寫的 .tex 檔內,加入參考資料語法:
\begin{filecontents}{\jobname.bib} @misc{ref1, title={Java Gossip: 實作 Runnable 介面}, howpublished={\url{http://openhome.cc/Gossip/JavaGossip-V2/RunnableInterface.htm}}, note={Accessed:2015-12-03} } @misc{ref2, title={Generate a random point within a circle (uniformly)}, howpublished={\url{http://stackoverflow.com/questions/5837572/generate-a-random-point-within-a-circle-uniformly}}, note={Accessed:2015-12-03} } @misc{ref3, title={Animation\_2D Graphics GUI\_Java}, howpublished={\url{http://www.java2s.com/Code/Java/2D-Graphics-GUI/Animation.htm}}, note={Accessed:2015-12-03} } @misc{ref4, title={Animation}, howpublished={\url{http://zetcode.com/tutorials/javagamestutorial/animation/}}, note={Accessed:2015-12-03} } @misc{ref5, title={(swing)輸入帳密視窗}, howpublished={\url{http://blog.xuite.net/ray00000test/blog/21526707-(swing)%E8%BC%B8%E5%85%A5%E5%B8%B3%E5%AF%86%E8%A6%96%E7%AA%97}}, note={Accessed:2015-12-03} } @misc{ref6, title={給初學 Android 的你}, howpublished={\url{http://kenji-chao.blogspot.tw/2013/02/android.html}}, note={Accessed:2015-12-03} } \end{filecontents}
---
並加到所要顯示的頁面,以 \nocite 來加入:
\section{Reference} \frame{\frametitle{Outline}\tableofcontents[currentsection]} \begin{frame}[allowframebreaks] \frametitle{Reference} \nocite{ref1,ref2,ref3,ref4,ref5,ref6} \tiny{\bibliographystyle{abbrv} } % 文獻標號 \bibliography{\jobname} % 文獻來源 \end{frame}