天地有情

[LaTeX] latexdiff --- LaTeXファイルの重要な違いを特定してマークアップする

§1 はじめに

Latexdiffは,2つのLaTeXファイル間の重要な違いの視覚的なマークアップと改訂のためのPerlスクリプトです.
色などの標準的なLaTeXパッケージを使用して,ビジュアルマークアップにさまざまなオプションを使用できます.
書式設定コマンドなど,表示されているテキストに直接影響を与えない変更は,LaTeXソースにはまだマークされています.

1.1 インストール

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

TeXLive/W32TeX などには標準でインストールされています.
(注) 別途 Perl のインストールが必要です.

1.2 マニュアル

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

§2 使い方

古いファイルold.texと新しいファイルnew.tex という2つのLaTeXファイル間の重要な違いの視覚的な
マークアップを得たい場合は,コマンドラインで次を操作します.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
● latexdiff [<options>] old.tex new.tex > diff.tex

  これで,差分ファイル diff.tex が生成され,これをコンパイルします.
  日本語文書(utf-8)の場合は,次のコマンドが便利です.

● ptex2pdf -l diff.tex
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


【補足説明】

差分ファイル diff.tex をエディタで開いて内容を確認すると,次のことがわかります.

● 差分表示に必要なマクロ
  \DIFから始まる複数のマクロ定義がプリアンブルに挿入されている.
  
● 削除された部分
  \DIFdelbegin \DIFdel{<削除された部分>}\DIFdelend
  \DIFdelは,デフォルトで赤色の打ち消し線が付く.

● 追加された部分
  \DIFaddbegin \DIFadd{<追加された部分>}\DIFaddend
  \DIFaddは,デフォルトで青色の波下線が付く.


§3 サンプル

(1)すべてデフォルト仕様の場合

■ ソースファイル(old1.tex, new1.tex)

old1-new1.png


■ コンパイルと結果

  latexdiff -e utf-8 old1.tex new1.tex > diff1.tex
  ptex2pdf -l diff1.tex

diff1.png


Latexdiff は,デフォルトで差分に下線を引いてくれるのですが,
日本語だとうまく改行が制御されず, 右マージンにオーバしてしまいます.

そこで, "-t CFONT" オプションで色とフォントの変更だけにした方が
いいように思えます.サンプルを(2)に示します.

(2)オプション(-t CFONT)を付加した場合


■ ソースファイル
  上記(1)と同じ.
  ただし.ファイル名は(old2.tex, new2.tex)

■ コンパイルと結果

  latexdiff -e utf-8 -t CFONT old2.tex new2.tex > diff2.tex
  ptex2pdf -l diff2.tex

diff2.png



(3)数式の簡単例


簡単な数式において,--math-markup=3 を付加しています.

■ ソースファイル
  (省略)

■ コンパイルと結果

   latexdiff -e utf8 -t CFONT --math-markup=3 old3.tex new3.tex > diff3.tex
   ptex2pdf -l diff3.tex

diff3.png



(EOF)
スポンサーサイト
  1. 2017/08/16(水) 08:56:04|
  2. LaTeX Tools

[LaTeX] subfiles --- マルチファイルプロジェクト用

§1 はじめに

subfilesパッケージを使用すると,ユーザーはマルチファイルプロジェクトをより快適に処理して,
サブファイルを単独で処理したり、それを含むメインファイルを処理したりすることができます.

概念図を以下に示します.

subfiles00.png


(1) main.tex

  ・\usepackage{subfiles}を記述します.
  ・\subfile コマンドでサブファイル(sub01, sub02, sub03)を取り込みます.
    このとき,サブファイルの\documentclass, \begin{document},\end{document}
    は取り除かれます.

(2) sub01(02,03).tex

  ・\documentclassのクラスオプションとして,例えば [main]を指定し,取り込まれ先を指定します.
  ・単独でコンパイルできます.この場合,少しの修正を必要とする場合もあります.
  ・\input{...}コマンドで取り込むサブファイルは,単独でコンパイルできません.
    (プリアンブル部を付加すれば単独コンパイルは可能ですが,面倒です)


1.1 インストール

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

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

1.2 マニュアル

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

§2 使い方

2.1プリアンブルに
  \usepackage {subfiles}
  をメインファイルに記述します.

2.2 コマンド

● \subfile{<subfile-name>}

§3 サンプル

■ ソースファイル

subfiles01.png



■ コンパイル結果

subfiles02.png



(EOF)
  1. 2017/08/14(月) 08:31:58|
  2. LaTeX Tools

[LaTeX] pgfornament --- PGF/TikZによるベクトル装飾の描画

§1 はじめに

pgfornamentパッケージでは,PGF/TikZを使用したベクトル装飾(シンボル図)の描画が可能です.
ドキュメントには,マクロ "pgfornament"の構文とパラメータが示されています.

マクロ\pgfornamentは,指定された数値にリンクされたオブジェクトを描画します.
この数は1から196の間です.(後述のマニュアルの p-17~26を参照ください)

表示されるオブジェクトは,\pgfornamentが呼び出されたときに使用されるオプションによって
異なります.以下の コマンド説明を参照ください.

なお,類似のパッケージとして,
拙著ブログ "niceframe---装飾付きフレーム" ( http://konoyonohana.blog.fc2.com/blog-entry-168.html )
もご一読ください.

1.1 インストール

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

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

1.2 マニュアル

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

§2 使い方

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

2.2 コマンド

pgfornament00.png


§3 サンプル


(1)簡単な例(その1)

pgfornament01.png


【説明】
● クラスファイルには,欧文クラス(article,scrartclなど)を使います.
● コンパイルは pdflatex あるいは lualatex(luajitlatex)を使います.
  今回はすべて luajitlatex で実行しています.
● \pgfornament の引数である シンボル番号(152,153)などは,
  マニュアルの 17~26 ページを参照ください.

(2)簡単な例(その2)

pgfornament02.png


【説明】
● symmetry=v/h 対称図形オプションを指定しています.


(3)シンボルの組み合わせ(1)

pgfornament03A.png


pgfornament03B.png



【説明】
● \newcommand{\pageornament}{...}でテキストエリアの四隅に
  シンボルを配置し,maketitle風にしています.

(4)シンボルの組み合わせ(2)


pgfornament04A.png


pgfornament04B.png


【説明】
● テキストエリア内にフレームを配置しています.

(5)シンボルの組み合わせ(3)


pgfornament05A.png


pgfornament05B.png


【説明】
● テキストエリア内にタイトルを配置しています.


(EOF)

  1. 2017/08/09(水) 08:22:55|
  2. LaTeX Tools

[LaTeX] 「Web Equation」--- 手書きの数式を自動認識してLaTeXやMathMLにする

§1 はじめに

「Web Equation」( https://webdemo.myscript.com/ )を開き "Math" をクリック
すると,手書きの領域が表示され,そこにマウスで数式を記述すれば,
自動的に解析・認識され LaTeX や MathML に変換して出力してくれます.


§2 使い方

(1)上記の URL を開き,"Math" を選択します.

WebEq01.png


(2)手書きで数式を入力します.

WebEq02.png


(3)数式をコピーして LaTeX文書 に貼り付けます.


(EOF)
  1. 2017/08/07(月) 13:13:51|
  2. LaTeX Tools

[LaTeX] ladder --- TikZを使って簡単なラダーダイアグラムの作成

§1 はじめに

ラダー回路図(梯子型の電気回路図)を LaTeX ドキュメントに挿入します.

1.1 インストール

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

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

1.2 マニュアル

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

§2 使い方

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

2.2 コマンド

(1)回路構成
   ● \ladderLine--- 新しいラダーネットを開始する
   ● \startParallel --- パラレルセグメントを開始します
   ● \setParallel --- 新しい並列セグメントを開始する
   ● \unset --- パラレルセグメントのパラレル終了

(2)接点
   接点のタイプは任意の文字でよい.通常立ち上がりエッジの接点はP,
   立ち下がりエッジの接点はNを使用します.

   ● \ladderNO[type]{name}{mnemonic} --- Normally Opened contact
   ● \ladderNC[type]{name}{mnemonic} --- Normally Closed contact

(3)コイル

   コイルの種類は任意の文字でよい.従来,リセットコイルにR,
   セットコイルにSを使用しています.

   ● \ladderC[type]{name}{mnemonic} --- a coil


§3 サンプル

ladder01A.png


※ 左側母線(+)と右側母線(-)は省略されることが多く,本パッケージでも省略されています.

ladder01B.png



(EOF)
  1. 2017/08/02(水) 08:19:09|
  2. LaTeX Tools