2

ギターのコード ダイアグラムをタイプセットするためのラテックス マクロを作成しました (画像環境を使用)。ここで、図に示すように、異なるダイアグラムを隣り合わせにタイプセットすると、見栄えの良いグリッドに表示されるようにしたいと考えています。

写真 (写真上: 図の「最初の」不適切なレイアウト、「2 番目」のラベルが付けられた、同じ数の図が並んでいる場合の正しいレイアウト)

\hspace を使用してダイアグラム間をスキップしています。そうしないと、ダイアグラムが近すぎてしまいます。2番目のケースでわかるように、ラテックスが写真を配置して、各行に同じ数の写真が表示されるようにします。ただし、最後の行の画像が少ない場合は、右に「シフト」されます。私はこれをしたくありません。

ラテックスが最初の行の図の間のスペースを少し長くして、行がページ幅に正確に収まるようにするためだと思います。\hspace によって作成されたスペースのサイズを変更しないようにラテックスに指示するにはどうすればよいですか? または他の方法はありますか?

1行にいくつの図が収まるかわからないので、表を使用できないと思います...

これはコードの現在の状態です:

\newcommand{\spaceForChord}{1.7cm}

\newcommnad{\chordChart}[1]{%
  %calculate dimensions xdim and ydim according to settings
  \begin{picture}(xdim, ydim){%
    %draw the diagram inside defined area
  }%
  \hspace*{\spaceForChord}%
  \hspace*{-\xdim}%
}%

%end preambule and begin document
\begin{document}
First:\\*
\\*
\chordChart{...some arguments to change diagram look...}
\chordChart{...some arguments to change diagram look...}
\chordChart{...some arguments to change diagram look...}
\chordChart{...some arguments to change diagram look...}
\chordChart{...some arguments to change diagram look...}
%...above line is repeated 12 more times to produce result shown at the picture
\end{document}

助けてくれてありがとう。

4

1 に答える 1

1

あなたの状況を簡単に再現することはできないので、長い目で見れば:flushleftあなたの周りに環境をラップする\chordCartことは役に立ちますか?

すなわち、

First:\\*
\begin{flushleft}
\chordChart{...some arguments to change diagram look...}
...
\end{flushleft}

Second:\\*

あなたの仮説が正しく、LaTeX が実際に行を正当化するためにスペースを引き伸ばそうとしている場合、上記は右側の正当化をオフにすることで問題を解決するはずです。

于 2010-04-08T22:19:29.897 に答える