Open6

LaTex 関連

nikogolinikogoli

プリアンブルでの読み込みを省略してコンパイル時間を短縮する

https://doratex.hatenablog.jp/entry/20211206/1638749451
これ↑を、uplatex ではなく platex で行う場合のコマンド

platex -ini -jobname="作成するファイル名" "&platex" mylatexformat.ltx "読み込むファイル名.tex"

\&platex ではダメで "&platex"ならOKの理由はよくわかんない

nikogolinikogoli

上記のコマンドでxxxx.fmtというファイルが作成されたなら、当該 texファイルの先頭に%&xxxxという記述を追加すればOK。
& を忘れると機能しないので注意。

nikogolinikogoli

TeXworks の背景色を変更する

https://alternationworks.hateblo.jp/entry/blog-entry-121.html
ここ↑に書いてあるのとだいたい同じ内容。

  1. まず、色を設定する cssファイルを作成する。それぞれ、背景色と文字色に該当する。
    piyo.css
    QTextEdit {
      background-color: #001f00;  
      color: #f5f3a9;  
    }
    
  2. 作成した cssファイルを texworks.exe があるフォルダに移動させる。
  3. 適当なフォルダに以下のような内容でバッチファイルを作成する。
    piyo.bat
    start /d "texworks.exe があるフォルダのパス" texworks.exe -stylesheet=cssファイル名.css %1
    
  4. 適当な texファイルを右クリックし、メニューの「プログラムから開く > 別のプログラムを選択」をクリックして、ファイルを開く際に使うアプリケーションを先程の batファイルに変更する。
  5. おしまい。texファイルをダブルクリックすると一瞬コマンドプロンプトが開き、その後、色が変更された状態で TeXworks が開く。

欠点として、texファイルのアイコンが TeXworksのアイコンから白紙ページのアイコン(batファイルのアイコン)に変わってしまい、視認性がかなり下がる。

nikogolinikogoli

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などはあえて背景色に近づけ、目立たないようにしている。

nikogolinikogoli

10未満では全角にする番号振り用のカウンタのコマンド (スター付き)

こういうものを出力するコマンド:(1),\ (2),\ \ldots (9),\ (10),\ (11),\ (×),\ (12)

  • カウンタを利用して、自動的に番号を判定する
  • 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}%
  }%
  )%
}