Open6
LaTex 関連
tex 関連の小ネタ
プリアンブルでの読み込みを省略してコンパイル時間を短縮する
これ↑を、uplatex ではなく platex で行う場合のコマンド
platex -ini -jobname="作成するファイル名" "&platex" mylatexformat.ltx "読み込むファイル名.tex"
\&platex
ではダメで "&platex"
ならOKの理由はよくわかんない
上記のコマンドでxxxx.fmt
というファイルが作成されたなら、当該 texファイルの先頭に%&xxxx
という記述を追加すればOK。
&
を忘れると機能しないので注意。
TeXworks の背景色を変更する
ここ↑に書いてあるのとだいたい同じ内容。
- まず、色を設定する cssファイルを作成する。それぞれ、背景色と文字色に該当する。piyo.css
QTextEdit { background-color: #001f00; color: #f5f3a9; }
- 作成した cssファイルを texworks.exe があるフォルダに移動させる。
- 適当なフォルダに以下のような内容でバッチファイルを作成する。piyo.bat
start /d "texworks.exe があるフォルダのパス" texworks.exe -stylesheet=cssファイル名.css %1
- 適当な texファイルを右クリックし、メニューの「プログラムから開く > 別のプログラムを選択」をクリックして、ファイルを開く際に使うアプリケーションを先程の batファイルに変更する。
- おしまい。texファイルをダブルクリックすると一瞬コマンドプロンプトが開き、その後、色が変更された状態で TeXworks が開く。
欠点として、texファイルのアイコンが TeXworksのアイコンから白紙ページのアイコン(batファイルのアイコン)に変わってしまい、視認性がかなり下がる。
texコマンドなどの色を設定する
.texlive202X\texmf-config\texworks\configuration\syntax-patterns.txt
を変更する。
.texファイルに関する初期設定では、以下の5つのカテゴリが設定されている。
- 特殊記号:# ^ _ {} &
- パッケージ系命令:
\usepackage{xxx}
- 環境系命令:
\begin{xxx} ... \end{xxx}
- その他命令:
\xxx
- コメントアウト
この設定では、数式周りを「通常 + 特殊記号 + tex命令」の3色で取り回すことになり、非常に視認性が悪い。特に \begin系を除いた命令が全て同一色なのは、複雑な数式を作っているとストレスが貯まる。
自分が採用しているのは以下のようなもの。太字が追加部分。
- 特殊記号 + 1文字だけの上付き・下付き
- パッケージ系命令 + section系命令 (節の切れ目を見つけやすくするため)
- 環境系命令
- ギリシャ文字
-
数式関連の記号・括弧・記号系命令: - + や () [] や
\leq
\equiv
\partial
など -
空白・サイズ調節系命令:
\left
\right
や\quad
\hspace
など - その他命令
- コメントアウト
この設定では、数式周りを「通常 + 特殊記号 + ギリシャ文字 + 数式記号 + 調整命令 + その他命令」の6色で取り回すことになる。若干カラフル過ぎる感はあるが、少なくともギリシャ文字の色を変えることは必須だと思う。
デフォルトと変更後の違い
\left
などはあえて背景色に近づけ、目立たないようにしている。
10未満では全角にする番号振り用のカウンタのコマンド (スター付き)
こういうものを出力するコマンド:
- カウンタを利用して、自動的に番号を判定する
- 1~9では全角、それ以降は半角数字を使う
- スター付きでコマンドが記述された場合は、数字ではなく"×"を出力する
\usepackage{ifthen}
\newcounter{headnum}
\setcounter{headnum}{1}
\NewDocumentCommand \shownum{s}{%
\noindent(%
\IfBooleanTF#1{×}{%
{\begingroup
\kansujichar0=`0
\kansujichar1=`1
\kansujichar2=`2
\kansujichar3=`3
\kansujichar4=`4
\kansujichar5=`5
\kansujichar6=`6
\kansujichar7=`7
\kansujichar8=`8
\kansujichar9=`9
\ifthenelse{\value{headnum} > 9}{\theheadnum}{\kansuji\theheadnum}%
\refstepcounter{headnum}%
\endgroup}%
}%
)%
}