「アカデミックなメモ」の編集履歴(バックアップ)一覧はこちら

アカデミックなメモ」(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 **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-->)
*アカデミックなメモ #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-->)

表示オプション

横に並べて表示:
変化行の前後のみ表示: