脳卒中左片麻痺になりました

twitter http://twitter.com/#!/ti5942

カテゴリ : 画像挿入

extractbbがうまくいかない例として
(1) QA: extractbbに失敗:
(2) QA: xbbファイルが作成できない:
があるが、もうひとつの例をあげておく。

Xara Xtreme で作ったCropbox-test.pdfに対して

PDF-Shufflerで青色の円を切り出したものをCropbox-test-blue.pdfとする。
screenshot01screenshot02screenshot03screenshot04



これらを、pdfLaTeXでインクルードすると
screenshot01screenshot02
となるが、upLaTeX→dvipdfmxだと
screenshot03screenshot04
となり、結果が異なる。

この件に関しては、以下のコメント参照。




TeX Live 2012/Debian
screenshot01screenshot02


*****
Package xetex.def Warning: No clipping support in XeTeX yet on input line 56.

<use  "./pdf/tiger-w10.pdf" >

Package xetex.def Warning: No clipping support in XeTeX yet on input line 58.

*****

screenshot03screenshot04screenshot05

まあ、TikZでのクリッピングはできているので、ヨシとするか。

なお、TeXPortal(TeX Live 2012)でも同様
(ちなみに、TeXPortalでは、zxjatypeが使えるので、zxjatypeでも確認)

画像挿入:「切り抜き」の続き
まずは、切り抜きたい箇所の位置確認。
なお、挿入用画像は前記事で得たtiger-w10.pdf
screenshot01screenshot02

切り抜きたい箇所は、赤枠の部分で、赤枠の左下隅(1,6.5)、右上隅(3,8)
ちなみに、tiger-w10.pdfのサイズは、10cm✕10.3cm
screenshot03

これで、準備は完了!
******
pgfuseimageの場合と同じように、TikZを使って「切り抜き」をしてもいいのですが、
includegrapficsの場合は、「(見た目)既存の画像から切り抜いた画像を、指定の大きさの枠内いっぱいに挿入する」ことができます。

正確には、どちらも「既存の画像全体」を「指定の大きさの枠」にあわせて挿入できるのですが、includegrapficsの場合は、「既存の画像の一部」を「指定の大きさの枠」にあわせて挿入することもできるということ。
指定の大きさの枠」の指定方法は、①幅のみ、②高さのみ、③両方、④両方で元画像の縦横比率そのまま の4通りある。
既存の画像の一部」の指定方法は、①viewport、②trim の2通り
指定の大きさの枠」外を見えなくする(clipオプション)ことで、見た目切り抜いた感じになる。
screenshot01
したがって、「指定の大きさの枠」で②高さのみをした場合の例は

screenshot01screenshot02

(ア)viewport+clip
*****
赤枠の左下隅(1.5cm, 6.5cm)、右上隅(3cm, 8cm)
\includegraphics[viewport=1.5cm 6.5cm 3cm 8cm,clip,height=5cm]{./pdf/tiger-w10.pdf}
*****

(イ)trim+clip
*****
左から1.5cm、下から6.5cm、右から10-3=7cm、上から10.3-8=2.3cm
\includegraphics[trim=1.5cm 6.5cm 7cm 2.3cm,clip,height=5cm]{./pdf/tiger-w10.pdf}
*****

続く。。。

(1)まずは、Pandocでも使えるテンプレートを、ホームのMyTemplatesフォルダーに作成する。
screenshot01

$fname$に「イメージファイル名」をセットし、名前を変えて保存。(拡張子もtexに変更)
それをpdflatexでタイプセットすれば、幅10cmのPDFに変換される。
オプションinterpolate=trueの効果はまだ不明。。。

(2)次に、geditの外部ツールに登録
screenshot01

BNAME=${GEDIT_CURRENT_DOCUMENT_NAME%.*}
変数BNAMEに現在編集中のファイル名から拡張子を除いたもの(ベース名)をセットする。

Pandocコマンド
pandoc --template=$HOME/MyTemplates/pan-pdfw10.latex -o "$BNAME"-w10.pdf -V fname="$BNAME"
テンプレートは、(1)で作成したファイル名
入力テキストは不要
出力ファイルは、ベース名に-w10を付加し、拡張子をpdfとする。
テンプレート内の変数fnameにベース名をセット
--latex-engineはpdflatexなので、省略した。

extractbbは、私の場合、自動作成設定をしてないのでここにも入れている。

【使い方】
変換対象のイメージファイルと同じフォルダに同じベース名でテキストファイルを作成し、それをカレントドキュメントにする。
例.tiger.md
screenshot01

適当に何かかいてもいいし、空ファイルでもかまわない。

この状態で、(2)で作成した外部ツールを起動すれば、tiger.pdfの幅10cm版PDF(tiger-w10.pdf)とxbbファイル(tiger-w10.xbb)が出来上がる。

screenshot01screenshot02screenshot03screenshot04



オオーw(*゚o゚*)w


pgfdeclareimageコマンドは、プリアンブルに書ける!?←pgfuseimageに+数票

(1)まずは、TikZを使って、挿入画像の一部の「切り抜き」の例
screenshot01screenshot02screenshot03



以下のプリアンブルでincludegraphicsコマンドも使える!?
*****
\documentclass[dvipdfmx]{jsarticle}
\usepackage{amsmath,amssymb}
\usepackage{tikz}
\pgfdeclareimage[height=7cm]{tiger}{./pdf/tiger.pdf}
*****
上の例は、図1の「虎」の右目部分(赤枠で囲まれた部分)を切り抜き(図2)、それを拡大する
(図3)例です。

赤枠の位置(図の左下隅を起点とする)は
図のノードに名前を適当につけて、図の左下隅から右上隅までグリッドを表示させればわかります。
screenshot01screenshot02



これは、includegraphicsコマンド使用にも必要。大体、2頂点(1cm,4.5cm)と(2cm,5.5cm)を対角とする矩形

*****

(2)includegraphicsコマンド
tiger.pdfのサイズを見てみると194mm✕200mm
screenshot01
A4 の縦置き (210 x 297 ミリ)だから、サイズオーバー
screenshot01
挿入用画像(PDF)は、そのままでもいいように作成する。
(続く。。。)


 (ア)viewport+clip
 (イ)trim+clip


そうでした(^_^;)

includegraphicsコマンドと同じようにpgf(use)imageコマンドが使えるんです。
つまり、以下のように書けるのです。
screenshot01screenshot02screenshot03




しかし、pgfdeclareimage(pgfimage)コマンドのオプションは
screenshot01
5つだけ。。。

一方、includegraphicsコマンドのオプションは
screenshot01
いろいろありますね。

したがって、普段は、機能豊富な「includegraphicsコマンド」を使えばいいんじゃないかな?ということらしい。
でも。。。(続く)

「dvipng vs pdftocairo」なら、迷わず「pdftocairo」を選ぶのだが。。。

SVGとなると、話は別だな。

***** 補足
もちろん、pdftocairoで用いるPDF画像は、あらかじめcropしておく。
pdftocairoのオプションでも、cropは可能だが、単位がpixelsまたはpoints指定。。。

余白なしPDF
(1)一般・・・previewパッケージ
(2)TikZ図の場合はstandaloneクラスでもOK

(3)pdfcropコマンド

参考:
dvipdfmx で preview パッケージする件について - マクロツイーター:
*****

まずは、何気に使用可能か試してみる。
pdftocairoは、問題なし。
では、dvisvgm(v.1.0.11)はというと。。。
******
ti5942@Ubuntu-D:~/LaTeX/TeXWiki/LaTeX入門/最初の例$ dvisvgm ex1.dvi

kpathsea: Running mktexmf rml.mf
WARNING: font 'rml' not found
processing page 1 [1]terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc
中止 (コアダンプ)
ti5942@Ubuntu-D:~/LaTeX/TeXWiki/LaTeX入門/最初の例$
*****
なんのこっちゃ?。。。

日本語の情報がないんだよな。。。


こういうときには、CJK-LaTeXを使えば、うまくいくことが期待できる。
参考:
writeLaTeX で日本語してみたかった件について - マクロツイーター:
まずは、
screenshot1screenshot2




*******
注意.
TeX Live 2012/Debianには、 CJKpunctがない!?
参考:
CJK パッケージ入門的な何か(1) - マクロツイーター:
*******
screenshot1

すんなりである。
これをインラインで入れようと思ったが、データサイズが大きい(スクリーンショット16.6 kB、JPEGに対しこのSVGは、50.6kB)

screenshot1

*******



このページのトップヘ