天地有情

[LaTeX] pst2pdf --- コマンドの使い方

§1 はじめに

更新版: 2017/05/06 (一部書き換え)

W32TeXの[bin]ホルダ下にある pst2pdf.exe の一般的な使用法の説明です.
PSTricks や Postscript などで作成された図形を PDF に変換します.

§2 使い方

(1)コマンド仕様

コマンドラインから次を実行すると,コマンド仕様が表示されます.

   c:> pst2pdf --help

(2)ソース書式例

-------------------------------------------
\documentclass{article} %欧文クラスに限る.
\usepackage{graphicx}
\usepackage{pst-all}
\pagestyle{empty}
\begin{document}
 % pspicture環境およびpostscript環境をサポートします.
 % (a) \begin{pspicture[*]}(x0,y0)(x1,y1)~\end{pspicture[*]} *は領域外をクリップする
 % (b) \begin{postscript}~\end{postscript}
\end{document}
-------------------------------------------

(3)コンパイル手順様

   (1) pst2pdf foo.tex [-clear] (エラーがなければ foo-pdf.tex が生成される)
     ※ images ホルダーが生成され,個別の画像が保存される.
     ※ 主なオプション: -clear 一時ファイルの削除
               -Iscale=0.8 画像サイズの拡大縮小
   (2) (pdf)latex foo-pdf.tex
     ※ pdflatex または latex コマンドで最終コンパイルする.


§3 サンプル

(1)ソースファイル (spiral.tex)

---------------------------------------
\documentclass{article}
\usepackage{graphicx,pst-all}
\pagestyle{empty}
\parindent=0pt
\begin{document}
\begin{pspicture}(-3.7,-3.7)(3.7,3.7)
\parametricplot[plotpoints=1000]{0}{3600}%
{t dup cos 1000 div mul t dup sin 1000 div mul}
\end{pspicture}
\end{document}
---------------------------------------

   ■コンパイル
(a) pst2pdf spiral.tex -clear
(b) pdflatex spiral-pdf.tex

(a)では imagesホルダ,spiral-pdf.pdf,spiral-pdf.tex,spiral-pst.tex が生成されます.
(b)では(a)で生成された spiral-pdf.tex を (pdf)latex でコンパイルし,完成させます.

※ spiral-pdf.pdf が完成した文書となります.
※ imagesホルダの中に spiral-fig-1.pdf が格納されています.

spiral.png

(2)ソースファイル (triangle.tex)

---------------------------------------
\documentclass{article}
\usepackage{pst-all}
\pagestyle{empty}
\begin{document}
\begin{pspicture*}(0,0)(5,4)
\pspolygon(0,0)(5,4)(5,0)
\pcline(0,0)(5,4)\lput*{:U}{hypotenuse}
\end{pspicture*}
\end{document}
---------------------------------------

   ■コンパイル
(a) pst2pdf triangle.tex -clear
(b) pdflatex triangle-pdf.tex

(a)では imagesホルダ,triangle-pdf.pdf,triangle-pdf.tex,triangle-pst.tex が生成されます.
(b)では(a)で生成された triangle-pdf.tex を (pdf)latex でコンパイルし,完成させます.

※ triangle-pdf.pdf が完成した文書となります.
※ imagesホルダの中に triangle-fig-1.pdf が格納されています.

triangle.png

(3)ソースファイル (cylinder.tex)

---------------------------------------
\documentclass{article}
\usepackage{graphicx,pst-calendar,pst-3dplot}
\pagestyle{empty}
\parindent=0pt
\begin{document}
\begin{postscript}
\psframebox{% begin box
\pspicture(-3,-2)(3,6.5)
\pstThreeDCoor[zMax=7]
\pstIIIDCylinder[RotY=30,fillstyle=solid,fillcolor=red!20,linecolor=black!60](0,0,0){2}{5}
\pstThreeDLine[linecolor=red]{->}(0,0,5)(0,0,7)
\pstThreeDLine[linecolor=red]{->}(-1,0,0)(4,0,0)
\pstThreeDLine[linecolor=red]{->}(0,-1,0)(0,4,0)
\endpspicture}% end box
\end{postscript}
\end{document}
---------------------------------------

   ■コンパイル
(a) pst2pdf cylinder.tex -clear
(b) pdflatex cylinder-pdf.tex

(a)では imagesホルダ,cylinder-pdf.pdf,cylinder-pdf.tex,cylinder-pst.tex が生成されます.
(b)では(a)で生成された cylinder-pdf.tex を (pdf)latex でコンパイルし,完成させます.

※ cylinder-pdf.pdf が完成した文書となります.
※ imagesホルダの中に cylinder-fig-1.pdf が格納されています.

cylinder.png

(4) その他

C:\w32tex\share\texmf-dist\doc\scripts\pst2pdf にある
ドキュメント pst2pdf-doc.pdf やサンプル test1.tex~test3.tex が用意されています.

(EOF)
スポンサーサイト
  1. 2013/09/29(日) 08:50:44|
  2. LaTeX Tools
  3. | トラックバック:0
  4. | コメント:0

[LaTeX] dvi2dvi コマンドの使い方

dvi2dvi コマンドの使い方

W32TeXの[bin]ホルダ下にある dvi2dvi.exe の一般的な使用法の説明です.
dvi2dvi を使えば、NTT jTeX で生成された DIV ファイルを ASCII pTeX の 形式に変換したり,
その逆も行なうことができます.

(1)コマンド仕様
   c:> dvi2dvi --help
   -------------------------------------
   Usage:
   dvi2dvi [-c output] [-d] [-f n] [-i file] [-m{0|h|1|2|3|4|5}] [-m mag]
   [-n n] [-o option] [-q] [-r] [-s file] [-t n] [-w]
   [-D var=val] [-F fontdesc] [-K] [-L] [-R resolution] [-S]
   dvi2dvi 3.0
   -------------------------------------

(2)オプション説明
   -c output      file's name
   -d         Enable debug output.
   -f num       Specify starting page number.
   -i file       Specify a PostScript prologue file.
   -m{0|h|1|2|3|4|5} or -m mag   Specify magnification.
   -n num       Specify how many copies to print.
   -o command     Specify a PostScript command to send.
   -q         Quiet operation.
   -r         Do not process pages in reverse order.
   -s file      Specify a PostScript setup file.
   -t num       Specify ending page number.
   -w         Do not show warnings.
   -D var=val     Define a variable.
   -F fontdesc    Specify fontdesc file you want to use.
   -K         Remove comments from included PS files.
   -L         Truncate file name to 8 characters.
   -R resolution   Specify different resolution.
   -S         Show some statistics.

(3)基本的な使い方
   (a) dvi2dvi in.dvi ーーー標準出力に変換されたdviが出力される.
   (b) dvi2dvi -c out.dvi in.dvi ーーーout.dvi ファイルに変換される.
   (c) dvi2dvi -F a2n in.dvi ーーーpTeXのdviをJTeXのdviに変換する.
   (d) dvi2dvi -F n2a in.dvi ーーーJTeXのdviをpTeXのdviに変換する.
   (e) dvi2dvi -F morisawa in.dvi ーーーJTeX/pTeXのdviをプリンタ内蔵漢字フォント(rml,gbm)に変換
   (f) dvi2dvi -F ipasub in.dvi ーーーJTeX/pTeXのdviをIPAサブフォントに変換

   ● よく利用されるのは (c),(d)と思われます.

(4)操作例
   ※ platex で生成された Psample.dvi を jlatex用 Jsample.dvi に変換する例
   c:> dvi2dvi -F a2n Psample.dvi > Jsample.dvi
   c:> dviout -ntt Jsample.dvi ====> -ntt option に注意しよう.
   
   ※ jlatex で生成された Jsample.dvi をplatex用 Psample.dvi に変換する例
   c:> dvi2dvi -F n2a Jsample.dvi > Psample.dvi
   c:> dviout Psample.dvi
  1. 2013/09/28(土) 08:38:15|
  2. LaTeX Tools
  3. | トラックバック:0
  4. | コメント:0

画像コマンドの使い方

画像コマンドの使い方

W32TeXの[bin]ホルダ下には次のような画像変換コマンド(.exe)が存在します.
どのような機能をもつのかはコマンド名でおおよそわかります.

・bmp2png    bmp → png Converter
・png2bmp    png → bmp Converter
・dvipng     dvi → png Converter
・latex2png   latex source → png Converter
・dvigif     dvi → gif Converter
・png2pdf    png → pdf Converter
・tiff2png    tiff → png Converter
・cjpeg     bmp,gif,ppm → jpg Converter
・djpeg     jpg → bmp,gif,ppm Converter
・jpeg2ps    jpg → ps/eps Converter
・png22pnm    png → ppm Converter
・ps2pdf     ps/eps → pdf Converter
・pstopdf    ps → pdf Converter
・epstopdf    eps → pdf Converter
・ps2eps     ps → eps Converter
・pstops     ps → ps Converter
・bmeps     png,jpg,pnm → eps Converter
・sam2p     gif,jpg,png → ps,pdf Converter

以下はこれらコマンドの一般的な使用法の説明です.

(1)bmp2png   bmp から png への画像変換.

c:\> bmp2png --help
-----------------------------------------------
Usage: bmp2png [-switches] inputfile(s) ...
or: ... | bmp2png [-switches] | ...

List of input files may use wildcards (* and ?)
Output filename is same as input filename, but extension .png

Switches (case-insensitive) :
-0..-9 Compression level (default: -6)
-I Create interlaced PNG files
-F type[,...] Specify filter type(s) used to create PNG files
type: none,sub,up,average(avg),paeth,all,auto(default)
-O name Specify name for output file
-D dir Output files into dir
-E Delete input files after successful conversion
-T Set the timestamp of input file on output file
-Q Quiet mode
-L Log errors to .\B2PERROR.LOG file
-----------------------------------------------
例:
a) bmp2png infile.bmp > outfile.png
b) bmp2png -O infile.bmp outfile.png

(2)png2bmp   png から bmp への画像変換.

c:\> png2bmp --help
-----------------------------------------------
Usage: png2bmp [-switches] inputfile(s) ...
or: ... | png2bmp [-switches] | ...

List of input files may use wildcards (* and ?)
Output filename is same as input filename, but extension .bmp

Switches (case-insensitive) :
-O name Specify name for output file
-D dir Output files into dir
-E Delete input files after successful conversion
-T Set the timestamp of input file on output file
-Q Quiet mode
-L Log errors to .\P2BERROR.LOG file
-----------------------------------------------
例:
a) png2bmp infile.png > outfile.bmp
b) png2bmp -O infile.png outfile.bmp

(3)dvipng   dvi から png への画像変換.
(4)latex2png   latexソース(.tex)から png への画像変換.
(5)dvigif   dvi から gif への画像変換.

使い方は 
PNG画像を生成する2つのコマンドの使い方 ー備忘録ー
http://konoyonohana.blog.fc2.com/をご参照下さい.

(6)png2pdf   png から pdf への画像変換.

c:\> png2pdf --help
-----------------------------------------------
Usage:
png2pdf -h
png2pdf --help

shows this help text.

png2pdf -v
png2pdf --version

shows version information

png2pdf -c
png2pdf --configure

sets permanent options. See below for options you can set

png2pdf -C
png2pdf --show-configuration

shows the current set of permanent options.

png2pdf -u
png2pdf --unconfigure

removes the permanent options.

png2pdf -r
png2pdf --reset

temporarily overrides the permanent options.

Options:
--------
-p
--pdf

specifies the PDF level. Maybe 1.2, 1.3 or 1.4.

-m
--mix-background

mixes against the background contained in the file's background
chunk or against the specified background color if the file
doesn't have a background chunk.

-s
--mix-specified[=bool]

sets the background specified in the -m option to have
higher priority than the background from the file's background chunk.

-i
--image-mask[=bool]

writes an image mask based on the PNG file's alpha channel
if available.

-a
--transparency[=bool]

writes transparency data based on the PNG file's alpha channel
if available.

-l
--invert-levels[=bool]

inverts the decision level for image mask creation. Normally
only pixels having 0 opacity are masked out. This option
masks all pixel having opacity in range 0...254.

-t
--alpha-transparency[=bool]

treats the alpha channel data as transparency. By default the
alpha channel is treated as opacity data.

-f
--file-time-check[=bool]

When running on a directory we do it in make style. A new PDF
file is created only for those PNG files which are newer
than the appropriate PDFs.
-----------------------------------------------
例:
a) png2pdf -c -p 1.4
sets PDF format level to 1.4.
b) png2pdf -m 255,255,255 x.png x.pdf
converts x.png to x.pdf. If x.png has a background chunk the color
from that chunk is used for color mixing, otherwise we mix
against a white background.
c) png2pdf -m 204,204,255 -s x.png x.pdf
converts x.png to x.pdf mixing against a light blue background
regardless whether or not there is a background chunk in the file.


(7)tiff2png    tiff から png への画像変換.

c:\> tiff2png --help
-----------------------------------------------
Usage: tiff2png [-verbose] [-force] [-destdir ] [-compression ]
[-gamma ] [-interlace] [-invert] [-faxpect] [...]

Read each and convert to PNG format (by default, in same directory as
corresponding TIFF). Suffixes will be changed from .tif or .tiff to .png.

-force overwrite existing PNGs if they exist
-destdir create PNGs in destination directory
-compression set the zlib compression level to (0-9)
-gamma write PNGs with specified gamma (e.g., 0.45455)
-interlace write interlaced PNGs
-invert invert grayscale images (swaps black/white)
-faxpect convert fax with 2:1 aspect ratio to square pixels
-----------------------------------------------

例:
a) tiff2png infile.tiff

(8)cjpeg   bmp,gif,ppm から jpg への画像変換.
c:\> cjpeg --help
-----------------------------------------------
usage: cjpeg [switches] [inputfile]
Switches (names may be abbreviated):
-quality N Compression quality (0..100; 5-95 is useful range)
-grayscale Create monochrome JPEG file
-optimize Optimize Huffman table (smaller file, but slow compression)
-progressive Create progressive JPEG file
-targa Input file is Targa format (usually not needed)
Switches for advanced users:
-dct int Use integer DCT method (default)
-dct fast Use fast integer DCT (less accurate)
-dct float Use floating-point DCT method
-restart N Set restart interval in rows, or in blocks with B
-smooth N Smooth dithered input (N=1..100 is strength)
-maxmemory N Maximum memory to use (in kbytes)
-outfile name Specify name for output file
-verbose or -debug Emit debug output
Switches for wizards:
-baseline Force baseline quantization tables
-qtables file Use quantization tables given in file
-qslots N[,...] Set component quantization tables
-sample HxV[,...] Set component sampling factors
-scans file Create multi-scan JPEG per script file
-----------------------------------------------

例:
a) cjpeg xxx.bmp yyy.ppm → xxx.jpg , yyy.jpg を得る.

(9)djpeg     jpeg から bmp,gif,ppm への画像変換.
   
c:\> djpeg --help
-----------------------------------------------
usage: djpeg [switches] [inputfile]
Switches (names may be abbreviated):
-colors N Reduce image to no more than N colors
-fast Fast, low-quality processing
-grayscale Force grayscale output
-scale M/N Scale output image by fraction M/N, eg, 1/8
-bmp Select BMP output format (Windows style)
-gif Select GIF output format
-os2 Select BMP output format (OS/2 style)
-pnm Select PBMPLUS (PPM/PGM) output format (default)
-rle Select Utah RLE output format
-targa Select Targa output format
Switches for advanced users:
-dct int Use integer DCT method (default)
-dct fast Use fast integer DCT (less accurate)
-dct float Use floating-point DCT method
-dither fs Use F-S dithering (default)
-dither none Don't use dithering in quantization
-dither ordered Use ordered dither (medium speed, quality)
-map FILE Map to colors used in named image file
-nosmooth Don't use high-quality upsampling
-onepass Use 1-pass quantization (fast, low quality)
-maxmemory N Maximum memory to use (in kbytes)
-outfile name Specify name for output file
-verbose or -debug Emit debug output
-----------------------------------------------
例:
a) djpeg -colors 256 -bmp infile.jpg > outfile.bmp
JPEGファイル形式から256色のBMPファイルに変換する

(10)jpeg2ps   jpeg から ps,eps への画像変換.

c:\> jpeg2ps --help
-----------------------------------------------
usage: jpeg2ps [options] jpegfile > epsfile
-a auto rotate: produce landscape output if width > height
-b binary mode: output 8 bit data (default: 7 bit with ASCII85)
-h hex mode: output 7 bit data in ASCIIHex encoding
-o output file name
-p page size name. Known names are:
a0, a1, a2, a3, a4, a5, a6, b5, letter, legal, ledger, p11x17
-q quiet mode: suppress all informational messages
-r resolution value (dots per inch)
0 means use value given in file, if any (disables autorotate)
-----------------------------------------------
例:
a) jpeg2ps infile.jpg > outfile.eps
b) jpeg2ps infile.jpg > outfile.ps

(11)png22pnm   png から ppm への画像変換.

c:\> png22pnm --help
-----------------------------------------------
usage: [-verbose] [-alpha | -mix | -rgba] [-background color] ...
... [-gamma value] [-text file] [-time] [pngfile]
-----------------------------------------------
例:
a) png22pnm infile.png > outfile.ppm
  ※ .ppm画像表示は IrfanView を利用するとよい.

(12)ps2pdf   ps/eps から pdf への画像変換.

c:\> ps2pdf --help
-----------------------------------------------
Usage: ps2pdf input.ps [output.pdf]
or: ps2pdf [options...] input.[e]ps output.pdf

option:
-sPAPERSIZE=(a4など)
-dEPSCrop
-dPDFA
-sProcessColorModel#DeviceCMYK
-----------------------------------------------
例:
a) ps2pdf infile.ps
b) ps2pdf infile.ps outfile.pdf
c) ps2pdf infile.eps outfile.pdf
d) ps2pdf infile.(e)ps > outfile.pdf

(13)pstopdf   ps/eps から pdf への画像変換.

c:\> pstopdf --help
-----------------------------------------------
PsToPdf | --convert convert ps into pdf
PsToPdf | --request handles exa request file
PsToPdf | --watch watch folders for conversions (untested)
-----------------------------------------------
例:
a) pstopdf infile.ps
※ Ghostscriptの最新version(9.10)が不整合のようでエラーになりました.

(14)epstopdf    eps から pdf への画像変換.

c:\> epstopdf --help
-----------------------------------------------
Usage: epstopdf [OPTION]... [EPSFILE]

Convert EPS to PDF, by default using Ghostscript.

Options:
--help display this help and exit
--version display version information and exit

--outfile=FILE write result to FILE
--(no)compress use compression (default: true)
--(no)debug write debugging info (default: false)
--(no)embed embed fonts (default: true)
--(no)exact scan ExactBoundingBox (default: false)
--(no)filter read standard input (default: false)
--(no)gs run ghostscript (default: true)
--(no)hires scan HiResBoundingBox (default: false)
--gscmd=VAL pipe output to VAL (default: gswin32c)
--res=DPI set image resolution (default: [use gs default])
--autorotate=VAL set AutoRotatePages (default: None)
Recognized VAL choices: None, All, PageByPage;
for EPS files, PageByPage is equivalent to All.
--restricted use restricted mode (default: false)

例:
all equivalently producing test.pdf:
a) epstopdf test.eps
b) cat test.eps | epstopdf --filter >test.pdf
c) cat test.eps | epstopdf -f -o=test.pdf

Example to look for HiResBoundingBox and produce corrected PostScript:
* epstopdf -d --nogs --hires test.ps >testcorr.ps
-----------------------------------------------

(15)ps2eps   ps から eps への画像変換.

c:\> ps2eps --help
-----------------------------------------------
ps2eps [-f] [-q] [-N] [-O] [-n] [-P] [-c] [-b] [-C] [-m] [-B] [-E] [-s ]
[-R +|-|^] [-t ] [-l] [-g] [-d] [-H] [-h|--help] [-g] [-a] [-W] [-L] [-V
|--version] [--] [psfile1] [psfile2] [...]
Options:
-f, --force force overwriting existing files
-q, --quiet quiet operation (no output while processing files)
-N, --noinsert do not insert any postscript code
-O, --preserveorientation do not filter Orientation: header comment
-n, --nofix do not try to fix postscript code
-P, --removepreview remove preview image (smaller file, but no preview)
-F, --fixps fix postscript code unconditionally
-c, --comments preserve document structure comments
-b, --binary treat postscript as binary, do not modify characters

-C, --clip insert postscript code for clipping
-m, --mono use black/white bitmap as base for calculation
-s, --size= page size (a0-a10,letter,...) or in format XxY[cm|in] (default:cm),
where X and Y are numbers
use --size=list to list pre-defined page sizes
-R, --rotate= rotate resulting EPS. : +=+90 (clockw.),-=-90 (counter-clockw.) ^=180 degrees
-t, --translate specify x,y offset (may be negative) in postscript points (1/72 dpi)
-r, --resolution specify dpi resolution to render with ghostscript (default 144)
-l, --loose expand the original bounding box by one point in each direction
-B, --ignoreBB do not use existing bounding box as page size for rendering
-E, --ignoreEOF do not use %%EOF as hint for end of file
-g, --gsbbox use internal bbox device of ghostscript
-H, --no-hires do not use a HiResBoundingBox
-h, --help help information
-L, --license show licensing information
-V, --version show version information
-d, --debuggs show ghostscript call
-a, --accuracy improve accuracy during rendering (maybe slower)
-W, --warnings show warnings about sanity of generated eps file
-- all following arguments are treated as files
(allows filenames starting with -)
-----------------------------------------------
例:
a) ps2eps infile.ps > outfile.eps
b) ps2eps *.ps

(16)pstops   ps から eps への画像変換.

c:\> pstops
-----------------------------------------------
Usage: pstops [-q] [-b] [-wwidth] [-hheight] [-dlwidth] [-ppaper]
[infile [outfile]]
-----------------------------------------------
例:
a) pstops infile.ps > outfile.ps
b) pstops infile.ps outfile.ps
※ Ghostscriptの最新version(9.10)が不整合のようでエラーになりました.

(17)bmeps   png,jpg,pnm から eps への画像変換.

c:\> bmeps --help
-----------------------------------------------
bmeps [options] [ [ ] ]

Options
-------
-p select one of the following
1 (PS level 1)
2 (PS level 2 = default)
3 (PS level 3)
-b BoundingBox file only
-c turns color printing on
-g turns color printing off (default)

-e combine the follogin characters to specifiy
8 ASCII-85-encoding instead of ASCII-Hex
r runlength encoding
f flate encoding

-t choose one of the following
png
jpg
pnm

-d draft mode only
Draft mode means the program reads only header information
from the bitmap file and prints a dummy image.

-a
o alpha channel is opacity, not transparency
t alpha channel is transparency, not opacity
l alternated transparency trigger level
m mix foreground- and background color
sd,d,d specify background color i.e. s128,128,255
PNG supports transparency channels, having values from
0 ... 2^n-1. EPS supports simple yes/no decisions to mask
pixels, so the alpha channels value must be mapped to
"use pixel" or "mask pixel". The standard behaviour is
to mask only pixels which have no opacity at all.
The alternated trigger level uses only pixels having full
opacity.

-s print DSC comments

-o use showpage operator

-u undefine /pstr and /inputf, use
separated dictionary

-r force garbage collection via "1 vmreclaim"

-q use resolution information from the PNG file's
pHYs chunk (if available).
-----------------------------------------------
例:
a) bmeps -t png infile.png > outfile.eps
b) bmeps -t jpg infile.jpg outfile.eps
c) bmeps -c -t jpg infile.jpg outfile.eps

(18)sam2p   gif,jpg,png から ps,eps への画像変換.


使い方は 
画像変換ツール sam2p 覚え書き
http://konoyonohana.blog.fc2.com/blog-entry-26.htmlをご参照下さい.





  1. 2013/09/17(火) 07:17:08|
  2. 便利ツール
  3. | トラックバック:0
  4. | コメント:0

PNG画像を生成する2つのコマンドの使い方 ー備忘録ー


PNG画像を生成する2つのコマンドの使い方 ー備忘録ー

W32TeX で配布されている latex2png.exedvipng.exe の使い方の備忘録です.

c:/w32tex/bin下に latex2png.exe および dvipng.exe が存在し,適切に実行すると
PNG画像が生成されます.

■ latex2png.exe はLaTeX ソースファイル(.tex)からPNG画像を生成します.
■ dvipng.exe はDVIファイル(.dvi)からPNG画像を生成します.

§1.コマンドラインからのヘルプの表示.

■ C:\> latex2png --help
Create a png from a single page latex source by using dvipng.
Usage: latex2png Resolution latexfile[.tex]
Example: latex2png 144 latexfile

■ C:\> dvipng --help
This is dvipng 1.14 Copyright 2002-2010 Jan-Ake Larsson
Usage: dvipng [OPTION]... FILENAME[.dvi]
Options are chosen to be similar to dvips' options where possible:
-d # Debug (# is the debug bitmap, 1 if not given)
-D # Output resolution
-l # Last page to be output
-o f Output file, '%d' is pagenumber
-O c Image offset
-p # First page to be output
-pp #,#.. Page list to be output
-q* Quiet operation
-T c Image size (also accepts '-T bbox' and '-T tight')
-v* Verbose operation
- Interactive query of options

These do not correspond to dvips options:
-bd # Transparent border width in dots
-bd s Transparent border fallback color (TeX-style color)
-bg s Background color (TeX-style color or 'Transparent')
--depth* Output the image depth on stdout
--dvinum* Use TeX page numbers in output filenames
-fg s Foreground color (TeX-style color)
--follow* Wait for data at end-of-file
--freetype* FreeType font rendering (preferred, default on)
--gamma # Control color interpolation
--gif Output GIF images (dvigif default)
--height* Output the image height on stdout
--nogs* Don't use ghostscript for PostScript specials
--nogssafer* Don't use -dSAFER in ghostscript calls
--norawps* Don't convert raw PostScript specials
--palette* Force palette output
--picky When a warning occurs, don't output image
--png Output PNG images (dvipng default)
--strict When a warning occurs, exit
--t1lib* T1lib font rendering (default on)
--truecolor* Truecolor output
-Q # Quality (T1lib and PK subsampling)
--width* Output the image width on stdout
-z # PNG compression level

# = number f = file s = string * = suffix, '0' to turn off
c = comma-separated dimension pair (e.g., 3.2in,-32.1cm)

§2.latex2png.exe の簡単な例題

================ sample.tex ===============
\documentclass{article}
\pagestyle{empty}
\begin{document}
\[ \left( \int_0^\infty \frac{\sin x}{\sqrt{x}} dx \right)^2=
\sum_{k=0}^\infty \frac{(2k)!}{2^{2k}(k!)^2} \frac{1}{2k+1}=
\prod_{k=1}^\infty \frac{4k^2}{4k^2 -1}= \frac{\pi}{2} \]
\end{document}
============================================

(注意)欧文クラスを使います.和文クラスは使えません.
    したがって,文書中に日本語の記述はできません.

(1)コンパイル:
   引数の Resolution を 80, 100, 120 にして 3つの png を作成してみます.
   次のように操作します.(PNGファイル名を適宜,リネームします)

   C:\> latex2png 80 sample.tex   → (sample80.png)
   C:\> latex2png 100 sample.tex   → (sample100.png)
   C:\> latex2png 120 sample.tex   → (sample120.png)

(2)これらのPNG画像をLaTeX文書に取り込み,PDF にしたものを貼り付けたのが次の図です.

l2p.png

例えば,Resolution=120 は 120dpi の意味ではない.PNGフォーマットには”解像度”の概念はありません.
恐らくPNGフォーマットの補助チャンク pHYs (物理的なピクセル寸法)に書き込まれ,サイズ(W×H)が設定
されるものと推測されます.
解像度はペイント(mspaint.exe)で表示し,プロパティを調べると Windows標準の 96dpi です.
(72dpi を標準とするものも存在します)深く考えなくてもよさそうです.

※ latex2png は次に述べる dvipng のオプション -D resolution だけを有効にした,特化された
  コマンドと考えられます.

§3.dvipng.exe の簡単な例題

前述の sample.tex を例にとり,説明します.
このコマンドは latex で一旦,sample.dvi ファイルを生成する必要があります.

(1)コンパイル:
   C:\> latex sample.tex (sample.dviが生成される)
   C:\> dvipng sample.dvi
      各自確認して頂ければわかりますが,余白ができてしまいます.この余白を取り除く
      には "-T tight" オプションを付加します.
   C:\> dvipng -T tight sample.dvi
      さらには,前景色(-fg オプション),背景色(-bg オプション)などを付加することができます.

(2)余白なし,前景色を赤色とした場合は次のようになります.
   C:\> dvipng -T tight -fg "rgb 1.0 0.0 0.0" sample.dvi

(注)Windowsのコンソール(cmd.exe)を利用される場合は "...." (ダブルコーティション)としてください.

dp.png


※ オプションが多数ありますので各自ご確認して頂ければ幸いです.

■ 和文クラスを利用する場合は次のサイトを参考にしてください.

[電脳世界の奥底にて] http://zrbabbler.sp.land.to/pxtosb.html

■ dvipng と同様な使い方をする dvigif.exe も使ってみてはどうでしょう.

  1. 2013/09/13(金) 14:36:44|
  2. 便利ツール
  3. | トラックバック:0
  4. | コメント:0

統計解析ツール「R」事始め

統計解析ツール「R」事始め

概要:
R (または R言語) はオープンソース・フリーソフトウェアの統計解析向けのプログラミング言語及び
その開発実行環境です.

R言語はニュージーランドのオークランド大学のRoss IhakaとRobert Clifford Gentlemanにより作られた.
現在ではR Development Core Team(S言語開発者であるJohn M. Chambersも参画している.)により
メンテナンスと拡張がなされています.

§1.入手とインストール
*R-Tips http://cse.naro.affrc.go.jp/takezawa/r-tips/r.html のセットアップの項を参照
または
(Windowsユーザーのための R/Tinn-R)
http://blue.zero.jp/yokumura/intro2R.html

を参照してください.
現時点での最新バージョンは次の通りです.

*R: Version 3.0.1
*Tinn-R: Version 2.4.1.7
R専用エディタであるが必須ではない.使い慣れたエディタを使えばよいです.

また,以下のようなR の統合開発環境も用意されています.

*R-Studio IDE:Version 0.97
http://rstudio.org/

§2.特徴
R言語 はベクトル処理言語です.
R-wikipediaでは次のように述べられています.

■R言語は,「ベクトル処理」と呼ばれる実行機構により,柔軟な処理を簡便な記法で実現する.
R言語で言う「ベクトル」とは数学的用語のベクトルとはやや異なり「構造を持ったデータ集合」という「リスト」
に近い意味をもちます.
数学的ベクトル・行列のみならず,配列・リスト・テーブル(データフレーム)・集合・時系列などといった複雑な
構造を持ったデータも宣言無く変数に納められます.

■ベクトルは複数の要素を持ち得るが,例えば,リストの要素が更にテーブルや時系列の配列などであるといった
「入れ子構造」であってよい.このおかげで複雑なデータ構造が他愛もなく構築・管理できます.

■予約語としてRに組込まれた演算も関数もベクトルを扱える.ユーザー定義関数をベクトル対応にするための
関数もあります.

■ベクトル処理に拠って演算も関数も特別な制御を要さずベクトルの全要素に作用するため,
プログラム全体の制御構造が単純化して意味が明瞭になるという効用が期待できます.

重要:
R言語を初めて使われる方々は,次のサイトを参考にしてください.
平易かつ丁寧に説明されています.

R-Tips http://cse.naro.affrc.go.jp/takezawa/r-tips/r.html

上記内容をpdfにしたものがこちら.
統計解析フリーソフト R の備忘録 PDF
http://cse.naro.affrc.go.jp/takezawa/r-tips.pdf


§3.どのようなことが出来るのでしょうか?

*次のような演算処理や統計解析および描画などが出来ます.
    ・ベクトル
    ・行列・配列・リスト
    ・関数(予約関数,ユーザ定義関数)
    ・プログラミング(if,for,while,repeatなど)
    ・数値演算
    ・データフレーム(テーブルの作成,読み込み)
    ・グラフィックス
    ・統計解析

§4.Potato Tips (チョットした情報)
 *コメント記号はシャープ #
 *変数名は大文字と小文字で区別される
 *変数名の削除は rm() コマンドで行う
 *代入記号
     次の4種類が用意されています.
     ・x <- 100      通常,利用される
     ・100 -> x
     ・assign("x",100)
     ・x=100       非推奨
 *作業ディレクトリ
     ・setwd("c:/temp")  dir変更
     ・getwd        カレントdir確認
 *関数について調べるときは ?関数名  を入力する.あるいは help(関数名) 
 * ??文字列 でその文字が含まれている関数やパッケージが検索される
 *特定のパッケージの中の関数について調べる
      help(関数名, package="パッケージ名")
 *式中の空白は無視される
 *式と式の間をセミコロン”;”で区切ると,複数の式を1行にまとめて書ける
 *式の入力を途中で止めるときは,Escを押す
 *代入の式を丸カッコで囲むと,代入と表示が同時に行われる. e.g. (x <- 10)
 *Rのパッケージを使う
      install.packages("")でインストール
      library()で使えるようになる
      R本体がアップデートされた場合,パッケージはインストールしなおす必要がある

 *ファイル名は .r で終わるようにし, もちろん, 意味のある名前にする

 *デモの見方
     demo() と打つと,デモ可能な一覧が出てきます.demo(graphics) などとする
 *コンソール画面をクリアにすには [Ctrl + L] で行える

§5.始動と終了

*始動操作
次の3つの方法のいずれかで起動させます.
(1)デスクトップにあるアイコン[R]をクリックする.
(2)スタートメニューのプログラムから R 3.0.1を選択する.
(3)インストール先の x:\R-3.0.1\bin\i386\Rgui.exe をクリックする.

初期起動画面を示します.

r01.png


(注)画面冒頭のメッセージは通常は日本語で表示されるはずですが Windows7 にインストールした
   バージョン3.0.1は英語になっていました.

コンソール画面の” >” (入力促進記号:プロンプトと言います)の後ろに式を入力します.
5+8=13
sqrt(5)=2.236068
を計算してみました.

r02.png


R では実数,複素数,文字列,論理数などの基本的データを一つずつ単独で扱う代わりに,
同じ型のデータをいくつかまとめたベクトルと呼ばれる形で取り扱っています.

よって,例では数値や文字列を一つずつ単独で扱っているかのように説明してきましたが,
実際には R はこれらの基本的データを,要素の個数が一つだけのベクトルとして扱っていたわけです.

例えば,以下の計算は要素が一つのベクトル同士の足し算を行っていることになります.上の例では
5 + 8 だから単に 13 と返せばよいだけのはずだが,よく見ると [1] が前についています.
これは 1×1 のベクトル (5) と 1×1 のベクトル (8) の足し算を行って,結果として 1×1 のベクトル (13)
が返ってきたことになる.[1] は『ベクトルの一つ目の要素』という意味です.

*終了操作
次の4つの方法のいずれかで終了させます.
(1)> quit()
(2)> q()
(3)画面右上のクロスマーク[X]をクリックする
(4)メニュー[File]--[Exit]を選択する

すると[Save workspace image?]→ [いいえ]を選択して終了します.

r03.png



(注)作業スペースというのは,Rを起動してから終了するまでに行った計算式全体の保存のことですが,
   後述のエディタにスクリプト(計算式)を書き,ファイル名を xxx.r として,それを保存します..

§6.R と エディタの連携

R を起動して [File]--[New script]を選択すると『R Editor』が開きます.

r04.png


ここに一行ずつ(一つの命令を複数行に分けて書いても可)命令を書き込んでいきます.

r05.png


コンソールと異なりRエディタでは入力しただけでは命令は実行されません.
入力した動作をコンソールへ送信する方法は2種類あります.

1.[F5キー]: Rエディタ上でカーソルが今存在している1行のみが送信されます.送信後,カーソルは次の行へ移ります.
2.範囲を指定して[F5キー]: 選択している範囲の命令が送信されます.

[F5キー]の代わりに[Ctrlキー]+[R]でも同様です.全選択のショートカット([Ctrlキー]+[A])と組み合わせ,
[Ctrlキー]を押したまま[A]→[R]

と操作すると楽に全ての命令をコンソールへ送信することができます.

このように,エディタから送信した場合でもコンソールへ直接入力したのと同様に1行1行命令は解釈され,
実行されます.

(注意)[Edit]--[GUI preferences...]を開くと『Rgui Configuration Editor』でコンソールの環境を
     調整できます.ウインドウ構成は
     シングル ドキュメント インターフェイス (SDI) とマルチドキュメント インターフェイスの両方 (MDI)
     のいずれかを選択できます.上図は SDI を選択したものです.
     MDI を選択すると,マウス操作あるいはアイコンでコンソールへ送信操作できますが割愛します.


§7.グラフ表示を試みる

R Editor を起動させ,次の式を記述します.

=====================================
sin_curve <- function(x){sin(pi*x)/(pi*x)}
plot(sin_curve,-10,10)
dev.copy(pdf, file="sample.pdf")
dev.off()
=====================================

1行目:ユーザ定義関数 sin_curve をfunction命令で定義.
2行目:plot関数で sin_curve を -10[rad]~10[rad]の範囲で描画を指定.
3行目:dev.copy命令で sample.pdf を出力.
4行目:必要な出力がすべて終ったらすぐにデバイスを閉じる.


上記の4行を選択(ハイライト:マウスで黒染)後,[F5]キーを押して R コンソール に送信します.

r06.png


同時に,sin_curve のグラフが表示されます.

r07.png


R がサポートしている作図デバイスを呼び出す関数は help("Devices") で調べることが出来ますが,
代表的なデバイス関数には以下のようなものがあります.

bmp, pdf, png, jpg, ps(eps)

ここで得られたグラフ画像は Word や LaTeX などの文書に貼り付けることができます.

  1. 2013/09/07(土) 11:53:44|
  2. 便利ツール
  3. | トラックバック:0
  4. | コメント:0