スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

UTF-8環境のVimでEUC-JPのファイルを編集する

Ubuntu利用時、普段はおとなしくUTF-8なる文字コードを使っています。
プログラミングにせよ、ただのテキストの編集にせよ、とりあえずこれで困ることはありません。
が、UbuntuでLaTexを使うのにEUC-JPで文書を書く必要があります。
普段からgedit等のエディタを使う場合はいいんですが、EUC-JPで書かれたコードをVIMで開くと当然ながら文字化けしてしまい、日本語の文書作成は出来ません。

ので、EUCで書かれたファイルをVIMで読めるようにします。
ファイルを開いた後で文字コードを指定して再読み込みしても良いのですが、面倒なので.vimrcに自動判別ようのコードを追記します。

~/.vimrcを開く。(無い場合は作成)
vim ~/.vimrc


以下を追記
set fileencodings=euc-jp,iso-2022-jp,sjis


デフォルトの文字コードはUTF-8なので、それ以外の文字コードのファイルを開こうとした場合に自動判別して表示してくれます。
さしあたって必要なのはeuc-jpだけなんですが、複数指定出来ます。
スポンサーサイト

Ubuntu11.04にpLaTeXインストール

Ubuntu 11.04pLaTeX(←正しい表記ではありません)をインストールしました。
とりあえず時間がないので本当に覚書。


詳しく調べてませんが、Ubuntuのバージョンによりちょっとずつ違うようです。
うまくいかない場合はここで聞かずにGoogle先生に聞くか、Ubuntu日本語フォーラムにでも行って聞いてください。

また「TeXLaTeXpLaTeXと何がどう違うの?」等も、僕は知りません(爆)
自分で調べてください。



とりあえずインストール。
ptex-binのインストールでtex関連のパッケージも一緒にインストールされます。


sudo apt-get install ptex-bin
sudo apt-get install ptex-jtex



これでOK。
コンパイルはコマンド打つだけなんですが、Ubuntuで何も考えずに文書を作ると文字コードがUTF-8になります。
UTF-8で書かれた.texファイルはコンパイル出来なくはないですが、盛大に文字化けします。
ので、文字コードをEUCに変更しましょう。
過去のエントリでも書いていますが、変更はコマンドラインから

nkf -e --overwrite input.tex


で出来ます。
nkfが未インストールの場合は

sudo apt-get install nkf


でインストール出来ます。

文字コード(そしてもちろんpLaTeXの文法)がちゃんとしていれば、以下のコマンドでコンパイル出来ます。

platex input.tex


ここで、

tex input.tex

とか
ptex input.tex


などのコマンドと混同しないよう注意してください。
それぞれの詳細については……知りません。
また、EUCにエンコードしてコンパイルするため、文法エラー等があった場合などは日本語が文字化けした状態で表示されます(要するに読めません)が、コンパイル自体に支障ありません。

ちゃんとコンパイルが通ったら、TeXファイルと同名のDVIファイルができています。
ので、これを確認します。
ビューワー(xdvi)はptex-binインストール時に一緒にインストールされているはずです。

xdvi input.dvi


と、ここで文字化け発生。
なぜか文字化けしたままでもPDF変換すると文字化けが解消されましたが、編集する度に変換は非常に面倒です。
ということで、aptでそれっぽいパッケージを入れてみます。

sudo apt-get install xdvik-ja


再度DVIファイルを開いてみると無事日本語が表示されました。
よかったよかった。



で、仕上げにPDF変換します。

dvipdfmx input.dvi


先ほど生成されたDVIファイルをPDFファイルに変換します。
生成されたPDFファイルはPDF用ビューワーで閲覧できます。
大抵の人は導入済みかと思いますが、一応。

sudo apt-get install adobereader-jpn
sudo apt-get install adobereader-jpn-ipamonafont


閲覧は

acroread input.pdf


で出来ます。
LINUXで利用できるPDF閲覧ソフトは他にもありますが、Windowsと併用する人なんかはやっぱりAdobeReaderが使いやすくていい気がします。



以上、かなり適当なpLaTeX覚書。


==============================================

【2012.1.22 追記】

論文を\chapterで章立てして書くために日本語用クラスファイルjsbookを使おうとしたらコンパイル通らなかったり文字化けしたりしました。

okumura-clsfilesというパッケージのインストールで解決しました。


【2012.1.31 追記】

論文中にプログラムのソースコードを載せるのに、listings, jlistingというクラスを使います。

まずlistings。詳細はこちら。
http://www.atscire.de/index.php?nav=products/listings

まず必要なファイルを取得します。

http://www.atscire.de/index.php?nav=download&file=listings-1.3.zip


このzipファイルは解答するとディレクトリができるのではなく複数のファイルがばらばらとできあがりますので、インストール用に一時ディレクトリを作成します。
(下記ではディレクトリ名tmp)

手順としては、
1. 追加するデータ用ディレクトリ作成
2. 作業用ディレクトリ作成
3. そこにデータ解凍
4. 必要なファイルを作成したディレクトリに移動
5. pLaTeXに反映

まとめて書いてしまうとこうなります。
(まとめてと言うより単に.bash_historyのコピペですが...)

sudo mkdir /usr/share/texmf/ptex/listings/
mkdir tmp
mv listings-1.3.zip tmp/
cd tmp/
unzip listings-1.3.zip
platex listings-1.3.ins
sudo cp *.sty /usr/share/texmf/ptex/listings/
sudo cp *.cfg /usr/share/texmf/ptex/listings/
sudo mktexlsr
cd ../
rm -rf tmp/


さらに、日本語化するためにjlistingを設定します。
まずはダウンロードします。

http://sourceforge.jp/projects/mytexpert/downloads/26068/jlisting.sty.bz2/


インストールはlistingsと基本的に同じです。

mkdir tmp
mv jlisting.sty.bz2 tmp/
cd tmp/
bzip2 -d jlisting.sty.bz2
sudo cp jlisting.sty /usr/share/texmf/ptex/listings/
sudo mktexlsr
cd ../
rm -rf tmp/

AdobeReader9での日本語の文字化けを解消する

Adobe Readerのインストール方法をご紹介しましたが、このままだと日本語を表示する際に日本語が「」に化けてしまいました。

どうもこれはWindowsのフォントをインストールする方法に関連したバグのようです。

Ubuntuフォーラムでも紹介されています。



まず、Adobe Readerは、PDFファイル内にMSゴシックが使用されている場合、

a) システムにmsgothic.ttcがある場合はmsgothic.ttcを使用
b) msgothic.ttcが無い場合はKozGoProVI-Medium.otfで代替

という処理を行うそうです。

ここで、Adobe Reader 9.1.2においてa)の処理にバグがあることが原因で、文字化けが起こるようです。



したがって、システム標準のフォントのみを利用し、Windowsのフォントをコピーして利用する事をしなければ、ちゃんと表示されます。


MSフォントにこだわるのでなければ、Windowsからコピーしたフォントを削除したのち、

fc-cache -fv


でフォントのキャッシュを更新すれば正しく表示されます。



何らかの理由でMSフォントを利用したい場合、以下の方法で解決できます。

1. ここからAdobeReader_jpn-8.1.6-1.i486.tar.gzをダウンロード

2. 解凍

tar zxvf AdobeReader_jpn-8.1.6-1.i486.tar.gz


3. 解凍してできたAdobeReaderディレクトリ内のCOMMON.TARを解凍

tar xvf COMMON.TAR


4. 解凍してできたディレクトリ内のファイルAdobeReader/Adobe/Reader8/Resource/CIDFont/KozGoProVI-Medium.otf/opt/Adobe/Reader9/Resource/CIDFont/へコピー

sudo cp AdobeReader/Adobe/Reader8/Resource/CIDFont/KozGoProVI-Medium.otf /opt/Adobe/Reader9/Resource/CIDFont/


5. 環境変数を設定

~/.bashrcに以下の一行を追記

#ACRO_DISABLE_FONT_CONFIG
export ACRO_DISABLE_FONT_CONFIG=1


6. 変更を反映

source .bashrc




再度、MSゴシックを含んだPDFファイルを開いてみてください。

テーマ : UNIX/Linux
ジャンル : コンピュータ

MicrosoftOffice2007

最近では比較的一般的になってきたようですが、Ubuntu9.04上のWineMicrosoftOffice2007をインストールしてみようと思います。

OpenOffice.orgがあれば大体事足りるんですが、近頃は人から受け取るファイルなんかはOffice2007形式が多くなってきましたし、論文とか書くのにも、やはりLaTexとOffice2007は使えた方が便利です。






Wineのインストール

まだWineをインストールしていない場合、まず先にWineをインストールします。

基本的にはこちらを参考にしてもらえばいいです。

ただ、一つ注意点があります。

WineのバージョンによってはOffice2007のインストールが出来ません。

インストール可能なバージョンは、

1.1.121.1.16及び1.1.24以上

です。

wine --version


として出力されたバージョンが上記以外の場合、Wineを一度削除してインストールしなおしてください。




Office2007のインストール

適切なバージョンのWineが準備出来たら、あとはインストールするだけです。

すこし前のバージョンのWineでは、ライブラリのオーバーライド等の環境設定が必要だったのですが、最新版ではその必要がなくなっています。

インストールCDをドライブに入れます。

今回は、挿入されたディスクが /media/cdrom0/ にマウントされたという前提で進めます(初期設定ならそうなるはずです)。


インストールCD内のsetup.exeを実行します。

wine /media/cdrom0/setup.exe


インストーラが起動します。



上記の例では日本語表示されていますが、フォントをインストールしていない場合、日本語の文字はすべて豆腐になります。

が、まぁフォントは豆腐のままでも問題ありません。

豆腐の方は分かりにくいと思うので日本語表示されたインストール画面の画像を載せておきます。


ライセンス条項に同意します。



次に進むと、「今すぐインストール」と「ユーザー設定」の項目があります。

文字が豆腐になっている人は画像を参考にしてください。



ここで「ユーザー設定」を選びます。

インストールオプションタブ >> Office共有機能 >> Microsoft Office IME(日本語)

と辿り、「インストールしない」を選択します。



画像のように左側のアイコンに×がついて入ればOKです。

「今すぐインストール」をクリックするとインストールが始まります。



もし上記の「MicrosoftOfficeIME」のインストールをキャンセルしなかった場合、この辺でインストールが止まります↓↓



まぁ文字化けで見づらくてよく分からない場合もありますので、しょうがないです。

その場合、システム >> システム管理 >> システムモニタ でシステムモニタを開き、「プロセス」タブから「IMJPKLMG.EXE」というプロセスを探して停止(プロセスの終了)してください。



あとは待っていればインストールが終わります。



これでインストールが完了しました。

ほんと、簡単になりました。



あとは、Wordでも起動してみてください。

ライセンス云々の画面が出て、ライセンスの確認が済めば利用可能です。




ライブラリのオーバーライド

上記の手順でWordやExcelが使えるようになりましたが、どうもPowerPointを使うために、ライブラリのオーバーライドが必要なようです。

端末から

winecfg


と打ち、設定画面を開きます。

「ライブラリ」タブを選択し、「ライブラリの新規オーバーライド」から、

riched20usp10 を追加します。

その後riched20を選択し、「編集」から「Native (Windows)」を選択します。


あとは「適用」→「OK」とクリックしてやれば設定完了です。







注意

上記の方法でMicrosoftOfficeが利用できるのですが、ひとつ問題がありました。

起動後、終了しようとしてウィンドウを閉じてもちゃんと終了できていないことがわかりました。

そのため、何度も開いたり閉じたりしていると、前回のプロセスを終了せずに新たに立ち上げてしまいます。

結果、メモリの限界が来るとフリーズします。

これは今のところひとつずつプロセスを終了させてやる以外の方法はなさそうです。

GUIから操作する場合、システムモニタを開き、当該プロセスを終了してください。

CUIから操作する場合、psコマンドで状況確認の上、killまたはkillallコマンドで適宜終了させてください。

テーマ : UNIX/Linux
ジャンル : コンピュータ

NS-2 (Network Simulator Ver.2)

NS-2 (Network Simulator Ver.2)とは、計算機上でネットワークをエミュレートしてデータの転送実験等ができるソフトです。

新たなプロトコルを開発し、仮想ネットワークに実装して実験する事も出来ます。

OTclを習得しないと実験自体ができず、C++を習得しないとモジュールの開発は出来ず、マニュアルには間違いも多く、日本語の書籍は殆ど無く・・・と、大変無愛想なシミュレータです。

しかしながら多くの機能を実装している上、無料で利用できるので、研究予算の無い学生にはありがたいです。


最近Ubuntu利用者が増えているのに伴い、このソフトをUbuntuにインストールして利用する人も増えているようです。

筆者自身もインストールして使っているので、インストール方法を書いておきます。


Ubuntu9.10およびUbuntu10.04へのインストールも可能です。

もし挫折している方がみえましたら、参考になれば幸いです。



※記事の最後に自動インストールスクリプトを載せておきます。
一切の動作保障はありませんが、良かったらご利用下さい。





【1】必要なパッケージのインストール

NS-2に必要なパッケージをインストールします。

sudo apt-get update
sudo apt-get install build-essential xorg-dev libpcap-dev libtool gcc g++ xgraph





【2】ソースをダウンロード

NS-2の本家(http://www.isi.edu/nsnam/ns/)へ行って"ns-allinone-2.**"パッケージをダウンロードするか、端末からwgetで取得します

今回は、現時点での最新版である 2.34 を利用してみます。

wget http://sourceforge.net/projects/nsnam/files/allinone/ns-allinone-2.34/ns-allinone-2.34.tar.gz/download


↑の2.342.33に書き換えれば前のバージョンがDL可能です。


解凍します。

tar zxvf ns-allinone-2.34.tar.gz



以下の操作は全てns-allinone-2.34ディレクトリ内で行うものとします




【3】xgraphのソースファイル削除

xgraphは、ns-allinone-2.34のソースに含まれており、ソースを直接ビルドすることもできますが、Ubuntuのパッケージが用意されているのでapt-getでインストールしてしまいます。

なので、このソースは必要なくなったので消してしまいます。

rm -rf xgraph-12.1





【4】installスクリプトからxgraphのインストールコマンドを削除

xgraphのソースを削除しましたが、インストール用のシェルスクリプトにはxgraphのインストールコマンドもかかれているので、これも無効にします。

消してしまってもいいですが、コメントアウトでも構いません。

まずinstallを開きます。

gedit install


スクリプトの最後の方にxgraphのインストールスクリプトが書かれています。

[Ctrl] + [F]

xgraphを文字列検索すると見つけやすいです。


286行目の # Compile and install xgraph から、

304行目の cd ../

がインストールスクリプトなので、286?304行目を全てコメントアウト(行頭に#を付記)します。

続いて638?643行目でシンボリックリンクを張っているので、同様にコメントアウト。

671?674行目でインストールディレクトリを表示しているので、これも同様にコメントアウト。




【!】Ubuntu9.10 or Ubuntu10.04 の場合

Ubuntu9.10もしくはUbuntu10.04でインストールしようとすると、OTclのビルド中に、

============================================================
* Build OTcl-1.13
============================================================
No .configure file found in current directory
Continuing with default options...
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for string.h... (cached) yes
checking for main in -lXbsd... no
checking for socket in -lsocket... no
checking for gethostbyname in -lnsl... yes
checking for dcgettext in -lintl... no
checking for getnodebyname in -ldnet_stub... no
checking that g++ can handle -O2... no
checking standard STL is available... no
checking for tcl.h... -I../include
checking for tclInt.h... -I../include
checking for libtcl8.4... -L../lib -ltcl8.4
checking for init.tcl... ../lib/tcl8.4
checking for http.tcl... ../lib/tcl8.4/http1.0
checking Tcl http.tcl library... yes
checking for tclsh8.4.18... no
checking for tclsh8.4... ../bin/tclsh8.4
checking for tk.h... -I../include
checking for libtk8.4... -L../lib -ltk8.4
checking for tk.tcl... ../lib/tk8.4
checking for X11 header files
checking for X11 library archive
checking for XOpenDisplay in -lX11... yes
checking for XShmAttach in -lXext... yes
checking for ranlib... ranlib
checking for a BSD-compatible install... /usr/bin/install -c
checking system version (for dynamic loading)... Linux-2.6.32-21-generic
No explicit static compilation flag; setting V_STATIC to ""
checking for dlopen in -ldl... yes
checking for a BSD-compatible install... /usr/bin/install -c
configure: creating ./config.status
config.status: creating Makefile
rm -f libotcl.so otcl.o so_locations
gcc -c -g -O2 -DNDEBUG -DUSE_SHM -fpic -I. -I/usr/local/ns-allinone-2.34/include -I/usr/local/ns-allinone-2.34/include -I/usr/local/ns-allinone-2.34/include -I/include otcl.c
ld -shared -o libotcl.so otcl.o
otcl.o: In function `OTclDispatch':
/usr/local/ns-allinone-2.34/otcl-1.13/otcl.c:495: undefined reference to `__stack_chk_fail_local'
otcl.o: In function `Otcl_Init':
/usr/local/ns-allinone-2.34/otcl-1.13/otcl.c:2284: undefined reference to `__stack_chk_fail_local'
ld: libotcl.so: hidden symbol `__stack_chk_fail_local' isn't defined
ld: final link failed: Nonrepresentable section on output
make: *** [libotcl.so] エラー 1
otcl-1.13 make failed! Exiting ...
See http://www.isi.edu/nsnam/ns/ns-problems.html for problems


こんなエラーが出てインストールが停止してしまいます。

これはどうもGCCのバージョンとOTclの相性が悪いのが原因のようです。

Ubuntu9.10及びUbuntu10.04に標準でインストールされるGCCのバージョンは4.4です。

Ubuntu9.04ではGCCのバージョンは4.3で、普通にインストール出来ていました。

なので、Otclのインストール時だけコンパイラをgcc-4.3に変更してビルドしてやります。

なお、OtclのソースにはC++ソースはありませんので、g++のバージョン変更は必要ありません。


まずgcc-4.3をインストールします。

sudo apt-get update
sudo apt-get install gcc-4.3


次に、

ns-allinone-2.34/otcl-1.13/Makefile.in

というファイルを開きます。

ファイルの先頭付近に、

CC= @CC@


という記述があります。これを

CC= gcc-4.3


と書き換えます。こうすることでOTclのインストールに使うコンパイラをgcc-4.3に変更出来ます。

ちなみにコンパイラのバージョンによるエラーが出るのはOTclだけのようです。

変更を保存したらインストールに進みます。




【5】インストール

インストールします。

./install


インストールログを残したい場合は、

./install &> compile.out


コンパイル中、「警告」の文字がたくさん出てきますが、エラーでは無いので無視してください。

コンパイラによっては出ないかもしれません。




【6】パスの設定

各実行ファイルへのパスを張ります。

xgraphaptでインストールしてるので、普通に使えます。

他のパスは以下を参考にしてください。

一応インストールの最後に

(1) You MUST put /home/k/ns-allinone-2.34/otcl-1.13, /home/k/ns-allinone-2.34/lib,
into your LD_LIBRARY_PATH environment variable.
If it complains about X libraries, add path to your X libraries
into LD_LIBRARY_PATH.
If you are using csh, you can set it like:
setenv LD_LIBRARY_PATH
If you are using sh, you can set it like:
export LD_LIBRARY_PATH=

(2) You MUST put /home/k/ns-allinone-2.34/tcl8.4.18/library into your TCL_LIBRARY environmental
variable. Otherwise ns/nam will complain during startup.


↑こんなメッセージが表示されるはずなので(これは僕の環境での出力ですが)、これを参考にして記述していけばいいです。


まず一旦ホームディレクトリに戻りましょう。

cd


PATHは.bashrcに書き込みます(cshの場合は多分.tcshrc)。

gedit .bashrc


ファイルの一番最後に追記します。


# PATH for NS-2

# VERSION
NS_VER=2.34
OTCL_VER=1.13
TCL_VER=8.4.18

# Parent directory path
NS_PAR=/usr/local
# NS home directory path
NS_HOME=$NS_PAR/ns-allinone-$NS_VER

# LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$NS_HOME/otcl-$OTCL_VER:$NS_HOME/lib

# TCL_LIBRARY
export TCL_LIBRARY=$NS_HOME/tcl$TCL_VER/library

# PATH
PATH=$PATH:$NS_HOME/bin



バージョンはns-allinone-2.34のものなので、それ以前のバージョンを使う場合はそれぞれ書き直してください。

保存したら端末で、

source .bashrc


を実行すると変更が反映されます。


端末で

ns


と入力してプロンプト「%」が表示されることを確認します。

nam


と入力して「NAM - The Network Animator」が起動するか確認します。







【おまけ】NS-2自動インストールスクリプト

筆者自身が(他人の分を含めて)複数のマシンにインストールするのが面倒で、シェルスクリプトにしたものがあるので、どうぞ。

ただし一切の動作保障はしかねます

.tar.gzで保存されるので、解凍して使って下さい。

wget http://dl.dropbox.com/u/8862966/ns_install.tar.gz


tar zxvf ns_install.tar.gz


cd ns_install


chmod +x ns_install.sh
./ns_install.sh


もし既にns-allinone-2.**.tar.gzを持っている場合初めに必ずまず本家ページからns-allinone-2.**.tar.gzというファイルをダウンロードし、ns_install.tar.gzを解凍して出来たns_install/ディレクトリに入れて下さい。

ns_install/ディレクトリ内にソースが無いと勝手にダウンロードします。←自分でDLしてください。

そのまま使うと/usr/local/ns-allinone-2.**/にインストールされます。

他のディレクトリにインストールしたい場合はns_install/ディレクトリ内のREADME.TXTを参考にファイルを書き換えて下さい。

テーマ : UNIX/Linux
ジャンル : コンピュータ

最新記事
カテゴリ別 記事一覧
最新コメント
月別アーカイブ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。