TeXworks

TeXworks は TeX でドキュメントを作成するためのシンプルな統合環境です.OS X 用の優れた統合環境である TeXShop をモデルに,同様の環境を全てのシステム上で実現すべく,開発されています.TeX Live*1W32TeXMiKTeX 等の TeX ディストリビューションに標準で含まれています.メニューは日本語化されており,SyncTeX もサポートしています.

奥村晴彦・黒木裕介「[改訂第6版]LaTeX2e 美文書作成入門」では,おすすめの統合環境に TeXworks が紹介されています.



Webサイト

動作環境

Microsoft Windows(XP 以降),OS X, GNU/Linux で利用できます.TeXworks はツールキットとして Qt? を使用しているため,これら以外にも Qt がサポートされているプラットフォームでは動作すると思われます.

License

GPLv2

ダウンロード/インストール

TeXworks/インストール を参照.

設定

W32TeX で配布のものを使用する場合は,既に日本語用の設定がされています.そうでない場合に日本語を含む文書の組版をするためには,upLaTeX (ptex2pdf) または pLaTeX (ptex2pdf) を使うための設定を追加する必要があります.

TeXworks/設定 を参照.

使い方

TeXworks/使い方 を参照.

ChangeLog

文字コードの変換

TeXworks で使用する文字コードはデフォルトでは UTF-8 です. このため,Shift_JIS, ISO-2022-JP, EUC-JP の文字コードを使用しているファイルを開きたい場合は,事前にファイルの文字コードを UTF-8 に変換する必要があります. 文字コードの変換には,各種テキストエディタの機能を使う方法と,コマンドラインから変換プログラムを使う方法があります.

組み込みの PDF ビューアにゴシック体を表示させる

Windows 版 TeXworks の PDF ビューアでゴシック体を表示する場合はフォントを埋め込む必要があります.

フォントを埋め込んでおくと,TeXworks の PDF viewer でゴシック体が表示できます.

TeX Live の場合

デフォルトでは和文フォントを埋め込みません.IPAexフォントを埋め込む場合は Windows PowerShell またはコマンド プロンプトから

kanji-config-updmap-sys ipaex

または

kanji-config-updmap ipaex

を実行します.

W32TeX の場合

デフォルトでは IPAexMincho・IPAexGothic を埋め込みます.upLaTeX (ptex2pdf) で PDF ファイルを作成した場合,自動的にフォントが埋め込まれるので特に設定する必要はありません.

フォントが埋め込まれていない場合は C:\w32tex\share\texmf-dist\fonts\map\dvipdfmx\base\cid-x.map の設定を確認します.


C:.
└─w32tex
    └─share
        └─texmf-dist
            └─fonts
                └─map
                    └─dvipdfmx
                        └─base
                            └─cid-x.map

C:\w32tex\share\texmf-dist\fonts\map\dvipdfmx\base\cid-x.map が以下のように記述されていれば IPAexフォントが埋め込まれます.


%%
%% upTeX examples
%%
urml     UniJIS-UTF16-H   ipaexm.ttf
urmlv    UniJIS-UTF16-V   ipaexm.ttf
ugbm     UniJIS-UTF16-H   ipaexg.ttf
ugbmv    UniJIS-UTF16-V   ipaexg.ttf
uprml-h  UniJIS-UTF16-H   ipaexm.ttf
uprml-v  UniJIS-UTF16-V   ipaexm.ttf
upgbm-h  UniJIS-UTF16-H   ipaexg.ttf
upgbm-v  UniJIS-UTF16-V   ipaexg.ttf
uprml-hq UniJIS-UCS2-H    ipaexm.ttf
upgbm-hq UniJIS-UCS2-H    ipaexg.ttf

cid-x.map の場所は Windows PowerShell またはコマンド プロンプトから以下のコマンドを実行すれば検索できます.

kpsewhich -progname=dvipdfmx -format=map cid-x.map

不具合

OS X の TeXworks 0.4.5 を使用すると TeXworks のプレビューが日本語表示できない

OS X の TeXworks 0.4.5 を使用すると TeXworks のプレビューが日本語表示できないようです.

TeXworks-0.4.6-Yosemite+-ja_JP を使用してください.

OS X の TeXworks 0.4.5 でバックスラッシュが円記号になってしまう

OS X の TeXworks 0.4.5 で,文字コードが UTF-8 の場合にバックスラッシュ (U+005C) が入力できず円記号 (U+00A5) になってしまうようです.

OS X の Qt アプリケーションで バックスラッシュ (U+005C) が 円記号 (U+00A5) に変換されるバグがあるようです.Karabiner で Backslash が優先されるようにキーバインドを変更するといいようです.

かな漢字変換をする際に文字が白く表示され,ハイライトに隠れて見えにくくなる

TeXworks で [編集]-[設定] のエディタタブのエディタ全体のオプションで現在カーソルのある行をハイライトするにチェックを入れている場合,かな漢字変換の際に,文字が白く表示され,ハイライトに隠れて見えにくくなるという現象が発生します.これを回避するには,現在カーソルのある行をハイライトするのチェックをはずしてください.

ソースコードから修正する方法 (Windows)

$ git clone https://github.com/TeXworks/texworks.git
$ pushd texworks

texworks/src/CompletingEdit.cpp

currentLineFormat->setBackground(QColor::fromRgbF(.9 * bgR + .1 * fgR, .9 * bgG + .1 * fgG, .9 * bgB + .1 * fgB));

の部分を

currentLineFormat->setForeground(QColor::fromRgbF(.1 * bgR + .9 * fgR, .1 * bgG + .9 * fgG, .1 * bgB + .9 * fgB));
currentLineFormat->setBackground(QColor::fromRgbF(.9 * bgR + .1 * fgR, .9 * bgG + .1 * fgG, .9 * bgB + .1 * fgB));

のように QTextFormat::setForeground メソッドで QColor::fromRgbF(.1 * bgR + .9 * fgR, .1 * bgG + .9 * fgG, .1 * bgB + .9 * fgB) や Qt::darkBlue や Qt::black などの色を指定すれば回避できます.ただし,この修正方法ではカーソル行の文字が指定された色で表示されてしまい,色分けされなくなります.

$ mkdir build
$ pushd build
$ cmake .. -G "MSYS Makefiles" -DWITH_LUA=OFF -DWITH_PYTHON=OFF -DZLIB_LIBRARY=C:/MinGW/bin/zlib1.dll -Dgp_cmd=C:/MinGW/bin/objdump.exe
$ make
$ ./src/TeXworks.exe &

上記の作業を行うことで,かな漢字変換をしてもハイライトに隠れずに表示されました.

$ objdump -p ./src/TeXworks.exe | grep "DLL Name" | sort | uniq
        DLL Name: KERNEL32.dll
        DLL Name: Qt5Core.dll
        DLL Name: Qt5Gui.dll
        DLL Name: Qt5Script.dll
        DLL Name: Qt5ScriptTools.dll
        DLL Name: Qt5Widgets.dll
        DLL Name: Qt5Xml.dll
        DLL Name: USER32.dll
        DLL Name: libgcc_s_dw2-1.dll
        DLL Name: libhunspell-1.3-0.dll
        DLL Name: libpoppler.dll
        DLL Name: libstdc++-6.dll
        DLL Name: msvcrt.dll
$ objdump -p /mingw/bin/libpoppler.dll | grep "DLL Name" | sort | uniq
        DLL Name: ADVAPI32.DLL
        DLL Name: GDI32.dll
        DLL Name: KERNEL32.dll
        DLL Name: USER32.dll
        DLL Name: libcurl-4.dll
        DLL Name: libfontconfig-1.dll
        DLL Name: libfreetype-6.dll
        DLL Name: libgcc_s_dw2-1.dll
        DLL Name: libjpeg-9.dll
        DLL Name: liblcms2-2.dll
        DLL Name: libopenjp2.dll
        DLL Name: libpng16-16.dll
        DLL Name: libstdc++-6.dll
        DLL Name: libtiff-5.dll
        DLL Name: msvcrt.dll
        DLL Name: zlib1.dll
$ objdump -p /mingw/bin/libfontconfig-1.dll | grep "DLL Name" | sort | uniq
        DLL Name: KERNEL32.dll
        DLL Name: libfreetype-6.dll
        DLL Name: libxml2-2.dll
        DLL Name: msvcrt.dll
$ objdump -p /mingw/bin/libxml2-2.dll | grep "DLL Name" | sort | uniq
        DLL Name: KERNEL32.dll
        DLL Name: WS2_32.dll
        DLL Name: libiconv-2.dll
        DLL Name: liblzma-5.dll
        DLL Name: msvcrt.dll
        DLL Name: zlib1.dll

スクリプト

TeX フォーラムの質問一覧

関連リンク


*1 TeXworks は Win32 版の TeX Live に収録されています.Cygwin, OS X, GNU/Linux の TeX Live には TeXworks は収録されていません.

Last-modified: 2015-06-23 (火) 16:51:30 (42d)