texの一部を置換する

tex本体のファイルはテキストなので、Cなどの言語で簡単に特定文字の検索・置換ができます。

たとえばwindows script host(WSH)を使う場合は次のようになります。


REM Copyright(C) 2009 Issei Kurahashi
REM All Rights Reserved
'**Start Encode**

Option Explicit

Dim strRepl, strWith, AfterRep
strRepl = "検索・置換対象文字列"
strWith = InputBox("置換後の文字を入れて下さい")				'inputboxに入力した文字に置換する

Dim objFso
Set objFso = CreateObject("Scripting.FileSystemObject")

Dim objFile
Set objFile = objFso.OpenTextFile("texファイルのフルパス", 1)			'読み込み対象texファイル

AfterRep = Replace(objFile.ReadAll, strRepl, strWith)					'検索、置換を行う

Set objFile = objFso.CreateTextFile("置換後texのフルパス")	'ファイル作成
objFile.Close

Set objFile = objFso.OpenTextFile("置換後texのフルパス", 8)		'置換後のtexファイルを作成
objFile.WriteLine AfterRep

Set objFile = Nothing
Set objFso = Nothing

このプログラムで修正する必要があるのは、「検索・置換対象文字列」、「texファイルのフルパス」、「置換後texのフルパス」の三箇所。

このスクリプト拡張子「.vbs」で保存し、ダブルクリックするとプログラムが実行されます。

”置換後の文字を入れて下さい”と書かれたウインドウが開き、そこに文字を入力すると、置換が行われます。


これを何回も繰り返せば、もとのtexファイルは触らずに、置換後のtexファイルがいくつもできることになりますね。

また、「置換後のtexのフルパス」のところにもパラメータを入れて、置換後texファイルの名前を変えていくこともできます。

その場合は「"フォルダのパス" & strWith & ".tex"」とすると、ウインドウで入力した置換後の文字がファイル名になります。

ページTOPへ