2014年9月19日金曜日

jbibtex -kanji=utf8 ができない

奥村先生の Latex2e 美文書作成入門 は素晴らしいバイブルと言える本である。が、ちょっと内容が古くなってきた。今回 windows7 64bit にインストールしたら、jbibtex -kanji=utf8 でそんなオプションがないと怒られる。調べたところ、jbibtex は pbibtex になったとのこと。

2014年7月30日水曜日

Inkscape に epsファイルをインポートすると失敗する

環境 Inkscape0.48 win7 64bit

Inkscape にepsファイル(gnuplotで作成)をドラッグ&リリースすると、プレビューが真っ白でうまく取り込めない。前はできていたはずなのに。

ghostscript の binフォルダへのパスが通っている必要があるようだが、通っている。
epsファイルのあるフォルダでコマンドプロンプトを起動し、 gswin32 ***.eps とやっても
正しく表示される。gsviewでも正しく表示される。

epsファイルを、c:\temp に移動させて再度 Inkscapeにドラッグ&リリースしたところ、成功。

epsファイルのパスに日本語が入っていることに問題がある模様。その原因が
inkscapeなのかgsなのかは不明。

2014年2月20日木曜日

TEXにpowerpointの絵をEPS変換して貼り付ける

TEXにpowerpointの絵をEPS変換して貼り付けたい。
いろいろやってみた試行錯誤の記録。

1. PostScriptプリンタへの出力ファイルを使う

epsファイルはできるが、portlaitにどうしてもならない。印刷時に紙の向きを指定しても結果は変わらない。
tex側の \includegraphics[angle=270]とかでも回転できるが、図がはみだしてしまい、
width等してしても思い通りにいかない。


2. PDFファイルに変換して、inkscapeで一旦読み込み、EPSとして保存する。

これでうまくいく場合もある。が今回は下記問題でダメ。

2-1inkscapeで読み込んだファイルのフォントが置換されたためか位置が微妙にずれる。
   PDFにフォントを埋め込んであるがダメだった。
2-2 インポート時にinkscapeがフリーズする症状が頻発。Powerpoint2010から直接PDFとして
    保存したファイルでこの現象が起こる様子。

3. PDFファイルに変換して、Xpdf の pdftops -epsで変換する。

うまくいきそうだが、図の右端がきれてしまう。図を縮小出力すればよいのだろうが、それらしいオプションがみあたらない。-noshrink というのがあるからデフォルトで紙に合わせてくれるはずではないのか?
しょうがないので -papersize A3 と紙サイズを大きくすることで端がきれていないファイルが作成でいた。紙サイズは大きくても texに取り込むので問題はない。


2014年2月3日月曜日

latex .bbファイルがあるのに no BoundingBox エラーがでる

いろいろ調べてみると、ファイル名に "." などがはいっているとこのエラーが出る模様。しかし自分は使っておらずこれが原因ではない。

http://plaza.rakuten.co.jp/kronos/?targetdate=201112

に同じ話があり、書いてある通り、

\usepackage{graphicx}



\usepackage[dvipdfmx]{graphicx}

にしたところエラーがでなくなった。
理屈はよくわからないが、コンパイル時に画像を扱う際、図はDVIドライバが処理する。
そのドライバを上記オプションで指定している。オプションが無指定の場合はデフォルトの
dvips になるが、それだとエラーがでる(その理由がわからない‥)


http://hooktail.org/computer/index.php?%BF%DE%A4%CE%C1%DE%C6%FE#content_1_0

bibtex 日本語があるとエラーが出る

bibtex を走らせると下記エラーが発生


I was expecting a `,' or a `}'---line *** of file ref.bib
 :
 : @ARTICLE{HOGE,
(Error may have been on previous line)


.bibファイルのエラー発生箇所をみると、発生箇所の直前に日本語がある。
 日本語をすべて "" で囲むとエラーがでなくなるようだが面倒。

winshellのbibtex設定を




 から





に変更したところ解決した。

2014年1月9日木曜日

powerpointに貼り付けた複数個の図をきれいに並べるマクロ

使用法

①図を、並べたい順番に選択する。
 現状 4,6,8枚のみ対応

②マクロ実行する

テンプレートによってスライド上部のタイトル部分の大きさが
異なりますが、その場合は yoffset の値を適宜調整ください。

しかしoffice2010でマクロ記録機能もなくなりマクロの書き方も
どこを調べればいいのか非常にわかりにくい。



Sub MultiImageTile()


    SlideHeight = ActivePresentation.PageSetup.SlideHeight
    SlideWidth = ActivePresentation.PageSetup.SlideWidth
    xoffset = 2
    yoffset = 70
    captionheight = 50

   
    imagenum = ActiveWindow.Selection.ShapeRange.Count
   
    If imagenum = 6 Then
        Nrow = 2
        Ncolumn = 3
    ElseIf imagenum = 8 Then
        Nrow = 2
        Ncolumn = 4
    ElseIf imagenum = 4 Then
        Nrow = 2
        Ncolumn = 2
    End If
   
       
    imagewidth = (SlideWidth - xoffset) / Ncolumn - xoffset
    imageheight = (SlideHeight - yoffset) / Nrow - captionheight
   
 
    For y = 1 To Nrow
        For x = 1 To Ncolumn
           
            imagetop = yoffset + (y - 1) * (imageheight + captionheight)
            imageleft = xoffset + (x - 1) * (imagewidth + xoffset)
'           ActiveWindow.Selection.ShapeRange.ScaleWidth 0.48, msoTrue

            With ActiveWindow.Selection.ShapeRange((y - 1) * Ncolumn + x)
'               .Fill.Transparency = 0#
                .LockAspectRatio = msoTrue
                .Top = imagetop
                .Left = imageleft
'               .Width = imagewidth
'               .Height = imageheight
            End With
               
            If imagewidth / ActiveWindow.Selection.ShapeRange((y - 1) * Ncolumn + x).Width < imageheight / ActiveWindow.Selection.ShapeRange((y - 1) * Ncolumn + x).Height Then
                ActiveWindow.Selection.ShapeRange((y - 1) * Ncolumn + x).Width = imagewidth
                captiontop = imagetop + ActiveWindow.Selection.ShapeRange((y - 1) * Ncolumn + x).Height
            Else
                ActiveWindow.Selection.ShapeRange((y - 1) * Ncolumn + x).Height = imageheight
                captiontop = imagetop + imageheight
            End If
           

     '      activewindow.shapes.addtextbox(1,imageleft,imagetop+imageheight,imagewidth,captionheight)
            Set captiontext = ActivePresentation.Slides(ActiveWindow.Selection.SlideRange.SlideIndex).Shapes.AddTextbox(1, imageleft, captiontop, imagewidth, captionheight)
            With captiontext
                .TextFrame.TextRange.Text = "aa"
                .TextFrame.TextRange.ParagraphFormat.Alignment = msoAnchorCenter
                .TextFrame.TextRange.Font.Size = 12
'               .TextFrame.HorizontalAnchor = msoAnchorCenter
            End With
               


               
                   
     '      Captiontext.TextFrame.HorizontalAlignment = 2
               
        Next
    Next
       
End Sub

2014年1月6日月曜日

windows XP mode が遅い

下記ページ方法2で改善した。

http://support.microsoft.com/kb/978209/ja

方法 2 : Windows XP Mode や Virtual PC の Idle thread を有効化する

以下の手順で、ゲスト OS が Idle になった場合に Idle Thread を実行して、連続した作業を継続させてください。

注 : 複数のユーザーでコンピュータを共有する場合は、それぞれのユーザーに対して設定変更をする必要があります。
  1. Windows XP Mode または Virtual PC を停止します。
  2. 以下のコマンドを実行して、Options.xml ファイルを開きます。

    notepad "%LocalAppData%\Microsoft\Windows Virtual PC\Options.xml"
  3. <virtual_machines> セクションに以下のキーを追加入力します。

    <enable_idle_thread type="boolean">true</enable_idle_thread>
  4. Options.xml ファイルを保存し、Virtual PC を再起動します。