【TeXworks】シンタックスハイライトのテーマ変更!

最終更新日

ui
こんな色でTeXコーディングしよう.

GTKテーマについては別記事で!

この記事ではシンタックスハイライトのカスタマイズに焦点を当てて解説します.だからまずシンタックスハイライトと無関係な「GTKテーマ」についての説明を別記事に譲ることを先に明言しておきましょう!InkscapeやOpenshotと同様に,TeXworksはGTKテーマを設定することでダークテーマを使用することが出来ます.それについては「【Ubuntu】GTKテーマを全体に適用するには?」の記事で解説します.併せて読んでね.

シンタックスハイライトのカスタマイズ

Linux(僕の場合はUbuntu)で TeXworks を使ってるなら,~/.TeXworks/configuration/syntax-patterns.txt というファイルが存在する.そのファイルには初めから色々意味のあることが書いてある.それはそれで大事だから,もしものために syntax-patterns_backup.txt とか改名して保存しておこう.で,さっきと同名の syntax-patterns.txt というファイルを再度作成して,中身に以下のコピーを貼り付けよう.

# TeXworks: Patterns for syntax coloring
# Each entry consists of three whitespace-separated fields:
# <style> <spell?> <regex>
# <style> is a combination of color and style flags
# Valid syntax:
# <fgcolor>
# <fgcolor>/<bgcolor>
# ;<fontflags>
# <fgcolor>;<fontflags>
# <fgcolor>/<bgcolor>;<fontflags>
#
# The color fields <fgcolor> and <bgcolor> are either:
# *) a color name from the list defined in the SVG standard;
#    see http://www.w3.org/TR/SVG/types.html#ColorKeywords
# *) a hexadecimal color value of the form #rrggbb; note that if this is used at
#    the beginning of a line, a space " " must be added in front of it so the
#    line is not interpreted as a comment (e.g., " #aabbcc" instead of "#aabbcc")
#
# The <fontflags> field is a combination of the letters
# B (bold)
# I (italic)
# U (underlined)
# <spell> is a flag controlling whether this style is subject to spell-checking;
# "Y" or "y" for yes, "N" (or anything else, actually) for no.
# <regex> is the regular expression to match.
# Note that order of rules may be important if several rules could match at the same position;
# this is why the generic "control sequence" rule comes AFTER the specific \begin/\end one.
[LaTeX]
# special characters
# PURPLE
 #ae8ef0        N       [$#^_{}&] 
# LaTeX environments
# ORANGE
 #dc861f;I      N       \\(?:begin|end)\s*\{[^}]*\} 
# LaTeX packages
# PINK
 #ec4271;I      N       \\usepackage\s*(?:\[[^]]*\]\s*)?\{[^}]*\}
# control sequences
# LIGHTBLUE
 #5dd4ef        N       \\(?:[A-Za-z@]+|.) 
# comments
# DARKBROWN
 #797666;I      Y       %.* 
[ConTeXt]
# special characters
# PURPLE
 #ae8ef0        N       [$#^_{}&] 
# start/stop
# ORANGE
 #dc861f;I      N       \\(?:start|stop)[A-Za-z]+ 
# control sequences
# LIGHTBLUE
 #5dd4ef        N       \\(?:[A-Za-z@]+|.) 
# comments
# DARKBROWN
 #797666;I      Y       %.* 
# other possibilities to be added....
# [BibTeX]
# [Metapost]
# etc

これで,俺と同じシンタックスハイライトが再現できるよ.TeXworksのシンタックスハイライトのカスタマイズに関する記事って多くないと思うけど,結構簡単です.

設定ファイルの仕様を知ろう

さっきの色テーマは, SublimeText の Monokai というテーマの色使いを真似してる.このテーマは黒地であることを前提にして作成されてるから,冒頭に書いたTeXworksに暗いGTKテーマを適用するのは必須事項かもね.俺のおすすめの暗いGTKテーマは「Woodoo_Dark_and_Blue」というやつなので,冒頭で紹介した記事でもそれの適用方法を解説してます.

で,さっきの文章で赤くなってる場所が肝心.上の方とかコメントだから,本当はなくてもいいんだよね.で,これに限らず自分で色テーマを作成したいなら,以下のルールを知っておくといいでしょう.

  • 色は通常の単語(redとかblueとか)でも指定可能です.予約語の一覧があります.
  • 予約された色の中に使いたい色が無くても,普通に16進数のカラーコードで指定できます.ただこの設定ファイルは行頭の # をコメントとして解釈するので,書くときは行頭に半角スペースを入れて #2ccebb のように指定してね.
    • 半角スペースが入ってることは見た目に確かめづらい笑
  • LaTeX に設定できる色数は見ての通り「特殊文字」,「LaTeX環境」,「LaTeXパッケージ」,「制御シーケンス」,「コメント」の5つです
    • 俺の設定は ConTeXt 用の設定もしてあるけど,使ってないのでどうなってるか実は確認してません笑.
  • 色の設定ができる項目それぞれに,さらに3つのオプションがあります.[設定1] / [設定2] ; [設定3] のように,1個目と2個目の設定を / で区切って書き,2個目と3個目の設定を ; で区切って書きます.
  • 設定1は文字の色.俺は主にこれを変更して, SublimeText の Monokai みたいなテーマを作りました.
  • 設定2は文字の背景の色.こんな風に文字の背景だけ色を塗れます.でもあんまり魅力を感じなかったので,上記の俺の自作テーマではこの設定は何も設定してません.
  • 設定3は文字の装飾.3通りあって, ; B と書けば太字に, ; I と書けば斜体に, ; U と書けば下線付きに出来ます.俺のテーマでは LaTeX 環境と LaTeX パッケージとコメントを斜体にしてますね.
    • ConTeXt については先にも述べたとおり,設定はしたけど確認してないです笑

2件のフィードバック

  1. こんにちは、はじめまして。設定ファイルの公開助かります。
    各規則について色コードの前にスペースを一つ入れないと認識されないので、コピペだけではうまくいかないです。(おそらくBlogの設定なりが影響して行頭のスペースが見えてないのだと思うのですが)

    • おっと,7月のコメントに12月に気づいてしまいました.遅れてしまいすみません.
      …が,2019年12月27日現在で修正したつもりですので,これで改善されたと思います.コメントありがとうございました!

コメントを残す

回れ右の内輪差をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む