天地有情

download --- 外部プロセスによるファイルのダウンロード(旧名: download.sty を使ってみる)

§1 はじめに

パッケージには,ユーザが文書の中から,(curlか,wgetコマンドを使用して)ファイルを
ダウンロードすることができます.


1.1 インストール

必要に応じて,CTAN( http://www.ctan.org/pkg/download )から
ダウンロードしてください.

TeXLive/W32TeX などには標準でインストールされています.

1.2 マニュアル

コマンドラインから texdoc download を実行するか,
上記に同梱の download.pdf をお読み下さい.

§2 使い方

2.1プリアンブルに
  \usepackage {download}
  を記述します.

2.2 コマンド

\download [<filename>]{<URL>}

<URL>検索エンジンは wget → curl → aria2 の順で自動的にサーチされて,最初に見つかった
ものが使われます.

<filename> はオプションであり,ダウンロードしたファイルを保存するときの名前です.

§3 サンプル


【サンプル】
■■■■■■■■■■■■■■■■■
\documentclass{article}
\usepackage{download}
\begin{document}
\download{http://www.ntg.nl/doc/wilkins/pllong.pdf}
\end{document}
■■■■■■■■■■■■■■■■■

(EOF)

スポンサーサイト
  1. 2013/10/26(土) 13:25:08|
  2. LaTeX Tools
  3. | トラックバック:0
  4. | コメント:0

autonum.sty を使ってみる

autonum.sty を使ってみる

autonum パッケージ は,リファレンスをつけられた 数式 の 番号付け を実行します.

\usepackage{autonum}をプレアンブルに記述しますが,amsmath や cleveref パッケージ
などより,後ろに記述します.

§1.概要

対象となる数式環境は,次の通りです.

● equation環境
● \[ ~ \]環境
● split環境
● align環境
● multline環境
● gather環境
● flalign環境
● alignat環境

(注意)eqnarray環境は適用外となります.


§2.基本的な文書構造

(1)pdflatex を使う場合

\documentclass{article}
\usepackage{amsmath}
\usepackage[hypertexnames=false]{hyperref}
\usepackage{cleveref}
\usepackage{autonum}

\begin{document} ~ \end{document}


(2)lualatex を使う場合

\documentclass{ltjsarticle}
\usepackage{luatexja}
\usepackage{amsmath}
\usepackage[pdfencoding=auto,hypertexnames=false]{hyperref}
\usepackage{cleveref}
\usepackage{autonum}

\begin{document} ~ \end{document}


(3)platex を使う場合

\documentclass{jsarticle}
\usepackage{amsmath}
\usepackage{cleveref}
\usepackage{autonum}

\begin{document} ~ \end{document}


§3.基本的なサンプル

(1)platex によるサンプルを示します.

【サンプル】(sample01.tex)

■■■■■■■■■■■■■■■■■■■■■■■■■■■
\documentclass{jsarticle}
\usepackage{amsmath}
\usepackage{cleveref}
\usepackage{autonum}
\begin{document}
例1:
\begin{equation}
y = ax^2 + bx + c \label{eq:001}
\end{equation}

例2:
\begin{equation}
s = \pi r^2 \label{eq:002}
\end{equation}

例3:
\[
E = mc^2 \label{eq:003}
\]

例4:(+記号に注意)
\begin{equation+}
E = mgh
\end{equation+}

例1: \cref{eq:001}は 2次方程式 \ldots

例2:ラベルはありますが,参照されていません.

例3: \cref{eq:003}はアインシュタインの特殊相対性理論の関係式 \ldots

例4: \begin{equation+} ~ \end{equation+} のように+記号の付いた環境です.
  番号は付与されますが参照はできません.
\end{document}
■■■■■■■■■■■■■■■■■■■■■■■■■■■

【操作】

(1) platex sample01.tex  (3回コンパイルを繰り返します)
(2) dvipdfmx sample01.dvi

【結果】

an01.png


補足説明
● 例1のラベルは\cref{eq:001}で参照されおり,数式番号が付与されます.
● 例2のラベルは\crefで参照されませんので,数式番号が付与されません.
● 例3のラベルは\cref{eq:003}で参照されおり,数式番号が付与されます.
  \[ ~ \] 形式であっても,数式番号の付与が可能です.
  ただし,$$ ~ $$ 形式は適用されません.
● 例4は+記号が付いていますが,数式番号は付きますが,参照はできません.


(2)\cref と \ref の違い

\usepackage{cleveref}を登録すると \cref が利用できます.
\cref{eq:001,eq:002} などのように{}内には複数のラベルが記述できます.
参照表示形式は "eq.(1)" 複数ラベルの場合は "eqs.(1) and (2)" あるいは "eps.(1) to (5)"などとなります.

一方,\ref は \ref{eq:001} → 1 , \ref{eq:003} → 2 のように表示されます.

§4. その他の環境のサンプル

(1)align 環境(その1)

\begin{align}
a &= b \label{eq:1} \\
a &= b+c \label{eq:2} \\
a &= b+c+d \label{eq:3}
\end{align}

\cref{eq:1,eq:3}は \ldots

【結果】

an02.png

(2)align 環境(その2)

\begin{align}
a &= b \label{eq:1} \\
a &= b+c \label{eq:2} \\
a &= b+c+d \label{eq:3}
\end{align}

\cref{eq:1,eq:2,eq:3}は \ldots

【結果】

an03.png



(3)その他

● gather環境
● flalign環境
● alignat環境
● split環境
● multline環境

なども,align環境と同様にして \label,\cref の指定ができます.

(注意)例えば,align* などのように[*付き]の環境は適用外となります.

§5. 数式環境以外のサンプル

autonum は数式環境以外の次の環境でも利用できます.

● figure環境
● table環境
● enumerate環境
● theorem環境
● part
● chapter
● section
● appendix
● footnote


  1. 2013/10/23(水) 08:01:21|
  2. LaTeX Tools
  3. | トラックバック:0
  4. | コメント:0

[LaTeX] FontConfig --- パッケージ中の fc-コマンド 備忘録

§1 はじめに

更新版: 2017/04/18

FontConfig パッケージには,以下のコマンド類が収録されており,
W32TeX では [bin]ディレクトリ下に用意されています.

● fc-cache
フォント情報のキャッシュを生成します.

● fc-cat
フォント情報のキャッシュを読み込みます.

● fc-list
フォントリストを生成します.

● fc-match
利用可能なフォントを,検索指定パターンを用いて検索します.

● fc-query
フォントファイルを検索し結果を出力します.

● fc-scan
フォントファイルとディレクトリをスキャンして,結果を表示します.

● fc-pattern
パターンを解析し(空パターンをデフォルトとする),解析結果を出力します.

● fc-validate
フォントファイルを検証します.

§2 使い方

2.1 fc-cache コマンド

システム上でフォント・ディレクトリを探査して,fontconfigを用いたアプリケーションのために,
フォント情報のキャッシュファイルを生成します.

ディレクトリ引数がされないならば,fc-cacheは現在のフォント構成で各々のディレクトリを使います.
このキャッシュはアプリケーション起動の速度を上げるのに用いられます.

(1)コマンドのヘルプ情報

C:\Users\Desktop> fc-cache --help

(2)フォントを追加するには,次の手順を実行します.

a) \texmf-dist\fonts\conf\fonts.conf ファイル内に記述されたディレクトリの 1 つに,
  フォントファイルをコピーします.
  自PCの場合のディレクトリは次のように成っています.

  <dir>c:/windows/fonts</dir>
  <dir>c:/w32tex/share/texmf-dist/fonts/opentype</dir>
  <dir>c:/w32tex/share/texmf-dist/fonts/truetype</dir>

b) fontconfig ライブラリは,フォントのリストを自動的に更新します.
  フォントのリストが更新されない場合は,次のコマンドを実行します.
  C:\Users\Desktop> fc-cache
  
  また,ディレクトリを特定して更新するには,次のコマンドを実行します.
  C:\Users\Desktop> fc-cache directory-name

  また,\texmf-dist\fonts\conf\fonts.conf にあるディレクトリのみを更新し,
  更新済みディレクトリのリストを表示するには,次のコマンドを実行します.
  C:\Users\Desktop> fc-cache --system-only -v

2.2 fc-cat コマンド

キャッシュファイルからフォント情報を読み込むか,アスキー形式でそれをフォント・ディレクトリと
関連づけて,発します.

(1)コマンドのヘルプ情報

C:\Users\Desktop> fc-cat --help

(2)fc-cat -rv c:\windows\fonts を実行してみる

C:\Users\Desktop> fc-cat -rv c:\windows\fonts | more

Directory: c:/windows/fonts
Cache: c:/w32tex/share/texmf-dist/fonts/cache\/fe1dbb5a98cb4443939b32b1858eec08-x86.cache-4
--------
"21205___.TTF" 0 "Jokerman LET:familylang=en:style=Plain:stylelang=en:fullname=Jokerman LET Plain\\:1.0:fullnamelang=en:slant=0:weight=0:width=100:foundry=unknown:index=0:outline=True:scalable=True:charset= |>^1!|>^1!P0oWQ T[~(HZ<;qEZJwus!!!%# !!71$!#>r1!BB.#!!K?& !!!)$ #?>K&.{uA] !!!.% !!!)/!!!!# !!#0GM>RAd#y#fx !!#3H !!!!& !!#6I
(以下省略)

2.3 fc-list コマンド

fontconfigを用いたアプリケーションのために,システム上でフォントと利用できるスタイルを
リストします.
要素が指定されるならば,それらだけは印刷されます.
冗長な出力が要請されない限り,さもなければ,family と styleは印刷されます.

(1)コマンドのヘルプ情報

C:\Users\hayato\Desktop> fc-list --help

(2)フォントをリストアップし,name.txt に保存する.

C:\Users\Desktop> fc-list > name.txt

name.txt の一部を表示します.
-----------------------------------------------
c:/windows/fonts/HGRPP1.TTC: HGSoeiKakupoptai,HG創英角ポップ体:style=Regular,標準
c:/windows/fonts/AdobeDevanagari-Regular.otf: Adobe Devanagari:style=Regular
c:/windows/fonts/sere1256.fon: MS Serif:style=Regular
c:/windows/fonts/coue1255.fon: Courier:style=Regular
c:/windows/fonts/AdobeArabic-Italic.otf: Adobe Arabic:style=Italic
c:/windows/fonts/ume-pgc5.ttf: Ume P Gothic C5,梅PゴシックC5:style=Medium
c:/windows/fonts/euphemia.ttf: Euphemia:style=Regular
c:/windows/fonts/vgaf874.fon: Fixedsys:style=Regular
c:/windows/fonts/LinLibertineG_Bd.ttf: Linux Libertine G:style=Bold
c:/windows/fonts/cga40869.fon: Terminal:style=Regular
c:/windows/fonts/msmincho.ttc: MS PMincho,MS P明朝:style=Regular,標準
c:/windows/fonts/HGRPP1.TTC: HGPSoeiKakupoptai,HGP創英角ポップ体:style=Regular,標準
c:/windows/fonts/Osaka.ttc: Osaka:style=レギュラー
c:/windows/fonts/HGRSMP.TTF: HGMaruGothicMPRO,HG丸ゴシックM\-PRO:style=Regular,標準
-----------------------------------------------

(3)日本語フォントのみをリストアップし,jp.txt に保存する.

C:\Users\Desktop> fc-list :lang=ja > jp.txt

jp.txt の一部を表示します.
-----------------------------------------------
c:/windows/fonts/HGRGM.TTC: HGSGothicM,HGSゴシックM:style=Medium,メディウム
c:/windows/fonts/FAGGM_0.TTF: Arisawa\-Gyosho,有澤行書:style=Regular
c:/windows/fonts/ume-ugo5.ttf: Ume UI Gothic O5,梅UIゴシックO5:style=Medium
c:/windows/fonts/kochi-gothic-subst.ttf: Kochi Gothic,東風ゴシック:style=Regular,標準
c:/windows/fonts/HGRKK.TTC: HGSKyokashotai,HGS教科書体:style=Medium,メディウム
c:/windows/fonts/msgothic.ttc: MS Gothic,MS ゴシック:style=Regular,標準
c:/windows/fonts/ASKai9.ttc: ASKaiSho\-Bd,有澤太楷書P:style=Regular
c:/windows/fonts/FUJIPOP.TTC: 富士ポップ:style=Regular
c:/windows/fonts/ume-pgs5.ttf: Ume P Gothic S5,梅PゴシックS5:style=Medium
c:/windows/fonts/ipamp.ttf: IPAPMincho,IPA P明朝:style=Regular
c:/windows/fonts/HGRSGU90.TTC: HGSoeiKakugothicUB,HG創英角ゴシックUB:style=Regular,標準
c:/windows/fonts/ume-tgc4.ttf: Ume Gothic C4,梅ゴシックC4:style=Regular
c:/windows/fonts/min2004.ttf: Mincho2004,明朝2004:style=Regular
c:/windows/fonts/msmincho.ttc: MS Mincho,MS 明朝:style=Regular,標準
-----------------------------------------------

(4)IPA フォントのみをリストアップし,ip.txt に Shift-JIS で保存する.

C:\Users\Desktop> fc-list | nkf -s | grep IPA > ip.txt

ip.txt の一部を表示します.
-----------------------------------------------
c:/windows/fonts/ipamp.ttf: IPAPMincho,IPA P明朝:style=Regular
c:/windows/fonts/ipaexg.ttf: IPAexGothic,IPAexゴシック:style=Regular
c:/windows/fonts/ipag.ttf: IPAGothic,IPAゴシック:style=Regular
c:/windows/fonts/ipagp.ttf: IPAPGothic,IPA Pゴシック:style=Regular
c:/windows/fonts/ipaexm.ttf: IPAexMincho,IPAex明朝:style=Regular
c:/windows/fonts/ipam.ttf: IPAMincho,IPA明朝:style=Regular
c:/windows/fonts/ipamjm.ttf: IPAmjMincho,IPAmj明朝:style=Regular
-----------------------------------------------

2.4 fc-match コマンド

条件を満たす最良のフォント(選択されるフォント)を検索指定パターンを用いて検索し表示する.

(1)コマンドのヘルプ情報

C:\Users\Desktop> fc-match --help

(2)日本語フォントの表示

C:\Users\Desktop> fc-match :lang=ja

  msgothic.ttc: "MS Gothic" "Regular"


C:\Users\Desktop> fc-match serif:lang=ja

  msmincho.ttc: "MS Mincho" "Regular"


C:\Users\Desktop> fc-match san-serif:lang=ja

  msgothic.ttc: "MS Gothic" "Regular"


C:\Users\Desktop> fc-match monospace:lang=ja

  ipag.ttf: "IPAGothic" "Regular"

(3)英語フォントの表示

C:\Users\Desktop> fc-match :lang=en

  DejaVuSans.ttf: "DejaVu Sans" "Book"

C:\Users\Desktop> fc-match serif:lang=en

  DejaVuSerif.ttf: "DejaVu Serif" "Book"

C:\Users\Desktop> fc-match san-serif:lang=en

  DejaVuSans.ttf: "DejaVu Sans" "Book"

C:\Users\Desktop> fc-match monospace:lang=en

  DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"

(参考)DejaVuフォント (デジャヴ ふぉんと) は,Unicode用ラージフォントです.

(4)"Sazanami Gothic" のフォント・ファイルの表示

C:\Users\Desktop> fc-match "Sazanami Gothic"

sazanami-gothic.ttf: "Sazanami Gothic" "Regular"

2.5 fc-query コマンド

通常の fontconfig規則を用いてフォントファイルを問い合わせて,
見つかれば結果を出力します.

(1)コマンドのヘルプ情報

C:\Users\Desktop> fc-query --help

(2)mikachanALL.ttcをフォントファイルを問い合わせ

C:\Users\Desktop> fc-query c:/windows/fonts/mikachanALL.ttc
Pattern has 23 elts (size 32)
family: "mikachan"(s) "みかちゃん"(s)
familylang: "en"(s) "ja"(s)
style: "Regular"(s)
stylelang: "en"(s)
fullname: "mikachan"(s) "みかちゃん"(s)
fullnamelang: "en"(s) "ja"(s)
slant: 0(i)(s)
weight: 80(i)(s)
width: 100(i)(s)
spacing: 90(i)(s)
foundry: "unknown"(s)
file: "c:/windows/fonts/mikachanALL.ttc"(s)
index: 0(i)(s)
outline: True(s)
scalable: True(s)
(以下省略)

2.6 fc-scan コマンド


フォントファイルとディレクトリを再帰的にスキャンして,結果を表示します.

(1)コマンドのヘルプ情報

C:\Users\Desktop>fc-scan --help

(2)スキャンしてみる

C:\Users\Desktop>fc-scan C:\w32tex\share\texmf-dist\fonts\truetype\ipa

Pattern has 22 elts (size 32)
family: "IPAexGothic"(s) "IPAexゴシック"(s)
familylang: "en"(s) "ja"(s)
style: "Regular"(s)
stylelang: "en"(s)
fullname: "IPAexGothic"(s) "IPAexゴシック"(s)
fullnamelang: "en"(s) "ja"(s)
slant: 0(i)(s)
weight: 80(i)(s)
width: 100(i)(s)
foundry: "unknown"(s)
file: "C:\w32tex\share\texmf-dist\fonts\truetype\ipa/ipaexg.ttf"(s)
index: 0(i)(s)
outline: True(s)
scalable: True(s)
(以下省略)

2.7 fc-pattern コマンド

パターンを解析し(空パターンをデフォルトとする),解析結果を出力します.

(1)コマンドのヘルプ情報

C:\Users\Desktop> fc-pattern --help

(2)パターンを解析してみる

C:\Users\Desktop> fc-pattern "sans:lang=ja:charset=\!\!\$jy\!\!\!\!\# "

Pattern has 3 elts (size 16)
family: "sans"(s)
charset:
004e: 00000001 00000000 00000000 00000000 00000000 00000000 00000000 00000000(s)
lang: ja(s)

ネットを徘徊したら上記の例が見つかりました.次のように説明されていました.
==================
コマンドで使う場合は指定方法が特殊で,ビットテーブルを何らかの方法で印字可能な文字列に
変更した結果,このような謎の文字列になります.

今回の例だと,「一」という漢字(UCS-4でいう0x00004e00)が存在するグリフのうち一番最初に
来るものが中国語フォントじゃないことを確認するために使っていました.
==================

2.8 fc-validate コマンド

フォントファイルを検証します.

(1)コマンドのヘルプ情報

C:\Users\Desktop> fc-validate --help


(2)msmincho.ttc フォントファイルを検証してみる

C:\Users\Desktop> fc-validate c:/windows/fonts/msmincho.ttc

Fontconfig warning: ignoring Japanese_Japan.932: not a valid language tag
c:/windows/fonts/msmincho.ttc:0 Satisfy the coverage for (null) language
c:/windows/fonts/msmincho.ttc:1 Satisfy the coverage for (null) language

(EOF)
  1. 2013/10/19(土) 14:37:46|
  2. LaTeX Tools
  3. | トラックバック:0
  4. | コメント:0

Silverfrost FTN95 ~入門の入門~

Silverfrost FTN95 ~入門の入門~

§1.何ができるか?

Silverfrost FTN95 には,
・Fortran95
・Fortran77
・Text file
・C++
・c#
・Assembler
・Web
・Java
・SDCC
・Resource
・Bitmap
・Icon
・Cursor
の各ファイル作成やコンパイラが用意されています.名前は[FTN95]ですが Fortran は勿論ですが,
C/C++ のコンパイルや実行が可能です.

§2.Plato とは

ファイル作成やコンパイルには統合開発環境[Plato IDE] があります.
しかし,[Plato IDE]では日本語を扱うことができません.

どうしても日本語を使いたい場合には,他のエディタで日本語が含まれたソースファイル(Shift JIS)を
編集し,[Plato IDE]に読み込んで,ビルドすると,生成された実行ファイルにおいて日本語を扱えます.

[Plato IDE]の起動画面([File]--[New]をクリックした状態)を以下に示します.

FTN01.png



§3.ダウンロードとインストール

(1)FTN95をダウンロードするために,以下のサイトにアクセスします.

  http://www.silverfrost.com/32/ftn95/ftn95_personal_edition.aspx

  You can download FTN95 Personal Edition (FTN95PE) version 6.35 directly from [here].
  [here] をクリックし,ダウンロードファイルを任意のディレクトリに[保存]します.


(2)FTN95 をインストールします.

  指定されたディレクトリに「ftn95_personnal.exe」が保存されているので,それをクリックして,
  実行します.
  しばらく待つとインストールウィンドウが表示される.
  この後の操作は「Next」,「Install」,「Finish」をクリックするだけです.

(3)データの保存場所を決めます.

  FTN95で作成したデータを保存しておく任意のディレクトリを作成します.

§4.プログラムの作成から実行まで

(1)FTN95 を開く.

  メニューから,「すべてのプログラム」→「Silverfrost」→「Silverfrost FTN95」→「Plato IDE」を
  選択します.


(2)プログラムの書き方

 ■ Fortran77の場合:(拡張子は .for または .f)
  「File」→「New」を選択し,Typeを「Fixed format Fortran file」を選択します.
  
 ■ Fortran95/90の場合:(拡張子は .f95 または .f90)
  「File」→「New」を選択し,Typeを「Free format Fortran file」を選択します.

 ■ C/C++ の場合:(拡張子は .c または .cpp)
  「File」→「New」を選択し,Typeを「C++ file」を選択します.

(3)データの保存

  「File」→「Save As」を選択して,(3)項で作成したフォルダに移動して,
  任意のファイル名を付けて保存をクリックします.
  ファイルやデータに日本語やスペースなどを入れると,コンパイル時にエラーが発生する
  原因になりやすいので,ファイル名は英数字のみで書くようにしましょう.

(4)プログラム実行

  プログラムを実行する前にデータを保存しておきます.
  「Build」→「compile」を選択する.この時にエラーが発生していないことを確認しておく.
  「Build」→「Build」を選択すると実行ファイル(.exe)が生成されます.
  「Build」→「Start Run」を選択すると実行ファイル(.exe)が起動します.


  1. 2013/10/15(火) 07:26:43|
  2. Program
  3. | トラックバック:0
  4. | コメント:0

画像の圧縮・最適化ユーティリティ

画像の圧縮・最適化ユーティリティ

WEBサイト上で利用する画像ファイルなどは,減色したり画像サイズを小さくしたりと工夫を凝らすわけですが,
画質とファイルサイズのバランスをとるのは結構難しいものです.

画質を劣化させず,ファイルサイズを小さくしてくれるWindows用のツールを紹介します.

(1)画像の圧縮・最適化ユーティリティの種類

下表にまとめてあります.

画像UTL.png


(2)使い方

(a) PNGGauntlet
入力ファイルを Drag-Drop するだけです.

gaunt.png


(b) PNGOUT
入力ファイルを指定するだけです.

pngout.png


(c) carmine
入力ファイルを Drag-Drop するだけです.

carmine.png


(d) Caesium
入力ファイルのホルダーを指定するだけです.

Caesium.png

(3)入手先とインストール

次のサイトからダウンロードおよびインストールを実行してください.

(a) PNGGauntlet
http://pnggauntlet.com/

(b) PNGOUT.exe
http://advsys.net/ken/utils.htm#pngout

(c) carmine
http://www.vector.co.jp/soft/win95/art/se279366.html

(d) Caesium
http://www.vector.co.jp/soft/dl/winnt/art/se492943.html


(注意)
上記の(a) PNGGauntlet は,(b) PNGOUT というコマンドラインで利用する画像最適化ソフトの
単なるフロントエンドです.








  1. 2013/10/13(日) 10:00:18|
  2. 便利ツール
  3. | トラックバック:0
  4. | コメント:0

[LaTeX] PDF-crypt --- PDFの暗号化 ~2つの暗号化コマンドの紹介 ~

§1 はじめに

更新版:2017/05/03 (pdfcrypt を削除など,その他見直し)

PDFのセキュリティ向上の一環として暗号化を施すのが行われています.
W32TeX では「bin」ディレクトリ下に2つの暗号化コマンドが用意されています.

   ● dvipdfmx.exe による暗号化

   ● qpdf.exe による暗号化

それぞれを個別に説明します.


§2 dvipdfmx.exe による暗号化

dvipdfmx を用いた暗号化には次の2通りが用意されています.
   (a) コマンドレベルによる暗号化
   (b) ソースレベルによる暗号化

■ (a) コマンドレベルによる暗号化


コマンドラインでの指定方法は次のようになります.

c:\Users\Desktop> dvipdfmx [encrypt-options] dvi-file

[encrypt-options] は dvipdfmx --help をコマンドラインから入力すると次が確認できます.(抜粋)

------------------------------------------------------------------------
-K number Encryption key length [40]
-P number Set permission flags for PDF encryption [0x003C]
-S Enable PDF encryption
------------------------------------------------------------------------

-P number オプションの詳細は次の通りです.

p-option.png

例えば,標準の場合のコマンドを以下に示します.

c:\Users\Desktop> dvipdfmx -S -P 0x003c -K 128 foo.dvi

実行するとオーナーパスワードとユーザーパスワードの入力を求められます.

オーナーパスワードは暗号化設定の変更権限,ユーザーパスワードは文書を開くのに必要なパスワードです.
どちらか片方だけ暗号化したい場合は、何も入力しないで[Enter]キーを押すとパスワードは付加されません.

【サンプル】

C:\Users\Desktop> dvipdfmx -S -P 0x003c -K 128 foo.dvi
foo.dvi -> foo.pdf
Owner password: *******
Re-enter owner password: *******
User password: ******
Re-enter user password: ******
[1]
586216 bytes written

[ファイル]--[文書のプロパティ]--[セキュリティ]を開いてみます.

secu01.png

(注意)
Owner password と User password の両方を設定,あるいは,いずれか片方のみを設定した場合に
パスワードの入力を催促される場合と,されない場合があり,さらに[文書のプロパティ]--[セキュリティ]
の内容の 許可/不許可 も変わる場合があります.ご自身で確認してみてください.


-P, -K オプションを省略した場合には C:\w32tex\share\texmf-dist\dvipdfmx\config\dvipdfmx.cfg
に記述された値即ち,

-K 128 および -P 0x003c (K=128[bit]は鍵長,p=0x003c はすべて許可)

がデフォルト値として適用されます.

-P オプションはbit形式になっているので16進数で足し算して指定できます.

例: 0x0004+0x0008=0x000C -> 印刷(低解像度)と文書変更を許可します.

■ (b) ソースレベルによる暗号化


最新の dvipdfmx (および updvipdfmx) では,PDF パスワードなどを TeX ソースレベルで
指定しておけるように、新しい specialが導入されました.(p)LaTeX の場合,プリアンブル部に

\AtBeginDocument{\special{pdf:encrypt ownerpw (abc) userpw (xyz) length 128 perm 252}}

のように指定します.ここで,abc はオーナーパスワード,xyz はユーザパスワード です.

length は 40 以上 128 以下です.perm は permission flag の意味であり,その詳細は
C:\w32tex\share\texmf-dist\dvipdfmx\config\dvipdfmx.cfg に記述してあります.

【サンプル】

ソースファイル(foo.tex)を示します.
-------------------------------------------------------------------------
\documentclass{jsarticle}
\AtBeginDvi{\special{pdf:encrypt ownerpw (abc) length 128 perm 2580}}
\begin{document}
吾輩は猫である.名前はまだ無い.
どこで生れたかとんと見当がつかぬ.
何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している.
\end{document}
-------------------------------------------------------------------------

【操作】
C:\Users\Desktop> platex foo.tex

C:\Users\Desktop> dvipdfmx foo.dvi

foo.pdf を開く際にパスワードの入力は催促されませんでした.
[ファイル]--[文書のプロパティ]--[セキュリティ]を開いた結果を示します.

secu02.png

(注意)
ownerpw と userpw の両方を設定,あるいは,いずれか片方のみを設定した場合に
パスワードの入力を催促される場合と,されない場合があり,さらに[文書のプロパティ]--[セキュリティ]
の内容の 許可/不許可 も変わります.ご自身で確認してみてください.



§3 qpdf.exe による暗号化

(a) 基本的な使い方の例としてコマンドラインから次のように打ち込みます.
  ※ 複数行になっていますが,改行せずに打ち込んでください.

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
c:\Users\Desktop> qpdf --encrypt user-password owner-password 128
--print=none --modify=none --extract=n --accessibility=n
--use-aes=y -- original.pdf encrypted.pdf
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

元のPDF original.pdf に暗号を付加する encrypted.pdf を指定します.

--encryptオプションは,--encrypt user-password owner-password key-length --

となります.それ以外の設定は鍵長によって使えるものが決まります.上記は128bitで暗号化しています.
なお,他の制限を加えるオプションは,key-lengthと--との間に記述します.

上記の例でのオプションの意味は次の通りです.

--print=none 印刷不可
--modify=none 編集不可
--extract=n 図やテキストの抽出不可
--accessibiliry=n 視覚障害者へのアクセシビリティを許可しない
--use-aes=y PDF自体をAESで暗号化する

40bitだと出来ないこともあるので要注意です.

(b) マニュアルの閲覧など

次のWEBサイトに詳細が記述されています.参考にしてください.

http://qpdf.sourceforge.net/files/qpdf-manual.html#ref.encryption-options

(c) コンソール操作によるヘルプメッセージ出力
   次の操作でヘルプメッセージが得られます.

C:\Users\Desktop> qpdf --help


【サンプル】

■ パスワードを設定する
元となるPDF を origin.pdf とし,パスワードを設定しようとする PDF を crypt.pdf とします.
ここで,
user-password を abc
owner-password を xyz
とします.

【操作】
c:\Users\Desktop> qpdf --encrypt abc xyz 128
--print=full --modify=none --extract=n --accessibility=n
--use-aes=y -- origin.pdf crypt.pdf

(注意)
owner-password と user-password の両方を設定し,PDF を owner-password で開いた場合と,
user-password で開いた場合には[文書のプロパティ]--[セキュリティ]
の内容の 許可/不許可 も変わります.ご自身で確認してみてください.

■ Adobe Reader XI(DC) で開き,パスワード入力の問い合わせがあるので abc または xyz を入力し [OK] します.

■ 続いて,[ファイル]ー[プロパティ]ー[セキュリティ]を開き文書のプロパティを確認します.
さらに,[詳細表示]を開いて詳細の確認ができます.

■ パスワードプロテクトの解除方法( --decrypt オプション)
重要な情報が記載されたPDFファイルはパスワードでプロテクトされていることがあります.
こういったデータを自分以外の第3者に渡す場合,その第3者にも内容を閲覧できるようにパスワードを教える
必要がでてきます.パスワードが共通で使われている場合,つまり第3者に自分の持っているほかのPDFファイルの
パスワードも教えることになってしまい,あまり好ましい状況とはいえません.
こうしたケースではパスワードプロテクトを解除したPDFを作成して渡すという方法が必要です.

コマンドラインから次の形式で打ち込み,パスワードプロテクトのかかっていないPDFを作成します.

c:\> qpdf --password=パスワード --decrypt input.pdf output.pdf

それでは,先ほどの crypted.pdf を使いパスワードプロテクトを解除してみます.

c:\> qpdf --password=abc --decrypt crypt.pdf new.pdf

パスワードプロテクト解除された new.pdf を Adobe Reader XI(DC) で開くことができます.

  1. 2013/10/11(金) 10:23:51|
  2. LaTeX Tools
  3. | トラックバック:0
  4. | コメント:0

[LaTeX] xpdf --- XPDFパッケージの使い方

§1 はじめに

更新版: 2017/05/13 (一部修正)

XPDFパッケージはPDFを表示するプログラムですが、Windows版では以下のツールのみ入手可能です.

pdfimages.exe -PDFから画像を抽出する(画像データーがあれば)
pdffonts.exe -PDFのフォント情報を表示
pdfinfo.exe -PDFの作成者情報などを表示
pdftops.exe - PDFをPostScriptファイルに変換
pdftoppm.exe - PDFをPPM画像形式に変換
pdftotext.exe -PDFからテキストを抽出する(日本の場合、日本語設定が必須) --- Windowsでは設定済みです.
pdftopng.exe - PDF の各ページを PNG に変換するプログラム
pdftohtml.exe - PDF を HTML に変換する
pdftodetach - PDF にアタッチされた部分をファイルとして抜き出すプログラム

これらは W32TeX の[bin]ホルダー下に用意されています.以下は一般的な使用法の説明です.

§2 使い方・サンプル

(1)pdftotext.exe --- PDFからテキストを抽出する

(a) コマンドラインからヘルプの表示

C:\Users\Desktop> pdftotext --help

(b) 使い方の例

pdftotext -enc ■■■ foo.pdf foo.txt --- foo.pdfのテキスト部を foo.txt に抽出します.

   ■■■は EUC-JP , UTF-8, Shift-JIS のいずれかを指定します.
   Shift-JIS を指定すると半角英数,スペースが全角に変換されます.対策として
   次の部分を変更します.
   
1)Shift-JIS.unicodeMap をエディタで開く
2)4~37行目の、半角英数のマッピング(20~7e)を修正する
●修正箇所は赤色部分 (4~37行目 )

000a 0a
000c 0c
000d 0d
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0020 8140
0021 8149
~ %%13行から17行を削除して
007d 8170
007e 8160

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
00a7 8198
00a8 814e


●削除したあとに次の1行に置き換える

000a 0a
000c 0c
000d 0d
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0020 007e 20 %% これを追加する
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
00a7 8198
00a8 814e



意味:Unicodeの0020~007eのコードを、20からの連番で置き換える

   
   なお,ISO-2022-JP は文字化けするので利用を避けてください.

pdftotext -raw -nopgbrk foo.pdf foo.txt

これは2段組のレイアウトをちゃんと認識してくれるrawオプションと,
ページが変わることを示す記号を出力しないようにするnopgbrkオプションです.

(c) サンプル

foo.pdf に含まれるテキストをfoo.txt に抽出する例

----------- foo.pdf の内容 ----------
xpdf01.png
-------------------------------------

foo.pdf のテキスト部を foo.txt として UTF-8 で抽出します.

C:\Users\Desktop> pdftotext -enc UTF-8 foo.pdf foo.txt

----------- foo.txt の内容 ----------
xpdf02.png
-------------------------------------



(2)pdfimages の使い方 --- PDFファイルから画像を抜き出す

(a) コマンドラインからヘルプの表示

C:\Users\Desktop> pdfimages --help

(b) 使い方の例

foo.pdf というファイルから画像を抜いて,カレントのフォルダにに置く時の例.
pdfimages foo.pdf .\

001.ppm が生成される --- foo.pdf に含まれる画像を images-nnn.ppm
(nnn は 000 から始まる数字)として保存します.

foo.pdf というファイルからjpegを抜いて,カレントのフォルダにに置く時の例.
pdfimages.exe -j foo.pdf .\

(参考)
PNM (Portable aNyMap 形式、Netpbm形式) という名前で指される画像形式は,
特定の一種類の画像フォーマットではなく,3種類の画像形式をまとめて呼ぶときに使われる.
それはそれぞれ

portable pixmap format (PPM 形式)
portable graymap format (PGM 形式)
portable bitmap format (PBM 形式)

と呼ばれ,どれも異なるプラットフォーム間でも高い互換性を保てる画像形式として開発されたものです.

(c) サンプル

foo.pdf の画像部を抽出します.

C:\Users\Desktop> pdfimages foo.pdf .\
-000.ppn 画像が得られます.(png画像に変換してあります)

----------- 抽出画像 ----------------
xpdf03.png
-------------------------------------

(3)pdftops.exe の使い方 --- PostScriptファイルに変換

(a) コマンドラインからヘルプの表示

C:\Users\Desktop> pdftops --help

(b) 使い方の例

foo.pdf から foo.ps に変換します.
pdftops foo.pdf foo.ps

sample.pdfの2ページから5ページまでをsample.psというPostScriptファイルに変換します.
pdftops -f 2 -l 5 sample.pdf sample.ps

sample.pdfという文書を開くためのパスワード(ここでは「himitu」)を指定する例です.
pdftops -f 2 -l 5 -upw himitu sample.pdf sample.ps

pdftops にて, B5 サイズの PS へ変換するとき, -paper B5 では駄目です. 以下のようにします.
pdftops -paperw 516 -paperh 729

(注)B5 には, ISO のサイズと JIS のサイズがあり, JIS のサイズを指定しないと,
プリンタで正しく処理できないことがあります.

(c) サンプル

C:\Users\Desktop> pdftops foo.pdf foo.eps
eps 画像が得られます.(png画像に変換してあります)

----------- eps画像 ----------------
”(1)の画像と同じです(省略)”
-------------------------------------

(4)pdftoppm.exe の使い方 --- PDFをPPM画像形式に変換

(a) コマンドラインからヘルプの表示

C:\Users\Desktop> pdftoppm --help

(b) 使い方の例

foo.pdf から .ppm画像を生成します.(-000001.ppm)
pdftoppm foo.pdf .\

sample.pdfの1ページから2ページまでをppmで出力します.
pdftoppm -f 1 -l 2 sample.pdf .\

(c) サンプル

C:\Users\Desktop> pdftoppm foo.pdf .\
ppm 画像が得られます.(png画像に変換してあります)

----------- ppm画像 ----------------
”(1)の画像と同じです(省略)”
-------------------------------------

(5)pdffonts.exe の使い方 --- PDFのフォント情報を表示

(a) コマンドラインからヘルプの表示

C:\Users\Desktop> pdffonts --help

(b) 使い方の例

pdfにフォントが埋め込まれてるか確認します.
pdffonts foo.pdf

(c) サンプル

C:\Users\Desktop> pdffonts foo.pdf

コンソールに以下のような形式で表示されます.

xpdf04.png


[説明]
name
PDFでのフォント名

type
フォントの種類 (Type1, CID, TrueType, Type0 Type1 Collection など)

emb埋め込まれているかどうか

sub
サブセット化されているかどうか

uni
unicode マッピングされているかどうか(これにより文字列の抽出や テキストのコピー等に
影響が出てくるが些細なもんだい)

object ID
PDF ファイルにおけるフォントのオブジェクト ID

(6)pdfinfo.exe の使い方 --- PDFの作成者情報などを表示

(a) コマンドラインからヘルプの表示

C:\Users\Desktop> pdfinfo --help

(b) 使い方の例

pdfinfo foo.pdf

(c) サンプル

C:\Users\Desktop> pdfinfo foo.pdf

コンソールに以下のような形式で表示されます.

xpdf05.png

(7)pdftopng.exe --- PDFの各ページを PNG に変換する

(a) コマンドラインからヘルプの表示

C:\Users\Desktop> pdftopng --help

(b) 使い方の例

sample.pdf の 1page と 2page を画像(png)化する例.
pdftopng -f 1 -l 2 sample.pdf sample.png
   sample.png-0000001.png と sample.png-0000002.png が生成される.

(8)pdftohtml --- PDF を HTML に変換する

(a) コマンドラインからヘルプの表示

C:\Users\Desktop> pdftopng --help

(b) 使い方の例

sample.pdf の 1page と 2page をHTML化する例.
pdftohtml -f 1 -l 2 sample.pdf sample.html
   sample.html ディレクトリが生成され,その中に
   index.html, page1.html, page2.html が含まれている.

  1. 2013/10/08(火) 15:23:31|
  2. LaTeX Tools
  3. | トラックバック:0
  4. | コメント:0

mklink コマンドを使ってみよう ----- 備忘録

mklink コマンドを使ってみよう ----- 備忘録

Windows におけるファイルやディレクトリに対するリンクの作成には mklink コマンドが使われます.

(1)使い方

C:\Users\Desktop> mklink/?

---------------------------------------------------------------------------------
シンボリック リンクを作成します.

MKLINK [[/D] | [/H] | [/J]] リンク ターゲット

/D ディレクトリのシンボリック リンクを作成します.既定では,
ファイルのシンボリック リンクが作成されます.
/H シンボリック リンクではなく,ハード リンクを作成します.
/J ディレクトリ ジャンクションを作成します.
リンク 新しいシンボリック リンク名を指定します.
ターゲット 新しいリンクが参照するパス (相対または絶対)
を指定します.
---------------------------------------------------------------------------------

わかり易く書くと

mklink 【オプション】 【作るリンク】 【実ファイルパス|実ディレクトリパス】

mklinkでは /H をつければハードリンクで,デフォルトならシンボリックリンクとなります.
さらに,Windowsではファイルのシンボリックリンクとディレクトリのシンボリックリンクが
区別されています.(下記を参照)

(2)オプションの説明

/H : ハードリンク
・Windows 3.1 以降で使用可能
・1 つのファイルに対して複数のリンク(パス)を付けることができる.
・片方のリンクで開いたファイルを変更すると,他のリンクで開いているものも更新される.
・ディレクトリ(フォルダ)に張ることはできない.
・ドライブをまたいでリンクを張ることはできない.

/J : ジャンクション
・Windows 2000 以降で使用可能
・ハードリンクとは異なり,ディレクトリにリンクを張ることができる.
・標準ではファイルにリンクを張ることはできない.
・ハードリンクとは異なり,ドライブをまたいでリンクを張ることができる.
・ネットワークドライブにはリンクが張れない.

デフォルト: シンボリックリンク
・Windows Vista 以降で使用可能
・ジャンクションの強化版で,UNIX のシンボリックリンクと同等の機能をもつ.
・ファイル,ディレクトリ,ネットワークドライブなど,ほとんどの対象にリンクが張れる.
・ディレクトリへのリンクは /D オプションを付けます.
・ファイルへのリンクはオプションなしです.

(3)サンプル

■ ファイルのシンボリックリンクを作成する
a.txtファイルにa_slink.txtシンボリックリンクを作成する

mklink a_slink.txt a.txt

■ ディレクトリのシンボリックリンクを作成する
aディレクトリにa_dlinkを作成する

mklink /d a_dlink a

■ ファイルのハードリンクを作成する
a.txtファイルにa_hlink.txtハードリンクを作成する

mklink /h a_hlink.txt a.txt





  1. 2013/10/07(月) 13:30:32|
  2. 便利ツール
  3. | トラックバック:0
  4. | コメント:0

dvipdfmx,dvipdfm,dvipdfmo コマンド 備忘録

dvipdfmx,dvipdfm,dvipdfmo コマンド 備忘録

dvipdfm(x),dvipdfmo コマンドに関する備忘録です.

W32TeXの[bin]ホルダ下にある dvipdfm(x),dvipdfmo コマンド の一般的な使用法の説明です.
これらのコマンドはいずれも .dvi 入力ファイルを PDF に変換します.

■ 開発の経過
Mark Wicksさん による dvipdfm 0.13.2c を元九州大学の平田さん (S. Hirata) が
日本語をサポートするように拡張されたものが dvipdfmo.exe です.

以前、開発版と呼んでいたものは平田さんから、平田さんを含む
dvipdfmx project team に引き継がれ、Jin-Hwan Cho さんによって活発に機能の
充実化が計られています.

dvipdfm.exe 自体は、より新しい dvipdfmx.exe と同じもので、名前が違うだけです.

(1)使い方

i) ソースファイルの例(foo.tex)
-------------------------------
\documentclass{jsarticle}
\usepackage[option]{graphicx}
\begin{document}
   : %(和文混在の文章想定)
   :
\includegraphics{...} %画像は .png または .jpg を想定
   :
   :
\end{document}
-------------------------------

ii) ソースファイルにはプレアンブル部に次を記述します.
\usepackage[option]{graphicx} ----- [option] 部は次の通りです.

■ [option] 部を [dvipdfmx] とした場合のコンパイル
   (a) platex foo.tex
   (b) dvipdfmx foo.dvi または dvipdfm foo.dvi または dvipdfmo foo.dvi
     (この3つの内,いずれを利用しすると foo.pdf が生成されます.)

■ [option] 部を [dvipdfm](xなし) とした場合のコンパイル
   (a) platex foo.tex
      ! LaTeX Error: File `./xxx.bb' not found.
      となります.
      対応策として,\usepackage{mediabb}を付加します.
      そうすると,
   (b) dvipdfmx foo.dvi または dvipdfm foo.dvi または dvipdfmo foo.dvi
     (この3つの内,いずれを利用しすると foo.pdf が生成されます.)

(2)結論

   [option] 部を [dvipdfmx] とし,
   (a) platex foo.tex
   (b) dvipdfmx foo.dvi または dvipdfmo foo.dvi
   とするのが妥当のようです.

 ※ 文書に和文が混在すると,dvipdfmo を使うと pdf容量が小さくなる傾向があります.

(3)生成された PDF の[プロパティ]

   (気にする必要はないと思います)
   
   (a) dvipdfmx あるいは dvipdfm で生成されたものは
     変換:dvipdfmx 20130923
     pdf バージョン 1.5
    
   (b) dvipdfmo で生成されたものは
     変換:dvipdfm 0.13.3 TL-j-p1d
     pdf バージョン 1.5
  1. 2013/10/07(月) 09:24:06|
  2. LaTeX Tools
  3. | トラックバック:0
  4. | コメント:0

pdfopen と pdfclose の使い方

pdfopen と pdfclose の使い方

PDF を コマンドラインから open/close を制御します.

c:\> pdfopen --help または pdfclose --help

Usage:
pdfopen --file [--page ]
Opens (at page if available)
in Adobe Acrobat or Adobe Reader.
pdfclose --file
Closes in Adobe Acrobat or Adobe Reader.
pdfclose --all
Closes all documents in Adobe Acrobat or Adobe Reader.
Beware: only documents opened by `pdfopen' can be closed
by `pdfclose'.

(1)使い方:

(a)PDFを開く
pdfopen --file foo.pdf
pdfopen --file foo.pdf --page 12

(b)PDFを閉じる
pdfclose --file foo.pdf
または
pdfclose --all

※ なお、pdfclose で閉じることが出来るのは pdfopen で開いたファイルのみです.



(2)おまけ

Adobe ReaderでPDFファイルを開くとき,[パラメータ]を渡すことで表示方法を指定することができます.

http://kb2.adobe.com/jp/cps/511/511759/attachments/511759_pdf_open_parameters.pdf を参照

例1:
C:\>"C:\Program Files\Adobe\Reader 11.0\Reader\AcroRd32.exe" /A "zoom=100" "foo.pdf"

例2:
C:\>"C:\Program Files\Adobe\Reader 11.0\Reader\AcroRd32.exe" /A "zoom=50 pagemode=bookmarks" "param.pdf"

  1. 2013/10/05(土) 16:33:26|
  2. LaTeX Tools
  3. | トラックバック:0
  4. | コメント:0
次のページ