Latexで行間幅の取り扱いについて

このQ&Aのポイント
  • Latexで行間幅の取り扱いについて宜しくお願い致します。
  • \begin{flushleft}や\begin{eqnarray*}の直前や\end{flushleft}や\end{eqnarray*}の直後や$$$$で括った数式の直前・直後の行間が開きすぎます。通常の文章中での\(改行)と同じ行間幅にしたいのですがどうすればいいのでしょうか?
  • \vspace{-1cm}とかを逐一挿入して行間を詰めるのに膨大な手間がかかってしまいます。
回答を見る
  • ベストアンサー

Latexで行間幅の取り扱いについて

宜しくお願い致します。 何故か ttp://milky.geocities.jp/emilyhoriedion/practice.tex ttp://milky.geocities.jp/emilyhoriedion/practice.pdf のように \begin{flushleft}や\begin{eqnarray*}の直前や \end{flushleft}や\end{eqnarray*}の直後や $$$$で括った数式の直前・直後の行間が開きすぎます。 \vspace{-1cm}とかを逐一挿入して行間を詰めるのに膨大な手間がかかってしまいます。 通常の文章中での\\(改行)と同じ行間幅にしたいのですがどうすればいいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • kabaokaba
  • ベストアンサー率51% (724/1416)
回答No.2

まず。。eqnarrayや$$の前後には空白があくのが TeX/LaTeXの仕様です. 写植やMacのように「普通の改行」の動きはしません. この空白量は 通常の場合は \abovedisplayskip/belowdisplayskipおよび \abovedisplayshortskip/\belowdisplayshortskip の四つのパラメータで指定されます. これらを0ptに指定すれば,まあ,行間があいてないように見えます. 決してマイナスにしてはいけません. マイナスにした日には,今度は本文と別行数式が重なるのを直すのに 苦労することになります. shortの有無が関係するのは, 別行数式の前の行の終端と 別行数式の先頭の「横位置の差」が2emを超えないときはshortが適用されます. ただし,上記のことは,fleqnオプションを使用しないときは fleqnオプション使用時は $$の挙動は変わりませんが,eqnarrayなどの上下の空きは \topsepで制御されます. この\topsepはうかつに値を変えると, 場合によっては箇条書き系環境の体裁も変わります. \topsepは箇条書き系環境の上下の空きを決定している パラメータのひとつでもあります. ついでにいうと,jsclassesを使ってるように見えますが(jsartcle.clsか?), この場合,10pt以外のオプションを使うと 1cmとかいうふうに寸法を直接指定しても1cmにはなりません 1cmをあけたければ1truecmのように「true」を単位につけましょう. 話をもどして, かりに上下アキを0ptにしても 別行数式の高さは普通の文章より大きいので 絶対に「行送りの倍数」にはできません. となると,ページを生成するにはかならずどこかで, 帳尻あわせをしなければいけません. この縦方向の帳尻あわせをどこでするかという問題が発生して 処理系のほうで調整されるかもしれません (これは\flashbottom/\raggedbottomの設定に依存). くわえて,大きな数式,それこそ行列があった場合に, 通常の行間では重なるので,行間の調整が入ります. この調整のパラメータは \lineskip/\lineskiplimitですが, これらの値とfleqnなどの設定の組み合わせによっては 数式および行間は通常のものとはかわります, 大雑把にいえば,前の行の下端と次の上の上端の間が \lineskiplimit未満のときに,行間に\lineskipを加えて それが\lineskiplimitを超えればOK,こえなければ加算を繰り返します. #この行間の機構については #TeX by Topicという書籍に詳しくて #この本はWebで無料公開されてるはずです. これにくわえて,人間の主観的な問題がでてきます 普通の行間であっても,別行数式が小さい場合, 行間があいてるようにみえるんですよね あああああああああ\\ $a_1+a_2=a3$\\ いいいいいいいいい なんて場合,数式の上が広いようにみえませんか? ということで。。。。現実的な対策ですが eqnarrayを書き直してしまうのが一番簡単なんですが, それができない場合は,まずはパラメータを TeXの動作にあわせて調整するということです. ただし,パラメータはたくさんありますので そこのバランスをとることが必要です. それから,箇条書きの\itemの直後に別行数式がある場合, \item \begin{eqnarray} ... \end{eqnarray} みたいなときに (1) .... (同じ行に別行数式) とするのは,すごく難しいのでお勧めしませんし, じつは英文の数式組版としては不恰好と思われます.

Dominika
質問者

お礼

ご回答誠に有難うございます。 行間詰めとはかなり複雑なのですね。 今,Latexの入門書を購入してご回答を参考に地道に練習しております。ちょっと時間がかかりそうです。 また,何か有りましたら投稿させていただきたいと思います。

その他の回答 (1)

  • Tora_777
  • ベストアンサー率73% (28/38)
回答No.1

\abovedisplayskip、\belowdisplayskipを用いて調整できるのですが、(1)などは、enumerate.styを利用された方がいいかと思います。後で、途中に、箇条書きを入れたとき自動で調整してくれます。 \Cが定義されていないというエラーが出ましたが、下記のようにされたらいかがでしょうか。 eqnarray*環境は&を2回タイプしなきゃいけない、無駄な空白が空くので、align環境にしました。align環境で途中に文章を挟むときに、\intertextを利用できるのですが、mathtools.styを利用すると前後の空白を少なくすることができます。\allowdisplaybreaksとかもあります。 \\は入れる必要が無いですね。 \documentclass{jarticle} \usepackage{enumerate} \usepackage{amsmath} \begin{document} \abovedisplayskip=-5pt \belowdisplayskip=-5pt A standard result from linear algebra and matrix theory states that for any $n\times n$ nonsingular matrix $A$. \begin{enumerate}[(1)] \item $$ (C A)^T = |A|A^{-1}. $$ where $A^{-1}$ is the inverse of $A$. \item $$ |C A| = |A|^{n-1}. $$ \item Let $A \in M$ and $c\in R$. Then $$ C cA=c^{n-1}C A. $$ \item $$ C^2 A = |A|^{n-2} A. $$ \item where $egvl(C A)$ stands for of $C A.$ \item Let $A \in M.$ Then $$ AC A=(C A)A=|A|I. $$ \end{enumerate} \begin{enumerate}[(1)] \item For any $A \in M$ and any $c \in R,$ \begin{align*} AC A &= a_{ik}(C A)_{ij} &= |A|I. \end{align*} Thus $$ C A =|A|A^{-1}. $$ \end{enumerate} \end{document}

Dominika
質問者

お礼

ご回答誠に有難うございます。 行間詰めとはかなり複雑なのですね。 今,Latexの入門書を購入してご回答を参考に地道に練習しております。ちょっと時間がかかりそうです。 また,何か有りましたら投稿させていただきたいと思います。

関連するQ&A

  • LaTeX特定の数式だけに通し番号を振るには?

    よろしくお願い致します。 体裁を崩さずに特定の数式のみに通し番号を振りたく思っております。 \begin{eqnarray*} x^TAx &=& (Ux')^TA(Ux') \\ &=& x'^T(U^TAU)x' \\ &=& (x'_1,\cdots,x'_{n-1},0)(U^TAU)(x'_1,\cdots,x'_{n-1},0)^T \\ &=& (x'_1,\cdots,x'_{n-1})(I_{u_1,\cdots,u_{n-1}}(A))(x'_1,\cdots,x'_{n-1})^T \\ &=& (Ux')^TB(Ux') \\ &=& x'^T(U^TBU)x' \\ &=& (x'_1,\cdots,x'_{n-1},0)\left(U^TBU\right)(x'_1,\cdots,x'_{n-1},0)^T \\ &=& (x'_1,\cdots,x'_{n-1})(I_{u_1,\cdots,u_{n-1}}(B))(x'_1,\cdots,x'_{n-1})^T. \end{eqnarray*} にて例えば 「&=& (x'_1,\cdots,x'_{n-1})(I_{u_1,\cdots,u_{n-1}}(A))(x'_1,\cdots,x'_{n-1})^T \\」 の行のみに通し番号を付けて,後で\eqrefコマンドで呼び出したいとします。 \begin{eqnarray*} x^TAx &=& (Ux')^TA(Ux') \\ &=& x'^T(U^TAU)x' \\ &=& (x'_1,\cdots,x'_{n-1},0)(U^TAU)(x'_1,\cdots,x'_{n-1},0)^T \\ \end{eqnarray*} \begin{eqnarray} &=& (x'_1,\cdots,x'_{n-1})(I_{u_1,\cdots,u_{n-1}}(A))(x'_1,\cdots,x'_{n-1})^T \label{text} \\ \end{eqnarray} \begin{eqnarray*} &=& (Ux')^TB(Ux') \\ &=& x'^T(U^TBU)x' \\ &=& (x'_1,\cdots,x'_{n-1},0)\left(U^TBU\right)(x'_1,\cdots,x'_{n-1},0)^T \\ &=& (x'_1,\cdots,x'_{n-1})(I_{u_1,\cdots,u_{n-1}}(B))(x'_1,\cdots,x'_{n-1})^T. \end{eqnarray*} \eqref{test} としたりしてますが,その際に &=& (x'_1,\cdots,x'_{n-1})(I_{u_1,\cdots,u_{n-1}}(A))(x'_1,\cdots,x'_{n-1})^T の行だけ水平方向にずれるし, \end{eqnarray*} \begin{eqnarray} の行間だけ他より広くなるので, \begin{eqnarray*} x^TAx &=& (Ux')^TA(Ux') \\ &=& x'^T(U^TAU)x' \\ &=& (x'_1,\cdots,x'_{n-1},0)(U^TAU)(x'_1,\cdots,x'_{n-1},0)^T \\ \end{eqnarray*} \vspace{-1.5cm} \begin{eqnarray} \hsapce{0.5cm} &=& (x'_1,\cdots,x'_{n-1})(I_{u_1,\cdots,u_{n-1}}(A))(x'_1,\cdots,x'_{n-1})^T \label{text} \\ \end{eqnarray} \vspace{-1.5cm} \begin{eqnarray*} &=& (Ux')^TB(Ux') \\ &=& x'^T(U^TBU)x' \\ &=& (x'_1,\cdots,x'_{n-1},0)\left(U^TBU\right)(x'_1,\cdots,x'_{n-1},0)^T \\ &=& (x'_1,\cdots,x'_{n-1})(I_{u_1,\cdots,u_{n-1}}(B))(x'_1,\cdots,x'_{n-1})^T. \end{eqnarray*} のように\vspaceや\hspaceコマンドで体裁を整える為にいちいち微調整をしなれればなりません。 各等号と各行間を揃えた状態でひと数式にだけ通し番号を振りたいのですがこういった場合はどのようにして対処すればいいのでしょうか? できるだけ手っ取り早い方法をお教えいただけましたら幸いでございます。

  • LaTex の数式が文字化けする

    Texで以下の数式を表示したいのですが、添付した画像のように文字化けしてしまいます。 1のように数式を二つにわけると文字化けしなくなりますが、3のようなeqnarrayで用いたいので,3の場合に解決できません。 理由がよくわからないので、分かる方教えてください。 1:$\mathcal{A}$ $\cup \{ j \} \setminus \{ i \} $ 2:$\mathcal{A} \cup \{ j \} \setminus \{ i \}$ 3: \begin{eqnarray} \mathcal{A} \cup \{ j \} \setminus \{ i \} \end{eqnarray}

  • latexでのエラー

    tex初心者です。 platexコマンドを実行すると ! Misplaced alignment tab character &. \reserved@a ->& l.38 & =&88.8(m^{3}/人・年) というエラーメッセージが出るのですが、どこを改善すればよいのか分かりません。 関係ありそうなプログラムの34-39行目は次のようになっています。 \begin{eqnarray*} V &=&\frac{一年間に家庭で消費された水量}{給水人口}\\ &=&\frac{5.15\times10^{6}(m^{3}/年)}[5.8\times10^{4}(人)}\\ &=&88.8(m^{3}/人・年) \end{eqnarray*} 「Misplaced alignment tab character &.」というのは、&の使う場所がおかしいという意味のようですが、eqnarray環境で使っていますし…。 どこを直せばよいのでしょうか。 詳しい方、宜しくお願いします。

  • Texのカリグラフ体が文字化けします

    texのソースコードで, $\cal{L}_{u} $ や \begin{eqnarray} \cal{L}_{u} \end{eqnarray} のように, カリグラフ体に下付き文字を付けると, 文字化けします. 回避する方法はないでしょうか? お願いします

  • latexでA4横置きにできない。

    texで資料を作ってるんですけど普通はA4縦置きなんですが 横置きにしたいんです。 ソースファイル \documentclass[landscape,12pt,twoside,titlepage]{jarticle} \pagestyle{empty} \usepackage{graphicx} \usepackage{doctor} \usepackage{kaneko} \usepackage{cite} \usepackage{latexsym} \usepackage{fancyheadings} \usepackage{C:/ptex/style/here} \setlength{\textwidth}{170mm} \setlength{\textheight}{220mm} \setlength{\topmargin}{-6mm} \setlength{\oddsidemargin}{-5mm} \setlength{\evensidemargin}{-5mm} \setlength{\parindent}{1zw} \setlength{\headsep}{2.3cm} \setlength{\footskip}{15mm} \begin{document} タイトル\\ 某大学院工学研究科    氏名\\ \begin{figure}[H] \begin{minipage}{80mm} %\vspace{-10mm} 文章 \end{minipage} \hfill \begin{minipage}{80mm} \begin{center} \includegraphics[width=7cm]{picture.eps} \caption{図の名前.} \end{center} \end{minipage} \end{figure} \end{document} 余計なのがいろいろありますが、以前のtexファイルの使いまわしなので、 余計なのは書いてはだめなのかなぁ。 とりあえず \documentclass[landscape]{jarticle} ってやれば横置きになるんじゃないんですか? 締め切りぎりぎりなんでマジ困ってます。 よろしくお願いします。

  • 応用問題がわかりません

    こんにちは。 下記の問題なのですが,頓挫してしまいました。 一体どのようにして解けばいいのでしょうか? どうぞご教示ください。 ttp://milky.geocities.jp/emilyhoriedion/question__10.jpg

  • TeXで行間を調整する方法をお教えください。

    中を理解しないままmanualに書かれている通りをまねしながらTeXを使っているのですが、困ったことが起こりましたので、ご助力ください。表を作成しているときに、表そのものは出来るのですが、、表の中に分数などを使っていますので、行間に少し隙間をとりたく思い、manualのP266にあります、\tabtopsp命令を定義するとあります \newcommand{\tabtopsp}{1}{\vbox{\vbox to#1{}\vbox to1zw{}}}  を追加し、続いて \tabtopsp命令の使用とあります、\begin{tabular}{|c||c|c|} (改行) \hline\tabtopsp{3mm}% として実行しますと、 エラーになり Missing { inserted. という文が打ち出されます。文字の打ち間違いはないと思いますが、不安ですし、さっぱり手の打ち様がありません。素人にでも分かるような方法がありましたらぜひお教えください。

  • TeX での余分な改行を消したい

    こんにちは。 以下のように入力した際に発生した TeX での余分な改行を消したいのですが、その方法がわかりません。 -------------------- \begin{document}  \begin{itembox}[c]{リサージュ曲線の定義}   \begin{equation}    \left \{      \begin{array}{l}       x=A\sin{\omega_{1}t+\alpha}\\       y=B\sin{\omega_{1}t+\beta}      \end{array}    \right.(0\leqq t \leqq 2\pi) \nonumber   \end{equation}  \end{itembox} \end{document} -------------------- itembox で表示させた枠の中に equation で数式を入力すると、枠の中の一行目に余分な改行が入ります。 どのようにしたら、この改行を表示させずに済むか教えて下さい。

  • ベクトルポテンシャル下での電流演算子

    下のはtexファイルです。 (11)あたりが怪しいです。 計算が間違っているのでしょうか?? 教えてください。。お願いします。 \section{Quantum mechanical current} anypositionでprobability amplitudeのtemporal differentiationを考える。 \begin{eqnarray} \frac{\partial }{\partial t}|\psi|^2 &=& \frac{\partial }{\partial t}[\psi^* \psi]\\ &=& \frac{\partial \psi^*}{\partial t} \psi + \psi^* \frac{\partial \psi}{\partial t} \\ &=& \frac{i}{\hbar}\biggl[ (H^* \psi^*)\psi-\psi^*(H\psi) \biggr] \end{eqnarray} ただしHamiltonianはHermitian operatorである。 Hamiltonianとして \begin{eqnarray} H &=& \frac{1}{2m}\left(p+\frac{e}{c}\bf{A} \right)^2 \\ &=& \underbrace{\frac{\hbar^2}{2m}\nabla^2}_{H_0} \underbrace{-\frac{i\hbar e}{2mc}(\nabla \cdot \mbox{\boldmath $A$}+\mbox{\boldmath $A$} \cdot \nabla)}_{H_1} \underbrace{ + \frac{e^2}{2mc^2}}_{H_2} \end{eqnarray} を採用する。 以下このHamiltonianを用いてprobability amplitudeのtemporal differentiationを考えていく。 \begin{eqnarray} \frac{i}{\hbar}\biggl[ (H^*_0 \psi^*)\psi-\psi^*(H_0\psi) \biggr] &=& -\frac{\hbar}{2mi}\biggl[ (\nabla^2 \psi^*)\psi-\psi^*(\nabla^2\psi) \biggr] \\ &=& \nabla \cdot \biggl[ \frac{\hbar}{2mi}\left\{ (\nabla\psi^*)\psi-\psi^*(\nabla \psi)\right\} \biggr] \end{eqnarray} なぜなら \begin{eqnarray} \nabla \cdot [(\nabla\psi^*)\psi-\psi^*(\nabla \psi)] &=&(\nabla^2\psi^*)\psi-\psi^*(\nabla^2\psi) \end{eqnarray} 次に \begin{eqnarray} \frac{i}{\hbar}\biggl[ (H^*_1 \psi^*)\psi-\psi^*(H_1\psi) \biggr] &=& \frac{e}{2mc}\left\{\biggl[(\nabla \cdot \mbox{\boldmath $A$}+\mbox{\boldmath $A$} \cdot \nabla) \psi^*\biggr]\psi-\psi^* \biggl[ (\nabla \cdot \mbox{\boldmath $A$}+\mbox{\boldmath $A$} \cdot \nabla)\psi\biggr] \right\} \end{eqnarray} ここで、vector formula \begin{eqnarray} \nabla\cdot(\psi^*\mbox{\boldmath $A$} \psi) &=& (\nabla\psi^*)\cdot \mbox{\boldmath $A$} \psi+\psi^*(\nabla\cdot\mbox{\boldmath $A$} )\psi +\psi^*\mbox{\boldmath $A$} \cdot (\nabla\psi) \end{eqnarray} を用いると、 \begin{eqnarray} \frac{i}{\hbar}\biggl[ (H^*_1 \psi^*)\psi-\psi^*(H_1\psi) \biggr] &=& -\frac{e}{mc}\nabla\cdot(\psi^*\mbox{\boldmath $A$}\psi) \end{eqnarray} を得る。ここでcontinuity equation \begin{eqnarray} e\frac{\partial |\psi|^2}{\partial t}=\nabla\cdot \mbox{\boldmath $j$} \end{eqnarray} を与えれば、current densityが考えられる。

  • texで数式(センタリングの仕方)

    現在latexをつかって数式を書いております。 数式 f(x,y,z)=・・・  (x^2+y^2+z^2=1) という式を書くときに、 f(x,y,z)=・・・ の部分がセンターに来るようにしたいと思っておりますが、いろいろなサイトを見ても、どのようにしたらよいのか分かりません。 どなたか、ヒントや参考サイトだけでもいいので教えてください。 ちなみに、私が書いたソースは、 \begin{eqnarray} f(x,y,z)=・・・~~~~~~(x^2+y^2+z^2=1) \end{eqnarray} こうすると、 f(x,y,z)=・・・   (x^2+y^2+z^2=1) の全体が中央に来るように表示されてしまいます。 超初歩的なことかもしれませんが、texは初心者ですので、何卒よろしくお願いします。