\marginpar を使う。
shortstackを使う。
... & \shortstack{aaa&bbb&ccc} & ...
fancyhdr.styを使う. 本を書くときに便利かも.
$\bigcirc$\hspace{-5pt}{1}とかやると、どうしてもちょっとずれるので、プリアンブルに
\def\Mmaru#1{{\ooalign{\hfil#1\/\hfil\crcr\raise.167ex\hbox{\mathhexbox 20D}}}}
と書いておけば、
\Mmaru{1}
とやればよくなる。
http://d.hatena.ne.jp/coro_1729/20100327/1269683733を参考にしつつ.
ここでは,フォントもフォントマップも全部作業ディレクトリにおいてdvipdfmxをかます方法を紹介. (多分よろしくない方法)
unzip IPAexfont00102.zip mv IPAexfont00102/ipaexg.ttf IPAexfont00102/ipaexm.ttf WORKING_DIRECTORY cd WORKING_DIRECTORY echo rml H ipaexm.ttf > ipa.map echo gbm H ipaexg.ttf >> ipa.map echo rmlv V ipaexm.ttf >> ipa.map echo gbmv V ipaexg.ttf >> ipa.map dvipdfmx -f ipa.map FILE.dvi
アクロバットリーダーをインストールして後は,大体同じ流れ.
cd WORKING_DIRECTORY cp /opt/Adobe/Reader8/Resource/CIDFont/Koz*.otf ./ echo rml H KozMinProVI-Regular.otf > koz.map echo rmlv V KozMinProVI-Regular.otf >> koz.map echo gbm H KozGoProVI-Medium.otf >> koz.map echo gbmv V KozGoProVI-Medium.otf >> koz.map dvipdfmx -f koz.map FILE.dvi
Times-Italic, Times-Roman, Courier, Symbolなんかを埋め込む方法.
gs_pdfwr.psを作業ディレクトリに持ってきて,dvipdfmxをかます.
cd WORKING_DIRECTORY cp /usr/share/ghostscript/8.71/Resource/Init/gs_pdfwr.ps ./
でgs_pdfwr.psを編集
/.standardfonts [ /Courier /Courier-Bold /Courier-Oblique /Courier-BoldOblique /Helvetica /Helvetica-Bold /Helvetica-Oblique /Helvetica-BoldOblique /Times-Roman /Times-Bold /Times-Italic /Times-BoldItalic /Symbol /ZapfDingbats ] readonly def
の部分を以下のようにすべてコメントアウトする.
/.standardfonts [ % /Courier /Courier-Bold /Courier-Oblique /Courier-BoldOblique % /Helvetica /Helvetica-Bold /Helvetica-Oblique /Helvetica-BoldOblique % /Times-Roman /Times-Bold /Times-Italic /Times-BoldItalic % /Symbol /ZapfDingbats ] readonly def
コンパイルオプションは不要.
日本語も英語も埋め込みたいときは,日本語のフォントマップの方だけ指定してあげる.
例
dvipdfmx -f koz.map FILE.dvi
acroread のメニューからファイル ⇒ プロパティ ⇒ フォント とすれば,チェックできる.
xpdfをインストールしていれば,
pdffonts FILE.pdf
で埋め込みの確認が可能. embって書いてある列が多分埋め込み(embedded)か否か.yesなら埋め込み.
setspace.sty や doublespace.sty なんかを使う. \usepackage{setspace}とするとダブルスペースになる.
\if0 \fi でくくればコメントになる. newcommandなんかを作るときに役に立つかもしれない.
wordにある変更履歴の記録のような使い方をしたい場合, changes.styを使うとそれっぽいことが可能. ダウンロードはhttp://ftp.riken.go.jp/tex-archive/macros/latex/contrib/changes/ styファイルの作り方は以下の通り.
latex changes.ins
使い方はhttp://www.biwako.shiga-u.ac.jp/sensei/kumazawa/tex/changes.htmlを参照するべし.
最終版は \usepackage[final]{changes} とする.
最終版の作成の際は空白に注意.
ほげほげ\deleted{hogehoge} ほげほげ
と
ほげほげ \deleted{hogehoge}ほげほげ
では出力結果が異なる.(前者は少しスペースが入る)
figure環境の中でminipage環境を宣言. 表のキャプションをつけるときに\def\@captype{table}とおまじないをする. \def\@は\makeatletter〜\makeatotherではさむ必要があるようです。
\begin{figure}[h] \begin{minipage}[b]{.48\textwidth} \centering \makeatletter \def\@captype{table} \makeatother \caption{表のキャプション}\label{tab:label} \raisebox{100pt}{%適当に高さを調整 %\begin{tabular} %表の挿入 %\end{tabular} } \end{minipage} \begin{minipage}[b]{.48\textwidth} \centering % 図の挿入 \caption{図のキャプション}\label{fig:label} \end{minipage} \end{figure}
pdfファイルに動画を埋め込む方法. ただし,外部のプログラムを仕様するので,acroread単体では動かないと思う. http://www.ctan.org/tex-archive/help/Catalogue/entries/movie15.html
google scholarの設定(preference)で Bibliography Manager ⇒ Show links to import citations into Bibtexにチェック
すると,google scholarからダイレクトにbibtexに吐き出すことでできる. 便利.
プリアンブルに以下を記述.
\AtBeginDvi{\special{pdf:tounicode EUC-UCS2}}
http://sysinf0.klabs.be/usr/share/texmf/dvipdfm/CMap/EUC-UCS2?dist=;arch からEUC-UCS2を取ってきて /usr/share/fonts/cmap/ の下にコピー.
sudo cp EUC-UCS2 /usr/share/fonts/cmap/
\documentclass[landscape,papersize,25pt]{jsarticle} \usepackage[dvipdfm]{graphicx,color} \usepackage{amsmath,amssymb,amsfonts,amsthm,fancybox,comment} \usepackage[percent]{overpic} \usepackage[dvipdfm,bookmarks=true,bookmarksnumbered=true, pdftitle={title}, % pdfsubject={subtitle}, pdfauthor={your name}, % pdfkeywords={hogehoge}, colorlinks=false]{hyperref} \usepackage{fancybox} %\usepackage{mathpaso} %\usepackage[scaled=.97]{helvet} %\AtBeginDvi{\special{pdf:tounicode EUC-UCS2}} \definecolor{blueviolet}{cmyk}{0.86,0.91,0.,0.04} \definecolor{gray}{cmyk}{0.,0.,0.,0.3} \definecolor{purple}{cmyk}{0.45,0.86,0.,0.} \definecolor{brown}{cmyk}{0.,0.81,1.,0.6} \renewcommand{\familydefault}{\sfdefault} \renewcommand{\kanjifamilydefault}{\gtdefault} \newcommand{\bs}[1]{\boldsymbol{#1}} \newcommand{\pd}[2]{\dfrac{\partial{#1}}{\partial{#2}}} \renewenvironment{comment} {\clearpage\begin{small}memo\vspace*{\baselineskip}\hrule\vspace*{\baselineskip} } {\clearpage\end{small}} \setlength{\topmargin}{-1truein} \setlength{\headheight}{1zw} \setlength{\headsep}{0.5zw} \setlength{\textheight}{\paperheight} \setlength{\oddsidemargin}{-1truein} \addtolength{\oddsidemargin}{2zw} \setlength{\evensidemargin}{\oddsidemargin} \setlength{\textwidth}{\paperwidth} \addtolength{\textwidth}{-4zw} \makeatletter \def\@evenhead{\hfil\begin{picture}(0,0) \put(-95,3){\footnotesize \raisebox{-0.5zw} {右上に入れる文字 上のraiseboxで位置調整 }} \end{picture}} \let\@oddhead\@evenhead \renewcommand{\section}{\clearpage \@startsection{section}{1}{\z@}{0pt}{0pt}{\large}} \let\@xsectsave\@xsect \def\@xsect#1{\@xsectsave{#1}\par \vspace{0.2\baselineskip} {\color[rgb]{0.,0.3,0.3}\hrule height0pt depth1pt\relax % RGBで指定 }\par\medskip\vspace{0.5\baselineskip}} \makeatother \begin{document} \clearpage %%% 表紙 \vspace*{3\baselineskip} \begin{center} {\Large タイトル} \\[5zw] \end{center} \begin{flushright} 名前 \qquad 所属\hspace*{2cm} \end{flushright} \begin{comment} Thank you, Mr. Chairman. Good morning Ladies and gentlemen. \end{comment}
スクリプト(発表用原稿のこと)ありのpdfとなしのpdfを使い分ける方法. commentというパッケージを使用する. commentはcomment環境で挟めば,その中がコメントされるというもの.
\usepackage{comment}
スクリプトありのpdfを作成するときはcomment環境を以下のように再定義する.
\renewenvironment{comment} {\clearpage\begin{small}memo\vspace*{\baselineskip}\hrule\vspace*{\baselineskip} } {\clearpage\end{small}}
スクリプトなしのpdfを作成する時はこの上4行をコメントアウトする.
psnupかましてプリントアウトすると見やすくてうれしい.
dvips slide.dvi psnup -2 -r slide.ps > slide2.ps psnup -8 -r slide.ps > slide8.ps
bibファイルを文法チェックおよび整形してくれる
http://www.ctan.org/tex-archive/help/Catalogue/entries/pinlabel.html
以下,ドキュメントに載っているサンプルコード
\begin{figure}[ht!] \centering \labellist \small\hair 2pt \pinlabel $B^3_+$ at 57 246 \pinlabel $B^3_-$ [l] at 187 207 \pinlabel {$(S^3 \times I,A)$} [tr] at 76 26 \pinlabel $O$ [t] at 233 63 \pinlabel $K$ [r] at 125 272 \pinlabel $S^3$ [bl] at 253 283 \pinlabel $A$ [r] at 125 153 \endlabellist \includegraphics[scale=0.65]{fig6} \caption{A concordance between $K$ and the unknot} \label{fig:cobo} \end{figure}
プリアンブルで
\usepackage{wrapfig}
としておいて、文章中で、
\begin{wrapfigure}{r}{5cm} \includegraphics[オプション]{画像ファイル名} \label{ラベル} \caption{注釈} \end{wrapfigure}
のようにする。ラベルと注釈はなくてもよい。wrapfigure環境のオプションは
\begin{wrapfigure}[図の横の文章の段数]{図のポジション}[上下のオフセット]{図の横幅}
である。図の横の文章の段数と上下のオフセットは省略可で、省略すると段数は自動で計算され、 オフセットは0になる。
注)実際に使ってみたが、使い勝手はよくない。minipageとかを駆使して、(文章完成後に)手でやるほうが綺麗かも。面倒だし、メンテナンス性は落ちるけんど。要検討。
${}^T\!\boldsymbol{a}$
とかやるらしい。 http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/43656.html
たしかTeX Q&Aから拾ってきたと思うんだけど、改良版として
\def\tr#1{\mathord{\mathopen{{\vphantom{#1}}^t}\!#1}}
と定義すれば、
tr{A}
とかでOK。
大文字にしたい部分だけ中括弧{}で囲めばよろしい
@Article {Hoge2008, author = {John Doe and others}, title = {The Japanese {FOO}, ``{HOGE}''}, journal = {Journal of Hoge}, year = {2008}, volume = 5, pages = {11--22} }
または、
@Article {Hoge2008, author = {Osbourne, O. and Iommi, T. and Butler, G. and Ward, B.}, title = {{Symptom of the Universe}}, }
のように最初から全部二重括弧{{}}にしておけば、期待した通りに出力される。
.bashrc or .zshrcの設定例
export TEXINPUTS=.:~/mytexfile:
export BIBINPUTS=.:~/mybibfile: export BSTINPUTS=.:~/mybstfile:
$ dvipdfmx hoge.dvi
で以下のエラーメッセージ(※ubuntu9.04β, 9.10 amd64)
** WARNING ** Could not open config file "fontmapsx". hoge.dvi -> hoge.pdf [1kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+66/600 --dpi 666 gbm-jis mktexpk: don't know how to create bitmap font for gbm-jis. kpathsea: Appending font creation commands to missfont.log. ** WARNING ** Could not locate a virtual/physical font for TFM "gbm-jis". ** WARNING ** >> There are no valid font mapping entry for this font. ** WARNING ** >> Font file name "gbm-jis" was assumed but failed to locate that font. ** ERROR ** Cannot proceed without .vf or "physical" font for PDF output... Output file removed.
修正方法は、/etc/texmf/dvipdfm/dvipdfmx.cfg の最後に
f jis-cjk.map
を追加。
世の中にはパッチが出回ってるらしいが,
sudo ln -s /etc/texmf/dvipdfm /etc/texmf/dvipdfmx
で解決するらしい.
\usepackage{amsmath,wrapfig,color,float,balance} \usepackage[dvips]{graphicx} \usepackage[percent]{overpic} %\usepackage{showkeys} \newcommand{\bs}[1]{\boldsymbol{#1}} \newcommand{\pd}[2]{\dfrac{\partial #1}{\partial #2}} \newcommand{\figref}[1]{{\bf 図-\ref{#1}}} \newcommand{\tabref}[1]{{\bf 表-\ref{#1}}} %\renewcommand{\labelenumii}{(\roman{enumii})} %enumerateのスタイル %\setlength{\leftmargini}{6mm} %itemizeの字下げを設定 %\setlength{\leftmarginii}{4mm}
\begin{enumerate} \setlength{\parskip}{0cm} % 段落間 \setlength{\itemsep}{0cm} % 項目間 \item \item \end{enumerate}
図と同じくwrapfigureを使えばよい。
\usepackage{wrapfig} \begin{wrapfigure}[7]{r}{5cm} \begin{align} ... \end{align} \end{wrapfigure}
\usepackage{float} ... \begin{figure}[H]
LaTeXで画像を貼り付ける場合は基本的にepsの画像を用いる。 そのため、jpg,png,gifなどの画像ファイルを貼り付ける場合は,convertコマンドでepsファイルに変換する必要がある. 変換は、軽量化のためeps2かeps3を指定するのがよい。
$ convert hoge.jpg eps2:hoge.eps
これで軽いepsファイルの出来上がり。 eps2を指定しない場合は、重いepsが出来てしまう.
同様にして,重いepsを軽いeps2に変換することも可能.
Unix以外のOSで作ったepsがLaTeXでうまく使えないことがたまにある。 そんなときはeps2epsで変換するとUnixで使えるepsができる(ことがある)。 eps2epsを使うと文字が埋め込まれるので注意.
また、余白を切り取りたい場合(bouding boxを縮小する場合)はps2epsiが有効。
/usr/share/ghostscript/8.63/lib/cidfmapが悪さをしている模様。 これを適当にリネームすればよろしい。ほんまかいな。
~$ sudo mv /usr/share/ghostscript/8.63/lib/cidfmap /usr/share/ghostscript/8.63/lib/cidfmap.orig
とやってみた。一応解決。
TeX defaultの\underline{ほげほげ}だと、改行ができない。 改行が必要なくらい長いアンダーラインを引きたいときは、 http://www.htc.nagoya-u.ac.jp/~yamamoto/lecture/tex/stylemacro/jumoline.sty を取ってきて、
\usepackage{color} \usepackage{jumoline} . . . \Underline{ほげほげ}
とすればおk。colorが必要な理由は謎。
defaultでは少しアンダーラインが下すぎるので、アンダーラインの位置を明示的に指定した方がいいと思う。
\usepackage{color} \usepackage{jumoline} \setlength{\UnderlineDepth}{1.8pt}
ぐらいで、defaultの\underlineとだいたい高さが同じになる模様。
texのデフォルトのlayoutが格好悪いというあなたにおすすめの、fncychapパッケージ。apt-getで最初から取ってくれてるので、以下の文を.texファイルに付け足すだけでok。
\usepackage[style名]{fncychap}
[style名]のところに入れるのは、Sonny, Lenny, Glenn, Conny, Rejne, Bjarneのいずれか。目次やChapterのレイアウトが格好良くなる。jreportで使えるかどうかは不明。詳しい説明は /usr/share/doc/texlive-doc/latex/fncychap に置いてあるfncychap.pdfを参照のこと。
英文で論文を書く場合、documentclassはreportというものを使う。この場合デフォルトのページスタイルは、全体的に狭い気がする。Chapterの位置が下過ぎたり、マージンが中寄りであったり、等。そこで、プリアンブルをいじると、マージンとかフッターの位置とかを調整できる。メインの.texの、\usepackageの下あたりに以下のようなものを付け足す。
\oddsidemargin 0mm \evensidemargin 0mm \topmargin 0mm \footskip 20mm \textheight 213mm \textwidth 161mm
そしたら、文字が出るエリアが広がって、だいたいjreportと同じような体裁になる。
Chapterの位置を変えるには、プリアンブルをいじるだけでは無理っぽい。なので、/usr/share/texmf-texlive/tex/latex/base/report.clsを編集する必要がある。
~$ cd /usr/share/texmf-texlive/tex/latex/base ~$ sudo emacs report.cls
このファイルのどこかに、@makechapterheadという部分があるので探す。Ctrl+Sで普通に見つかる。
\newcommand\chapter
ってとこの下あたりに、
\def\@makechapterhead#1{% \vspace*{50\p@}%
ってのがおるから、ここの\vspace*{50\p@}%の50を、例えば0とか、思い切って-30とかにすると、tex文書中のChapterが上に行く。
卒論、修論または学会用の論文で、必ず必要な参考文献リスト。bibtexを使っていると思うが、参考文献リストのフォーマットには実は色々なものがある。
~$ locate .bst
と入力すると、色々な.bstファイル名とその在処が表示されるが、このうち/usr/share/texmf/jbibtex/bst/に入っているものが参考文献リストのフォーマットである。
さて、JSCEとは言うまでもなくJapan Society of Civil Engineeringの頭文字であるが、この学会用の参考文献リストのフォーマットはデフォルトでは用意されていない。そこで、防災研の高橋先生のWebsite http://wwwcatfish.dpri.kyoto-u.ac.jp/~yos/Japanese/index.htmlからjsce.bstを拾ってくる。その後、このbstファイルを然るべき場所に移動させた上で魔法を唱える。
~$ wget http://wwwcatfish.dpri.kyoto-u.ac.jp/~yos/tex/jsce.bst ~$ sudo mv jsce.bst /usr/share/texmf/jbibtex/bst/ ~$ sudo mktexlsr
こうすると、bibtexでJSCEフォーマット(土木学会のフォーマット)を使えるようになる。
最後に、thesis.tex本文中で
\bibliographystyle{jsce}
とする.
http://www.jsce.or.jp/committee/amc/jam/jam_manu.html
wget http://www.jsce.or.jp/committee/amc/jam/DOC/applmech2010.lzh lha x applmech2010.lzh
nkf --euc --unix --overwrite *.*
jsce.clsではlastpagecontrolやlastpagesettingで最後のページを設定する必要がある. balance.styを使った方が楽なので,jsce.clsを適当に改変.
jsce.clsの最後の方に書かれている
\ifdim\lastp@geheight=\z@ \onecolumn\null\vspace*{#1}\noindent\centering\usebox{\lastp@gebox}% \fi
を以下のように改変.
\begin{picture}(0,0) \put(-220,-200){\null\vspace*{#1}\noindent\centering\usebox{\lastp@gebox}% } \end{picture}
(-220,-200)のあたりは適当.
texファイルの最後にこんな感じで記述.balance.styが必要.\usepackage{balance}するべし.
\bibliographystyle{jsce} \bibliography{hoge} \balance \lastpagecontrol[0cm]{0cm} \lastpagesettings[0cm]
LaTeXにはいくつかのフォント(書体)がデフォルトで用意されている。例えば、
I have a {\texttt typewriter}
とすると、“typewriter”の部分のフォントが変更される。また、何も指定しなければ、serif体らしきフォントが適用される。 しかしながらこのフォント、TeXの作成者が作ったお世辞にも格好良いとは言えない代物である。 そこで、Roman体やBookman体等を埋め込みたい。
文章全体のフォントを変える場合は、プリアンブルに
\renewcommand{\rmdefault}{ptm}
と打ち込めばok。{ptm}のところでフォントを指定する。(フォントの種類は後述。)
また、文章内で局所的に変更したい場合は
I love to watch {\usefont{T1}{pbk}{m}{it}National Hockey League}
のようにすると、例えばこの場合は“National Hockey League”の部分がBookmanの斜体になって出力される。 詳細は、
\usefont{T1}{pbk}{m}{it}
のうち、{T1}は謎であるが、{pbk}でフォント、{m}で標準体か太字かを、{it}のところで標準体か斜体か、という風に指定する。
ptm: Times, phv: Helvetica, pcr: Courier, pnc: New Century Schoolbook, pag: Avant Garde, pplx: Palatino, pbk: Bookman
m: 標準, b: 太字
n: 標準, sl: 斜体, it: Italic, sc: SMALL CAPS
例えば、Helvetica・太字・標準体の場合は、
{\usefont{T1}{phv}{b}{n}hogehoge}
とする。但し、上記の組み合わせの全てが有効とは限らない。また、slで斜体を選択できるが、italic体にする方が好ましいらしい。
tex関係のwiki。texのことならとりあえずここ。
マクロ関係について記述
数式で位置をちょっと変えたいときに便利.