odenのメモ帳

いっつも解決したことを書き留めなくて,後々後悔するので,それを防ごうプロジェクト

texで文章の幅に合わせて画像を貼りたい

texで画像を貼る時って

\includegraphics[width=10cm]{hoge.eps}

ってやると思うんですけど,幅指定って大体直接値で指定しているページが多く,文章の幅と合わせる場合ってどうすりゃいいんだって思ったんで調べた.

\linewidth

を使えば幅が取れるので

\includegraphics[width=\linewidth]{hoge.eps}

とすれば綺麗に揃う.また,

[width=0.8\linewidth]

とすれば幅の0.8倍になる.

Visual Studio2013でOpenCVやろうとするとkernel32.libが開けないと怒られる

久しぶりにOpenCVでいじろうとして,設定のやり方を忘れてパスを通したりあーだこーだしていざサンプルを動かしてみようとするとエラーが.

エラー 1 error LNK1104: ファイル 'kernel32.lib' を開くことができません。

どうやらOpenCVと関係ないところで問題が起こっているようだ.調べると以下の記事が.記事内ではWindows8visual studio 2010ということであったが,Visual Studio 2013 for Windows Desktopでも同様の対処であった.

ゲームプログラマーを目指すひと 'kernel32.lib' を開くことができません。 というエラーの対処法

Dxlibを動かそうとしたらwindows.hが開けないと言われた

特に意味は無いんだけど,Dxlibに少しだけ触れようと思って入門サイトのコードを動かそうとしたら,

include ファイルを開けません。'windows.h':No such file or directory

と言われてしまった.別に#include してないのにね.調べてみたらありました.

[Visual Studio 2013] Visual Studio 2010からアップグレードしたC++プロジェクトで「fatal error C1083: include ファイルを開けません。'windows.h':No such file or directory」が発生する |たかみんつ

なるほどパスを通せば良いと.なぜだろうと思ってURL元の参考サイトを見るとどうやらインストールされたSDKへのパスが通ってないぽい?うーん,VSはわからん.

platex→dvipdfmx→evinceを一々するのが面倒なのでシェルを作った


タイトル通り.ファイルを打ち込んで命令するだけでPDFまで自動でやってもらおう.

いつもレポートをTexで書いていざ見てみようとするときに,一々

platex hoge.tex
dvipdfmx hoge
evince hoge.pdf

とわざわざ3回も入力するのにうんざりしていたので,それならいっそシェルを作ってしまえばいいと思ったので作ってみた.

作ったシェルがこちら.

#!/bin/sh

ret=${1%.*}
if test $ret != "";then
	platex ${ret}.tex
	dvipdfmx $ret
	evince ${ret}.pdf
else
		echo "ファイルを入力してください"
fi

シンプル.エラー処理は引数が入力されなかった場合のみなので,雑だけど個人で使うやつだしこれでいいよね...
ちなみに引数は拡張子をつけてもつけなくても問題ないようになっている.

これをPATH通せばどこからも使えるようになる(途中どこかでミスったのかlsが使えなくなって焦った)

これを作成した後latexmkなるものがあると知ってアッってなったけど,シェルの勉強になったし良しとしよう