#author("2023-04-28T16:54:28+09:00","","") #author("2024-05-24T19:26:57+09:00","default:hirata","hirata") *LaTeX Tips [#l0754212] Contents: #contents **Links [#u5dc0663] -[[角藤版TeX:http://www.fsci.fuk.kindai.ac.jp/~kakuto/win32-ptex/web2c75.html]] -[[TeX Wiki:http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%28Windows%29]] -[[TeXインストーラ3:http://www.ms.u-tokyo.ac.jp/~abenori/mycreate/index.html]] -[ [[BiBTeXについて:http://park.zero.ad.jp/~zbc08106/tex/bibeco-ja.html]] | [[BiBTeX関連:http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?BibTeX%E9%96%A2%E9%80%A3%E3%83%84%E3%83%BC%E3%83%AB]] | [[JabRef:http://keijisaito.info/arc/biblio/jabref_jbib.htm]] ] **dvipdfmxが死ぬほど遅い [#fe6416df] dvipdfmx -I 6 -C 0x20 foo.dvi "-I 6"はキャッシュを6時間保持する。"-C 0x20"は,predictor filtersを無効化する(このフィルタによって著しく遅くなることがあるらしい)。 **ラベルを余白に表示する [#qa3e30c6] **ラベルを余白に表示する(showkeys) [#c2aa0602] \usepackage{showkeys} 機能はshowlabelsとほぼ同じ **ラベルを余白に表示する(showlabels) [#qa3e30c6] \usepackage[<options>]{showlabels} -オプションはinlineが個人的にお勧め。 -amsmathなどと合わせて使う場合は,\usepackage{amsmath}の後に上記を記載する。 参考) -https://www.ctan.org/pkg/showlabels -http://konoyonohana.blog.fc2.com/blog-entry-299.html **数式においてdisplayスタイルでの改ページを許可 [#rd83dd61] {\allowdisplaybreaks \begin{eqnarray} hoge \end{eqnarray}} ** 差分をわかりやすく表示する [#g846f3df] latexdiff old.tex new.tex > diff.tex ** includegraphicsで,デフォルトの画像フォルダを指定する。 [#nae0775a] \graphicspath{{./figures/}} \graphicspath{{./fig1/}{./fig2/}{./fig3/}} % 複数フォルダの場合 ** graphicxとcolorを同時に使うとdvipdfmxでPDFにしたときに図がずれる [#tffe3c85] 対処方法) \documentclassのオプションに指定する \documentclass[a4paper,dvipdfmx]{jsarticle} % ここで指定 \usepackage{graphicx} % dvipdfmx は自動的に有効となる \usepackage{color} % dvipdfmx は自動的に有効となる 参考)~ https://qiita.com/zr_tex8r/items/442b75b452b11bee8049 旧対処方法)graphicx,colorの両方にdvipdfmxオプションをつける。 \usepackage[dvipdfmx]{graphicx,color} この方法だと,下記のエラーが出ることがある。 ! LaTeX Error: Option clash for package color. **ラベルをプリント [#s5ae94cb] \labelを指定するところで \lbael{fig:test_a} \prtlabel{fig:test_a} とするとラベル名「fig:test_a」が本文に埋め込まれる。マクロ中で使うことを想定。通常,ラベル名にアンダーバーが含まれ文字列を表示使用とすると,数式モードではないとのエラーが出るが,それを回避するようにしたもの。\meaningを使って展開。showkeys.styを参考にして作ったもの。 % \prtlabel{label_strings} \def\@defmylabel#1>#2<{\def\@mylabel{#2}} \def\prtlabel#1{% \protected@edef\@tempa{#1<} \expandafter\@defmylabel\meaning\@tempa {\tt \@mylabel}} **サーチパスの追加 [#ade258f3] よく使うマクロは d:\home\tex\lib などにおいて,サーチパスを通している。パスの設定は, c:\w32tex\share\texmf\web2c\texmf.cnf を書き換える。たとえば,$mypath を定義して,TEXINPUTS.platex209とTEXINPUTS.platexに$mypathを追記する。 mypath=d:/home/tex/lib TEXINPUTS.platex209 = .;$mypath;$texroot/{platex209,jlatex209,latex209,}//;$srcinp TEXINPUTS.platex = .;$mypath;$texroot/{platex,latex,ptexgeneric,generic,platex209,latex209,}//;$srcinp **PDFファイルを作りたい [#qce82ac5] -http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?PDF%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9 **ある文字列分のスペースを確保したい [#sc57614e] プリアンブル(\begin{document}の前)で以下を定義 \newlength{\mylength} \def\myspace#1{% \settowidth{\mylength}{#1} \hspace{\mylength}} 本文中で \myspace{abc} とすると,文字列"abc"分のスペースが空く。 ** 色を使う (2009-02-18)[#v9a85569] \usepackage{color} として,本文中で {\color{red} hogehoge} **mktexlsr (2007-12-25) [#a322ed1d] 新しいノートパソコン(Dynabook RX1)では,TeXのコンパイルが非常に遅い(5年前のノートPCに比べても明らかに遅い)。CPUはCore2 Duo U7600。TeX関連のファイルが膨大に増えたために,それを検索する時間がかかることで,遅くなるとの情報を見つけた。この場合,ファイルリストを texmf 以下に作成するコマンド mktexlsr を実行するとよいとのこと。早速試してみたところ,texのコンパイルが劇的に速くなった。近年,CPUやHDDが高速になったので,その必要はない,との意見も多々あったが,自分の環境では,大きな改善がみられた。 ls-R ファイルを作成した場合,そのリストを元に,ファイルを検索するので,新規ファイルを追加するたびごとに mktexlsr を実行する必要があるので,注意する。なお,ls-Rファイルを削除すれば,そのたびごとにファイル検索が行われることになる。 **インストール [#bb411645] TeXインストーラ3を使用するのが便利。詳しくは, [[TeXインストーラ3:http://www.ms.u-tokyo.ac.jp/~abenori/mycreate/index.html]]。 を参照。TeXに必要なソフトウエア一覧を自動的にダウンロードしてインストールできる。 ** \long\def [#k1fa577a] マクロコマンドを定義する\defは引数の中で改段落を行うとエラーになる。このような場合は\long\def を使う。 **enumerate拡張 [#e4fb1102] \usepackage{enumerate} として \begin{enumerate}[A.] \item foo. \item bar. \item buzz. \end{enumerate} とする。結果はお試しあれ。ただし,LaTeX2eに限る。 ** キャプションの定義 [#x808a28d] texmf\ptex\platex\base\jarticle.cls の該当部分を適宜書き換える \long\def\@makecaption#1#2{% \vskip\abovecaptionskip \iftdir\sbox\@tempboxa{#1\hskip1zw#2}% \else\sbox\@tempboxa{#1: #2}% \fi \ifdim \wd\@tempboxa >\hsize \iftdir #1\hskip1zw#2\relax\par \else #1: #2\relax\par\fi \else \global \@minipagefalse \hbox to\hsize{\hfil\box\@tempboxa\hfil}% \fi \vskip\belowcaptionskip} ** 図の配置に関するパラメータ [#x6f11b12] % 図の占める割合に関するパラメータ \renewcommand{\topfraction}{0.99} % 上部出力図 \renewcommand{\bottomfraction}{0.99} % 下部出力図 \renewcommand{\textfraction}{0.01} % 本文の最小割合 % 出力できる図の数に関するパラメータ \setcounter{topnumber}{10} \setcounter{bottomnumber}{10} \setcounter{totalnumber}{10} % 図の上下のスペース \setlength{\floatsep}{10pt} % 移動体間のスペース \setlength{\textfloatsep}{10pt} % 本文と移動体間のスペース \setlength{\dblfloatsep}{10pt} % 2段抜きの場合 \setlength{\dbltextfloatsep}{10pt} % 2段抜きの場合 ** subfigure.styにおける図のスペーシングパラメータ [#r7e280af] \renewcommand{\subfigtopskip}{0pt} % Subfigure上部のスペース \renewcommand{\subfigcapskip}{10pt} % subfigureとcaptionの間隔 \renewcommand{\subfigbottomskip}{10pt} % captionの下部スペース \renewcommand{\subfigcapmargin}{0pt} % captionのインデント幅(必ず正) ** 太線 [#se94afc8] % define bold line for table \def\hbline{\noalign{\hrule height 1pt}} ** 丸数字 [#zd8908e0] \newcommand{\MARU}[1]{ {\ooalign{\hfil#1\/\hfil\crcr\raise.167ex\hbox{\mathhexbox20D}}}} ** section直後の改行の抑制 [#mc88b4d1] C:\usr\local\share\texmf\tex\latex\base\latex.ltx \def\@afterheading{% \@nobreaktrue \@nobreakfalse <- ここ \everypar{% \if@nobreak \@nobreakfalse \clubpenalty \@M \if@afterindent \else {\setbox\z@\lastbox}% \fi \else \clubpenalty \@clubpenalty \everypar{}% \fi}} ** PowerPointやWordの図をEPSに変換する [#o1c970c6] [[WMF2EPS:http://www.wmf2eps.de.vu/]]を使う。 以下などが参考になる。 -http://www.ppl.phys.chiba-u.jp/~ooba/win/wmf2eps.html -http://www.mtl.t.u-tokyo.ac.jp/~iizuka/nt/eps/