「アカデミックなメモ」の編集履歴(バックアップ)一覧に戻る

アカデミックなメモ - (2013/12/31 (火) 12:35:41) のソース

*アカデミックなメモ
#contents(fromhere)

*TeX

**TeXの学会スタイルファイル
debian系ならtexlive-publishersをapt-getすればよい。
http://packages.debian.org/ja/lenny/texlive-publishers
http://packages.ubuntu.com/ja/hardy/all/texlive-publishers

一応、本家も。

REVTeX4:
http://authors.aps.org/revtex4/

JPSJ:
http://jpsj.ipap.jp/authors/style.html
# http://www.lightstone.co.jp/products/swp/kb0056.htm

**あまり品のよくないdouble space化
 \renewcommand{\baselinestretch}{1.5}

一応、他にもやり方はある。
以下、http://tug.ctan.org/get/info/l2tabu/english/l2tabuen.pdf から引用。
- Changing inter-line space using \baselinestretch
As a rule of thumb, parameters should be set on the highest possible level within a user interface.
So if you want to reset inter-line space you can do so on three levels:
1. Either by using the setspace.sty package;
2. or by using the LATEX command \linespread{<factor>};
3. or by redefining \baselinestretch.
Redefining parameters such as \baselinestretch works on the lowest LATEX level available—
which should better be left to packages. The \linespread command is provided for
this, so it is a better way to get more inter-line space than fiddling with \baselinestretch.
It is even better, though, to use setspace.sty which also takes care of space in footnotes and list
environments that you usually don’t want to change when modifying inter-line space.
So if you just need some more spacing between lines, say, you would like to set spacing to one
half or to double spacing, setspace.sty provides the easiest way to achieve this. However, if you
only want to use fonts other than Computer Modern you may use \linespread{<factor>}.
For example, when using Palatino \linespread{1.05} would be appropriate.

**他人の文章にコメントなどを追加する用
多分、soutはstrikeoutの略。
 \usepackage{color}% 適宜[dvipdfm]などを付けてください。
 %\usepackage{ulem}
 \usepackage[normalem]{ulem}
 \newcommand{\tr}[1]{\textcolor{red}{#1}}
 \newcommand{\trs}[1]{\textcolor{red}{\sout{#1}}}
 \newcommand{\tb}[1]{\textcolor{blue}{#1}}
 \newcommand{\tbs}[1]{\textcolor{blue}{\sout{#1}}}
 %\newcommand{\tg}[1]{\textcolor{green}{#1}}
 \definecolor{darkgreen}{rgb}{0,0.5,0}
 \newcommand{\tg}[1]{\textcolor{darkgreen}{#1}}
 \newcommand{\tgs}[1]{\textcolor{darkgreen}{\sout{#1}}}
 \definecolor{purple}{rgb}{0.5,0,0.5}
 \newcommand{\tp}[1]{\textcolor{purple}{#1}}
 \newcommand{\tps}[1]{\textcolor{purple}{\sout{#1}}}

# 参考文献の出力をitalicのままにしたければ
# \usepackage[normalem]{ulem} にする。
# http://aki.issp.u-tokyo.ac.jp/itoh/hiChangeLog/html/2006-12.html#2006-12-10

**tex改行位置調整
\sloppy
\fussy
http://www27.cs.kobe-u.ac.jp/~masa-n/misc/cmc/j-kiso2001/iabasic/jlshort/node13.html

**図表の位置制御
 \renewcommand{\topfraction}{1.1}
 \renewcommand{\bottomfraction}{1.1}
 \renewcommand{\dbltopfraction}{1.1}
 \renewcommand{\textfraction}{-0.1}
 \renewcommand{\floatpagefraction}{1.1}
 \renewcommand{\dblfloatpagefraction}{1.1}
 \setcounter{topnumber}{5}
 \setcounter{bottomnumber}{5}
 \setcounter{totalnumber}{10}

http://www.imc.cce.i.kyoto-u.ac.jp/~umehara/misc/comp/latex.html
http://denki.nara-edu.ac.jp/~yabu/soft/tex/tex.html

**book.clsでoneside
 \documentclass[a4paper,oneside,12pt]{book}
など。
http://blog.as-is.net/2009/04/bookcls-oneside-cleardoublepage.html

**aspell list
http://fts.ifac.cnr.it/cgi-bin/dwww?type=runman&location=aspell/1
 #!/bin/bash
 
 #cat ./tex_en/*.tex | aspell --lang=en --mode=tex list | sort > mispelledwords_out
 
 filedate=`date +%Y%m%d_%k%M%S`
 filename=mispelledwords_out
 
 echo "# ${filedate}" > ${filename}
 for i in ./tex_en/*.tex
 do
 	echo "#----" >> ${filename}
 	echo "# ${i}" >> ${filename}
 	cat ${i} | aspell --lang=en --mode=tex list >> ${filename}
 done
 
 rm -f *~

** bibtexリスト自動生成関連
- getpaper
http://www.cns.s.u-tokyo.ac.jp/~daid/hack/getpaper.html
http://www.cns.s.u-tokyo.ac.jp/~daid/hack/getpaper
example:
 getpaper -j prl -v 99 -p 052502
or
 getpaper -f [input_file]

- doi2bibtex.py
http://pebblesinthesand.wordpress.com/2011/06/24/script-for-downloading-bibtex-file-using-doi/

- Turning DOIs into formatted citations
http://crosscite.org/cn/
http://www.crossref.org/CrossTech/2011/11/turning_dois_into_formatted_ci.html
http://tex.stackexchange.com/questions/6848/automatically-dereference-doi-to-bib
http://stackoverflow.com/questions/9403661/how-can-i-specify-content-type-accepted-when-requesting-a-http-resource-with-rub
example:
 curl -LH "Accept: text/bibliography; style=bibtex" http://dx.doi.org/10.1038/nrd842
or
 curl -LH "Accept: application/x-bibtex" http://dx.doi.org/10.1038/nrd842

- Towards minimal bibliographic managment software
http://sieste.wordpress.com/2012/05/17/towards-minimal-bibliographic-managment-software/

- Stephen's BibTeX tools
http://www.cl.cam.ac.uk/~srk31/goodies/research/bibtex/
http://www.cl.cam.ac.uk/~srk31/goodies/research/bibtex/paper-keywords

**itemizeで改行したときに左はじをそろえる方法
http://tex.stackexchange.com/questions/56809/multiline-item-indent

*gs, eps2eps, ps2pdf, pdftkの仕様やバグ

**gsによる処理
ps2ps, eps2epsは稀にバグるときがある(気がする)。
こいつらはgsを使ってるらしい
http://linux.die.net/man/1/ps2ps
http://linux.die.net/man/1/eps2eps
が、パラメータの指定が悪いせいだろう。
だったら、最初からgsで処理すればよい。

eps2epsのソースをハックする。
http://www.google.com/codesearch?hl=en&q=eps2eps+lang%3Ashell
で、その結果は以下のとおり。

BoundingBoxの取得(BoundingBoxを修正したいとき)
 gs -q -sDEVICE=bbox -dNOPAUSE -dSAFER -dBATCH -dDEVICEWIDTH=250000 -dDEVICEHEIGHT=250000 input.ps > output.bb 2>&1

PS本文の取得(重いPSを軽くしたいとき)
 gs -q -sDEVICE=epswrite -dNOPAUSE -dSAFER -dBATCH -dDEVICEWIDTH=250000 -dDEVICEHEIGHT=250000 -sOUTPUTFILE=output.ps input.ps

サイズが小さいとBoundingBoxを間違えるようなので
 -dDEVICEWIDTH=250000 -dDEVICEHEIGHT=250000 
とPSの幅を大きめに取ってる。これでも誤るようなら、
もっと大きい値を入れればよい。

**psのBoundingBoxに合わせたpdf作成
psのBoundingBoxに合わせてpdfをつくりたいときは
 ps2pdf -dEPSCrop foo.ps
とすればいいらしい。

だが、-dEPSCropでpsをpdfにするとき、できあがった
pdfのBoundingBoxがA4になるときがある。

そんなときは、psの頭を
 %!PS-Adobe-3.0 EPSF-3.0
に書き換えたら、欲しいpdfがつくれるかもしれない。
詳しくは
http://ghostscript.com/pipermail/gs-bugs/2008-February/000969.html
http://bugs.ghostscript.com/show_bug.cgi?id=689726
を参照のこと。

**pdfから正しいBoundingBoxのついたepsを作成
http://www.iml.ece.mcgill.ca/~stephan/oopdf2eps から引用。
 #!/bin/bash
 TARGET=${1%.pdf}.eps
 echo "pdftops -eps ${1} - | ps2eps > ${TARGET}"
 pdftops -eps ${1} - | ps2eps > ${TARGET}
 echo "ps2eps stdout redirected to: ${TARGET}"

**使えそうなネタ
http://hisashim.livejournal.com/362039.html
http://hisashim.livejournal.com/381401.html

**まとめ
全部合わせると
 #!/bin/bash
 input=$1
 output=$2
 
 gs -q -sDEVICE=bbox -dNOPAUSE -dSAFER -dBATCH \
 -dDEVICEWIDTH=250000 -dDEVICEHEIGHT=250000 \
 ${input}.ps > ${output}_tmp.bb 2>&1
 
 gs -q -sDEVICE=epswrite -dNOPAUSE -dSAFER -dBATCH \
 -dDEVICEWIDTH=250000 -dDEVICEHEIGHT=250000 \
 -sOUTPUTFILE=${output}_tmp.ps ${input}.ps
 
 head -1 ${output}_tmp.ps > ${output}.ps
 cat ${output}_tmp.bb >> ${output}.ps
 tail -$(( `wc -l < ${output}_tmp.ps` - 3 )) \
 ${output}_tmp.ps >> ${output}.ps
 rm ${output}_tmp.*
 ps2pdf -dEPSCrop ${output}.ps
でpsのソースを綺麗に整形して、pdfにできる。

**A0ポスター完全アウトライン化(フォント文字化け対策)
一部のプリンターではA0印刷したときに、「フォントの埋込み」をした文字ですら文字化けすることがある。
それに対処する方法として、pdfのアウトライン化(全画像化)を紹介する。まず、pdfをepsに変換する。その後、gsを使ってepsをアウトライン化する。解像度は"-r"で指定する。最後に、epsをpdfに変換する。
 pdftops -eps input.pdf
 gs -q -sDEVICE=epswrite -dNOPAUSE -dSAFER -dBATCH -dDEVICEWIDTH=2500000 -dDEVICEHEIGHT=2500000 -r9600 -sOUTPUTFILE=output.eps input.eps
 ps2pdf -dEPSCrop output.eps
 rm input.eps output.eps
難点は、ファイルサイズが重くなることとBoundingBoxがずれること。後者はeps作成後に手動で書き換えれば、対処できなくはないが…。

参考:http://www.meteorology.jp/XOOPS/modules/newbb/viewtopic.php?topic_id=32&forum=2

**文字のみのアウトライン化
上のコマンドで、widthとresolutionを指定する代わりに、
 -dNOCACHE
を付け加えればよい。

**eps圧縮関連
http://www.proton.jp/main/latex/tips.html#jpeg2eps
http://www.iir.me.ynu.ac.jp/~maeda/comp/epstips.html
http://www.daicas.net/compressed-images-in-PS-PDF/article.html
http://www.heikopurnhagen.net/software/jpg2eps
http://www.rmatsumoto.org/tex-ps-pdf/pscompress.ja.html
http://jp.arxiv.org/help/bitmap/index#advanced

**手書きepsの図作成関連
http://www.math.ubc.ca/~cass/graphics/manual/index.html
http://www.cs.kyoto-wu.ac.jp/~konami/documents/ps/psmemo.html

**pdf分割・結合
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/928splitpdf.html
nページ目を切り出し
 pdftk in.pdf cat n output out.pdf
mページ目からnページ目を切り出し
 pdftk in.pdf cat m-n output out.pdf
10ページ目削除
 pdftk A=in.pdf cat A1-9 A11-end output out.pdf
全pdf結合
 pdftk *.pdf cat output out.pdf

**pdfのパスワード解除
 pdftk a.pdf input_pw YOUR_PASSWORD output b.pdf
http://www-utheal.phys.s.u-tokyo.ac.jp/~yuasa/wiki/index.php/pdftk%E3%81%A7%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E4%BB%98%E3%81%8DPDF%E3%82%92%E5%87%A6%E7%90%86%E3%81%97%E3%81%9F%E3%81%84
http://www.cyberciti.biz/faq/removing-password-from-pdf-on-linux/

**gnuplotの図の入ったtex文書をdvipsで処理するとpdfinfoがバグる
http://sourceforge.net/userapps/wordpress/soohyunc/2010/09/12/dvips-gnuplot-pdfinfo/
http://tug.org/pipermail/tex-k/2007-March/001675.html
http://newsgroups.derkeiler.com/Archive/Comp/comp.graphics.apps.gnuplot/2007-02/msg00146.html
http://www.latex-community.org/forum/viewtopic.php?f=5&t=16280

*図の作成関連

**gnuplotの図の修正
http://www26.atwiki.jp/titech-phys-kakomon/pages/44.html

**gnuplotでつくったsvgの図をInkscapeで編集
-吐き出したsvgを処理する場合
http://www26.atwiki.jp/titech-phys-kakomon/pages/38.html#id_2f542da3

-吐き出したepsを処理する場合
http://d.hatena.ne.jp/postmaster/20051116/1132115822
などにあるように
 pstoedit -f plot-svg input.eps output.svg
とやってsvgをつくる。

-吐き出したpdfを処理する場合
"-ssp" を指定
http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/43337.html
# 念のため言うと、最近のinkscapeはpdfを生で扱えるので
# svgに直す必要はまったくない。

-個人的な意見
フォントをいじらないなら、pdfをinkscapeで処理すればよい。
フォントをいじりたいなら、svgをgnuplotで吐き出す。
その際、
 set term svg font "Nimbus Roman No9 L"
とでも指定すればよい。残念ながら、ItalicとかBoldへの
フォント変更はsvgを直接編集しないとダメっぽい。

こうして作成したinkscapeのsvgを編集後、epsを吐き出すと、
しばしばeps中のマイナスがハイフンになっている。具体的には、
「フォントを埋め込む(タイプ1のみ)」にチェックを入れると、マイナスがハイフンになる。
「フォントを埋め込む(タイプ1のみ)」にチェックを入れなければ、マイナスはマイナスのままである。
epsを確認すると、後者はISO Latin-1 encodingになっており、
ハイフンがマイナスとして無事に認識されている模様。
フォントの埋め込みがされていないのが嫌なら、
 ps2pdf -dEPSCrop before.eps
 pdftops -eps before.pdf after.eps
とでもしてください。

ちなみに、「『フォントを埋め込む(タイプ1のみ)』に
チェックを入れない」という後者の操作は
inkscape 0.46の場合、
inkscape --export-eps=hoge.eps hoge.svg に相当。
0.47以降は埋め込まないオプションが
削除されてるらしいので、
https://bugs.launchpad.net/inkscape/+bug/375323
「フォント埋め込まない」っていう方法では無理かも。
そのときは、svgファイルのハイフンを
地道にマイナスに置換するしかないかな。

# 参考までにinkscapeのcuiコマンド
http://inkscape.paix.jp/manual/cmdline-usage.html

**gnuplotでつくったepsをtexでpdfにするときのフォント埋め込み
gnuplotでつくったepsをtexでpdfにするとき、
Nimbus Roman No9 Lなどではなく、
Times Romanなどを埋め込みたい場合の話。

gs_pdfwr.psを編集する。
# ubuntu hardyでは
# /usr/share/ghostscript/8.61/lib/gs_pdfwr.ps
# ubuntu lucidでは
# /usr/share/ghostscript/8.71/Resource/Init/gs_pdfwr.ps
下記のようにコメントアウトする。
 /.standardfonts [
 %   /Courier /Courier-Bold /Courier-Oblique /Courier0BoldOblique
 %   /Helvetica /Helvetica-Bold /Helvetica-Oblique /Helvetica-BoldOblique
 %   /Times-Roman /Times-Bold /Times-Italic /Times-BoldItalic
 %   /Symbol /ZapfDingbats
 ] readonly def
# /AlwaysEmbedのバグのための対処療法?
# http://www.google.co.jp/search?hl=ja&q=alwaysembed+bug&aq=f&aqi=&aql=&oq=&gs_rfai=

参考:
http://yuu-t.sakura.ne.jp/wiki/index.php?tex_memo
http://jody.sci.hokudai.ac.jp/~ike/blog/2008/06/texpdf.html

図ではなく本文のフォント埋め込みは
- dvips
 linux:
 dvips -Pdownload35 hoge.dvi
 windows:
 dvips -Pdl hoge.dvi
- dvipdfmx
 linux:
 dvipdfmx -f dvipdfm_dl14.map hoge.dvi
 windows:
 dvipdfmx -f dlbase14.map hoge.dvi
らしい。
# Nibus系のフォントがTimes系の代わりに埋め込まれるらしい。
# これだけだと図のフォントは埋め込まれない。

参考:
http://www.kagami.org/diary/2007-08-15-1.html
http://stickydiary.blog88.fc2.com/blog-entry-104.html
https://gist.github.com/1040141

**gnuplot等でフォントを埋め込んだepsの軽量化
gnuplotでフォントを埋め込んだ後のepsは結構重くなる。
一旦ps2pdfなどでpdfにしてから、
その後pdftopsでepsに戻すと軽くなる。
 ps2pdf -dEPSCrop before.eps
 pdftops -eps before.pdf after.eps
なお、pdf2psではなくて、xpdf付属のpdftopsを用いた方がよい。

埋め込もうとしているPostScriptの
代替フォントについては以下を見よ。
http://www.tg.rim.or.jp/~hexane/ach/hfw/hfwa3.htm
フォント名は
http://d.hatena.ne.jp/mashabow/20071216
や
 ghostscript/?.??/lib/Fontmap.GS
で確認せよ。ubuntu hardyでは
 /usr/share/ghostscript/8.61/lib/Fontmap.GS
にあった。中身はこんな感じ。
 /URWBookmanL-DemiBold	(b018015l.pfb)	;
 /URWBookmanL-DemiBoldItal	(b018035l.pfb)	;
 /URWBookmanL-Ligh	(b018012l.pfb)	;
 /URWBookmanL-LighItal	(b018032l.pfb)	;
 
 /NimbusMonL-Regu	(n022003l.pfb)	;
 /NimbusMonL-ReguObli	(n022023l.pfb)	;
 /NimbusMonL-Bold	(n022004l.pfb)	;
 /NimbusMonL-BoldObli	(n022024l.pfb)	;
 
 /URWGothicL-Book	(a010013l.pfb)	;
 /URWGothicL-BookObli	(a010033l.pfb)	;
 /URWGothicL-Demi	(a010015l.pfb)	;
 /URWGothicL-DemiObli	(a010035l.pfb)	;
 
 /NimbusSanL-Regu	(n019003l.pfb)	;
 /NimbusSanL-ReguItal	(n019023l.pfb)	;
 /NimbusSanL-Bold	(n019004l.pfb)	;
 /NimbusSanL-BoldItal	(n019024l.pfb)	;
 
 /NimbusSanL-ReguCond	(n019043l.pfb)	;
 /NimbusSanL-ReguCondItal	(n019063l.pfb)	;
 /NimbusSanL-BoldCond	(n019044l.pfb)	;
 /NimbusSanL-BoldCondItal	(n019064l.pfb)	;
 
 /URWPalladioL-Roma	(p052003l.pfb)	;
 /URWPalladioL-Ital	(p052023l.pfb)	;
 /URWPalladioL-Bold	(p052004l.pfb)	;
 /URWPalladioL-BoldItal	(p052024l.pfb)	;
 
 /CenturySchL-Roma	(c059013l.pfb)	;
 /CenturySchL-Ital	(c059033l.pfb)	;
 /CenturySchL-Bold	(c059016l.pfb)	;
 /CenturySchL-BoldItal	(c059036l.pfb)	;
 
 /NimbusRomNo9L-Regu	(n021003l.pfb)	;
 /NimbusRomNo9L-ReguItal	(n021023l.pfb)	;
 /NimbusRomNo9L-Medi	(n021004l.pfb)	;
 /NimbusRomNo9L-MediItal	(n021024l.pfb)	;
 
 /StandardSymL	(s050000l.pfb)	;
 
 /URWChanceryL-MediItal	(z003034l.pfb)	;
 
 /Dingbats	(d050000l.pfb)	;

多分、
 Times-Roman -> NimbusRomNo9L-Regu
 Times-Italic -> NimbusRomNo9L-ReguItal
 Symbol -> StandardSymL
とかがあれば、論文の図をつくるのには十分。
eps中でフォント名が微妙に間違ってても
それっぽいフォントが割り当てられてるんだけど…。
なんでだろう。
# 例えば Times-Italic -> NimbusRomNo9L-Ital としても
# ちゃんとTimes系のItalicフォントが割り当てられてた…。

参考:
http://mytexpert.sourceforge.jp/index.php?pdftops
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/724pdf2ps.html

**gnuplotの色づかい
http://とうごろう.jp/wiki/%E3%81%9D%E3%81%AE%E4%BB%96/Gnuplot%E3%81%A7Keynote%E9%A2%A8%E3%81%AE%E3%82%B0%E3%83%A9%E3%83%95%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B/
http://d.hatena.ne.jp/peccu/20100210/gnuplot
http://d.hatena.ne.jp/MegumiNiikura/20100127/1264601500
http://itoshi.tv/d/?date=20071001

kuler
http://kuler.adobe.com/

試作品
 set style line  1 lt 1 lc rgbcolor "#7b0600" lw 4 ps 2
 set style line  2 lt 1 lc rgbcolor "#ca5c00" lw 4 ps 2
 set style line  3 lt 1 lc rgbcolor "#c29805" lw 4 ps 2
 set style line  4 lt 1 lc rgbcolor "#a2b932" lw 4 ps 2
 set style line  5 lt 1 lc rgbcolor "#267e17" lw 4 ps 2
 set style line  6 lt 1 lc rgbcolor "#1aafff" lw 4 ps 2
 set style line  7 lt 1 lc rgbcolor "#006ffe" lw 4 ps 2
 set style line  8 lt 1 lc rgbcolor "#0021d2" lw 4 ps 2
 set style line  9 lt 1 lc rgbcolor "#8b2bd3" lw 4 ps 2
 set style line 10 lt 1 lc rgbcolor "#545857" lw 4 ps 2
 
 set terminal postscript eps enhanced color
 set output "test10.ps"
 
 set size 0.8,0.8
 set key left top
 set sample 10
 set xrange [0:pi]
 set yrange [-1.5:2.0]
 
 plot \
 	sin(x - 0 * ((2 * pi) / 16)) ti "1" w lp ls 1, \
 	sin(x - 1 * ((2 * pi) / 16)) ti "2" w lp ls 2, \
 	sin(x - 2 * ((2 * pi) / 16)) ti "3" w lp ls 3, \
 	sin(x - 3 * ((2 * pi) / 16)) ti "4" w lp ls 4, \
 	sin(x - 4 * ((2 * pi) / 16)) ti "5" w lp ls 5, \
 	sin(x - 5 * ((2 * pi) / 16)) ti "6" w lp ls 6, \
 	sin(x - 6 * ((2 * pi) / 16)) ti "7" w lp ls 7, \
 	sin(x - 7 * ((2 * pi) / 16)) ti "8" w lp ls 8, \
 	sin(x - 8 * ((2 * pi) / 16)) ti "9" w lp ls 9, \
 	sin(x - 9 * ((2 * pi) / 16)) ti "10" w lp ls 10

 ==== line colors ====
 
 ---- 10 colors ----
 #7b0600
 #ca5c00
 #c29805
 #a2b932
 #267e17
 #1aafff
 #006ffe
 #0021d2
 #8b2bd3
 #545857
 
 ---- 6 colors ----
 #c60300
 #ff8a1b
 #267e17
 #006ffe
 #8b2bd3
 #545857
 
 ---- 7 colors ----
 #ff0200
 #ff8a1b
 #267e17
 #0021d2
 #8b2bd3
 #2b3230
 #545857
 
 ---- 8 colors ----
 #974F00
 #FF2800
 #FF8F00
 #009800
 #250097
 #A800FF
 #52466C
 #000000
 
 ==== surface colors ====
 
 ---- 3 surfaces ----
 #c1d2ff/#c1d5ff
 #d2fec7
 #ffe2e3
 ---- 2 lines ----
 #ff1b1b
 #004bfe
 
 ---- 3 surfaces ----
 #e4eaff
 #ffede4
 #fffee4
 ---- 3 lines ----
 #c40501
 #008111/#206b00
 #206bff
 ---- 2 gray lines ----
 #0f0f0f
 #a6a6a6/#bfbfbf

**gnuplotで中抜き(白塗り)のマーク
eps出力でpoint typeを白で塗られたマークに変えたいときは、
以下をしかるべきところに追加すればOK。
# とりあえず、
## /h {rlineto rlineto rlineto gsave fill grestore} bind def
# /h {rlineto rlineto rlineto gsave closepath fill grestore} bind def
# の下ぐらいにかけばいいんじゃない?
 /CircleF {
   stroke [] 0 setdash
     gsave LCw setrgbcolor 2 copy
       hpt 0 360 arc fill
     grestore
       hpt 0 360 arc stroke
 } def
 /BoxF {
   stroke [] 0 setdash
     gsave LCw setrgbcolor 2 copy
       exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill
     grestore
       exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke
 } def
 /TriUF {
   stroke [] 0 setdash
     gsave LCw setrgbcolor 2 copy
       vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill
     grestore
       vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke
 } def
 /TriDF {
   stroke [] 0 setdash
     gsave LCw setrgbcolor 2 copy
       vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill
     grestore
       vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke
 } def
 /DiaF {
   stroke [] 0 setdash
     gsave LCw setrgbcolor 2 copy
       vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill
     grestore
       vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke
 } def
 /PentF {
   stroke [] 0 setdash
     gsave LCw setrgbcolor 2 copy
       gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore
     grestore
       gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore
 } def

ちなみに、これらは
http://とうごろう.jp/wiki/%E3%81%9D%E3%81%AE%E4%BB%96/Gnuplot%E3%81%A7Keynote%E9%A2%A8%E3%81%AE%E3%82%B0%E3%83%A9%E3%83%95%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B/
http://d.hatena.ne.jp/peccu/20100210/gnuplot
のソースのパクリ。

マークの白抜きの部分に色をつけたい場合は、
 gsave LCw setrgbcolor 2 copy
のLCWを{0 0 0}や{1 1 1}といったrgb colorに置き換えればよい。

**gnuplotで掛け算記号
http://t16web.lanl.gov/Kawano/gnuplot/tics.html#3.5
・は{/Symbol \327}
×は{/Symbol \264}

**グラフからデータの抽出
g3data
http://www.frantz.fi/software/g3data.php

Engauge Digitizer
http://digitizer.sourceforge.net/

**gnuplot以外の選択肢
http://matplotlib.sourceforge.net/
# http://packages.ubuntu.com/ja/hardy/python-matplotlib
http://asymptote.sourceforge.net/
http://plasma-gate.weizmann.ac.il/Grace/
http://gri.sourceforge.net/
http://pyx.sourceforge.net/

**非常に参考になるサイト
http://t16web.lanl.gov/Kawano/gnuplot/
http://www.ss.scphys.kyoto-u.ac.jp/person/yonezawa/contents/program/gnuplot/index.html
http://wwwnucl.ph.tsukuba.ac.jp/contents/member/inakura/gnuplot/gnuplot.html
http://ryukyu.astr.tohoku.ac.jp/pukiwiki/index.php?Members%2Fchinone%2F%B3%D0%BD%F1%2FGnuplot
http://www.phyast.pitt.edu/~zov1/gnuplot/html/intro.html
http://gnuplot-tricks.blogspot.com/
http://gnuplot.sourceforge.net/scripts/index.html#postprocess-postscript
http://www.gnuplotting.org/
http://gnuplot-surprising.blogspot.jp/

*C language memo
**fgets + sscanf
http://d.hatena.ne.jp/eel3/20080810/1228919543
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1122240656

**malloc
http://d.hatena.ne.jp/tondol/20090713/1247426321
http://handasse.blogspot.com/2009/02/cc.html

**mpi
# sudo apt-get install lam-runtime lam4-dev lam-mpidoc
# lamboot
http://ubuntuforums.org/showthread.php?t=993389
# lamclean
http://www.linuxquestions.org/questions/programming-9/parallell-programming-w-mpi-375559/

**lapack
gcc in ubuntu
 gcc a.c -lm -llapack -o a_out

**icc: disable  annoying remarks
To disable "remark #981: operands are evaluated in unspecified order":
 icc -c main.c -O3 -Wall -wd981
http://software.intel.com/en-us/forums/showthread.php?t=46883

*shell command memo
http://www.8wave.net/unix_text.html
http://awk.info/?awk1line

**bash/csh:標準出力と標準エラー出力
http://homepage2.nifty.com/freeline/bash_vs_csh.html
http://x68000.q-e-d.net/~68user/unix/pickup?%A5%EA%A5%C0%A5%A4%A5%EC%A5%AF%A5%C8

**shでファイル名を取得
Sample1
http://d.hatena.ne.jp/te2u/20090327/p1
 #!/bin/bash
 
 path="/path/to/foo.tar.gz"
 echo "path: $path"
 
 basename=${path##*/}
 echo "basename: $basename"
 
 filename=${basename%.*}
 echo "filename: $filename"
 
 extension=${basename##*.}
 echo "extension: $extension"

Sample2
http://sonic64.com/2006-02-27.html
 #!/bin/sh
 
 echo "This script name is $0"
 echo "This script name is `basename $0`"
 
 echo "This script name is ${0##*/}"
 echo "This script name is ${0#*/}"

**bashで小数演算(bc使用)
 a=`echo "scale=7; 133.1/4.25" | bc`
 echo ${a}
整数部分の0も表示させたいなら、例えば
 b=`echo "scale=4; 133.1/4.25" | bc | sed -e "s/^\./0./" | sed -e "s/^0$/0.0000/"`
 echo ${b}
とする。
http://www.booran.com/menu/scr/math.html
http://oshiete.goo.ne.jp/qa/5345605.html

**awkコマンドに引数を渡す方法
シングルクォートで囲むだけ。
http://oshiete.goo.ne.jp/qa/3482584.html

**awkで文頭が#の行を削除
 awk '$1 !~ /#/{print $0}' [filename]
http://www.legacyst.com/naotokun/past/unixer/cmp_awk.html#condition
http://www.wikihouse.com/torowiki/index.php?awk#x55d7b7b
#の行を表示させる場合は
 awk '$1 ~ /#/{print $0}' [filename]

**find+exec/find+xargs
~/work/ directoryのfileをすべてtouchする。
 find ~/work/ -exec touch {} \;
より高速:
 find ~/work/ | xargs touch
ファイル名にスペースがあるとき:
 find ~/work/ -print0 | xargs -0 touch

**wget
例えば、pdfが欲しいとき。
 wget -r -l 1 -A pdf http://www.hoge/
http://jp.layer8.sh/reference/entry/show/id/1007

**arXiv.orgのソースの展開
http://arxiv.org/help/unpack
ファイルはtarらしい。
 tar -xvf filename.tar

**rsync
http://d.hatena.ne.jp/koseki2/20090424/rsync

io errorでも強制的に--deleteしたいときは--ignore-errorsをつける。

*web, css関連

**validator
http://validator.w3.org/
http://jigsaw.w3.org/css-validator/

**画像の使用を極力控えてかっこいいCSSデザインをやってみよう大会
http://www.jam-graffiti.com/non-pic-css/

*twitter関連

**ログ保存
http://www.moonmile.net/blog/archives/860より引用。
 #!/usr/bin/perl
 
 # 指定アカウントの全発言を取得
 $user = $ARGV[0]; # アカウント
 $wget = "wget"; if ( $user eq "" ) {
  print "perl krmall.pl [アカウント]\n";
  exit;
 } # 現在のツイート数を取得
 `$wget http://twitter.com/$user -Otemp.txt`;
 open( FILE, "<temp.txt" );
 while(<FILE>) {
  if ( /<span id="update_count" class="stat_count">([0-9,]+)<\/span>/ ) {
   $cnt = $1;
   $cnt =~ s/,//;
   break;
  }
 }
 close( FILE ); $pmax = int($cnt/20)+1;
 print "account: $user count: $cnt pages: $pmax\n";  # 指定アカウントを全て読み込み
 unlink( "$user.txt" );
 open( OUT, ">>$user.txt" ); for ($i=1; $i<=$pmax; $i++ ) {
  `$wget http://twitter.com/$user?page=$i  -Otemp.txt`;
  
  open( FILE, "<temp.txt" );
  while(<FILE>) {
   if ( /<span class="entry-content">/ ) {
    $text = $_;
    if ( !/<\/span>/ ) {
     while(<FILE>) {
      if ( /<\/span>/ ) {
       $text .= $_;
       last;
      }
      $text .= $_;
     }
    }
    $text =~ s/\n//g;
    $text =~ s/\r//g;
    $text =~ /<span class="entry-content">(.*)<\/span>/;
    $text = $1;
    
    <FILE>; <FILE>;
    $id = <FILE>;
    $id =~ /status\/([0-9]+)/;
    $id = $1;
    $date = <FILE>;
    $date =~ /data="{time:'([^']+)'}/;  #"
    $date = $1;
    
    $text =~ s/<[^>]+>//g;
    
    print OUT "---\n";
    print OUT "$id\n";
    print OUT "$text\n";
    print OUT "$date\n\n";
   }
  }
  close( FILE );
 }
 close( OUT ); # "
 # 統計表示
 open( OUT, "<$user.txt");
 open( ST,  ">${user}_st.txt");
 while(<OUT>) {
  if ( /^---/ ) {
   $_ = <OUT>; chomp; $id = $_;
   $_ = <OUT>; chomp; $text = $_;
   $_ = <OUT>; chomp; $date = $_;
   
   $_ = $text ;
   @res = /(@[A-Za-z0-9_]+)/g;
   foreach $re ( @res ) {
    $users{ $re } = $users{ $re } + 1;
   }
  }
 }
 close( OUT ); 
 
 foreach $re ( sort {$users{$b} <=> $users{$a}} keys %users ) {
  if ( $re ne "@".$user ) {
   print ST "$re (".$users{$re}.")\n";
  }
 }
 close( ST );

**タイムライン関連のAPI /user_timeline
http://wiki.tmd45.in/wiki.cgi?page=Twitter%A5%C9%A5%AD%A5%E5%A5%E1%A5%F3%A5%C8%2F%A5%BF%A5%A4%A5%E0%A5%E9%A5%A4%A5%F3%B4%D8%CF%A2%A4%CEAPI#p5

**twitter ubuntu クライアント
http://gihyo.jp/admin/serial/01/ubuntu-recipe/0071

***Echofon
https://addons.mozilla.org/ja/firefox/addon/5081/eula/104941?src=addondetail

***TwitterBar
https://addons.mozilla.org/ja/firefox/addon/4664/

"コメント  --post"で投稿可。

***twitte.rb
http://ichi.mo-blog.jp/tedious/twitterb/index.html
# もう使えない?

http://ubulog.blogspot.com/2009/03/ubuntu-twitter.html
http://sourceforge.jp/projects/twitte-rb/wiki/FrontPage
http://sourceforge.jp/projects/twitte-rb/wiki/twitte.rb%E3%81%AE%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95

 sudo apt-get install libglade2-ruby libgconf2-ruby libopenssl-ruby

***mitter
http://d.hatena.ne.jp/morphine57/20091113
https://launchpad.net/~ikuya-fruitsbasket/+archive/ppa
http://ppa.launchpad.net/ikuya-fruitsbasket/ppa/ubuntu/pool/main/m/mitter/

----

&html(<!--shinobi1--><script type="text/javascript" src="http://x5.goemonburo.com/ufo/066535806"></script><!--shinobi2-->)