Latexで新しい環境を作る際にエラーメッセージが発生する

このQ&Aのポイント
  • Latexで新しい環境を作る際に「Misplaced alignment tab character &.」というエラーメッセージが表示されます。
  • 作りたいものは表を使うときの省略版コマンドです。
  • どこに問題があるのかわかりません。
回答を見る
  • ベストアンサー

Latexについて

newenvironmentを使って、新しい環境を作りたいのですが、どうも上手く行きません。 作りたいものは表を使うときの省略版コマンドなのですが、いざ使ってみると「Misplaced alignment tab character &.」というエラーメッセージが出てしまいます。 どこに問題があるのでしょうか? **定義** \newenvironment{aa}[3] {% \begin{table}[htbp]% \caption{#2}% \begin{tabular}{#1}% } {% \end{tabular}% \label{#3}% \end{table}% } **使用** \begin{aa}{|c|r|}{キャプション}{ラベル}} ss && s \\ ff && s \\ \end{aa}

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

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

括弧の対応がおかしい. 同じものを, その新しい環境を使わず table環境で書くとしたら, あなたはどう書きますか?

plot02
質問者

お礼

\newenvironment{tablex}[3] {% \begin{table}[htbp]% \caption{#2}% \label{#3}% \begin{tabular}{#1}% } {% \end{tabular}% \end{table}% } と書くことで、うまくいきました。 \labalの位置が問題だった?ようです。

plot02
質問者

補足

回答ありがとうございます。 すいません、使用時の所で「}」が1個余分だったのと, &の使い方がおかしいですね。 確認不足でした。 \begin{document} \begin{table} \caption{キャプション} \begin{tabular}{r|c} ss & s \\ ff & s \\ \end{tabular} \label{ラベル} \end{table} table環境を使うならこうですよね。これは上手く行きます。 しかし、これを、newenvironmentを使って書くと **定義** \newenvironment{aa}[3] {% \begin{table}[htbp]% \caption{#2}% \begin{tabular}{#1}% } {% \end{tabular}% \label{#3}% \end{aa}% } **使用** \begin{aa}{|c|r|}{キャプション}{ラベル} ss & s \\ ff & s \\ \end{aa} こう書くと、 「Illegal parameter number in definition of \endmytable」:aa環境定義時の「}」 「Illegal parameter number in definition of \reserved@a」:aa環境使用時の「}」 というエラーが出ます。 パラメーターと言われても、どこかおかしい所ありますかね?

関連するQ&A

  • LaTeX: captionの中で改行したいのですが・・・

    LaTeXで通常文章中で強制改行するためは、 \\ というコマンドを使うのですが、 図表のタイトルなどのキャプションが長くなりすぎて、途中で改行したい場合はどうすればよいでしょうか? 具体的なコード(該当部分)は下の通りです。よろしければ、ご教授下さい。 \begin{table}[ht] \caption{キャプションが長いので、改行したい。      途中で\\を使っても改行してくれません。} \begin{tabular}{rccccc} ・・・・・ ・・・・・ ・・・・・ \end{tabular} \end{table}

  • LaTeXで質問します.

    困っているので,解答お願いします. ーーーーーーソースーーーーーー (表¥ref{tb:j3-1})参照 ¥begin{table}[ht] ¥begin{center} ¥caption{行列} ¥begin{tabular}{|c|c|c|} ¥hline 1 &0 &0 ¥¥ ¥hline 1 &1 &1 ¥¥ ¥hline 0 &0 &3 ¥¥ ¥hline ¥end{tabular} ¥label{tb:j3-1} ¥end{center} ¥end{table} ーーーーーーーーーーーーーーーーー pdf表示結果. ーーーーーーーーーーーーーーーーー (表2.2.1)参照 表4:行列 1 0 0 1 1 1 0 0 3 ーーーーーーーーーーーーーーーーー と表示されて,表番号が正しく参照されず, 表番号が,表の(節,小節,小々節)で表示されます. これを (表4)参照 に直したいんですが,どうすればいいかお答えください. 分かりにくくてすいません.お願いします.

  • テキスト幅にあわせた表の作り方(latex 2カラム)

    皆様   こんにちは、ご教授をお願い致したいと思います。  latexで2カラムの文書を書いています。テキスト幅(つまりカラムの幅) に同幅の表を作りたいが、何かよい方法があれば教えてください。 \begin{table}[htbp] \caption {Test Table} \small \begin{tabular*}{8cm}{@{\extracolsep{\fill}}|l|l|l|l|} \hline Category & Characteristics & Maneuver(s) & Quadrant(s) \\ \hline \end{tabular*} \end{table} これでは、幅を8cmに指定しているにも関わらず、はみ出して隣のカラムに 行ってしまいました。 1、カラム幅を表幅に継承させるにはどうすれば? 2、はみ出ないように、適当に改行するには? 3、表の第一行の文字サイズは普通サイズ、第二行以後はやや小さい   文字サイズを指定するには?  どなかたサンプルを示していただければと思います。

  • LaTeXの横並びの表のcaptionが・・・

    情報系の学部2回生です。TeXで論理回路実験のレポートを書いているんですが、表を並べたときにcaptionと表の間に謎の空行が出てしまいます。 ですが、なかには同じ書式で書いているのにうまく出力されるところもあります。(ちなみに右の表を二枚並べるとうまくいきます。) 使用環境はOSがWindows7starterで、texはw32texとかいうのをインストールし、Winshellで編集しています。 書いたソース載せますので確認してみてください。 \documentclass[a4paper]{jreport} \begin{document}  \begin{table}[h]   \begin{minipage}[t]{.5\textwidth}    \begin{center} \caption{実験8の入出力} \label{tb:exp8output} \begin{tabular}{ |ccc|cc| }\hline J & K & Clock & Q & $\overline{Q}$ \\ \hline Low & Low & Low & High & Low \\ \hline High & Low & High & High & Low \\ \hline Low & Low & High & High & Low \\ \hline High & Low & High & High & Low \\ \hline High & Low & High & High & Low \\ \hline Low & High & Low & High & Low \\ \hline High & High & High & High & High \\ \hline \end{tabular} \end{center} \end{minipage} % \hfill % \begin{minipage}[t]{.5\textwidth} \begin{center} \caption{正論理で示した真理値表} \label{tb:exp8turth_table} \begin{tabular}{ |ccc|cc| } \hline J & K & Clock & Q & $\overline{Q}$ \\ \hline 0 & 0 & 0 & 1 & 0 \\ \hline 1 & 0 & 1 & 1 & 0 \\ \hline 0 & 0 & 1 & 1 & 0 \\ \hline 0 & 1 & 1 & 0 & 1 \\ \hline 1 & 0 & 1 & 1 & 0 \\ \hline 0 & 1 & 0 & 1 & 0 \\ \hline 1 & 1 & 1 & 1 & 1 \\ \hline \end{tabular} \end{center} \end{minipage} \end{table} \end{document}

  • 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で論文を書いています。 文章1 表1 文章2 表2 のように作りたいのでするが、 文章1 文章2 表1 表2 のようになります。 ちなみにコマンドでは、 文章1 \begin{table}[h] \renewcommand{\tablename}{Table~} \caption{表1} \end{tabular} \end{table} 文章2 \begin{table}[h] \renewcommand{\tablename}{Table~} \caption{表2} \end{tabular} \end{table} のようにしています。

  • LATEXによる表の改行

    数学の論文をLATEXで書いています。 数列の表を作りたいのですが、数列が自動的に改行されません。 %--------------------------------------------------------------------- \begin{table}[htb] \caption{Sequence $\leq$ 50} \begin{tabular}{|c|l|} \hline $n$ & Sequence \\ \hline $1$ & 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50\\ $2$ & 2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50\\ \hline \end{tabular} \end{table} %--------------------------------------------------------------------- 上を実行すると http://puu.sh/3xMtJ.png このようになります。 理想としては、http://puu.sh/3xMBS.png このように(自動的に)改行をして欲しいのですが、この表がもっと長くなってくると手動で改行するのは厳しいので、是非ご存知の方がいましたら解決方法を教えていただきたいです。よろしくお願いします。 追記) 数字ではなく日本語を表に入れると自動的に改行をしてくれるのですが、数字ではうまくいきません

  • LaTeXでのcaptionの位置

    LaTeXで以下のように図を2枚並べて貼り付けるとき,右側のcaptionがちょうど図の下にきません.原因は途中にある\hspace*だと思うのですが,これを退けると図が重なってしまいます.どうすればcaptionの位置を調節できるのですか?わかる人教えてください. \begin{figure}[h] \begin{minipage}{0.4\textwidth} \begin{center} \epsfile{file=FIG/fig1.ps,scale=0.5} \caption{画像1} \label{fig:fig1} \end{center} \end{minipage} \hspace*{10mm} \begin{minipage}{0.4\textwidth} \begin{center} \epsfile{file=FIG/fig2.ps,scale=0.5} \caption{画像2} \label{fig:fig2} \end{center} \end{minipage} \end{figure}

  • texで図と表を並べたい

    texで図と表を並べようと、 \begin{minipage}{0.5\hsize} \includegraphics[width=50mm]{図の名前.eps} \end{minipage} \makeatletter \def\@captype{table} \makeatother \begin{minipage}{0.5\hsize} \begin{table}[htbp] \begin{center} 表の名前\\ \begin{tabular}{|c|c|c|} \hline 表の内容 \end{tabular} \end{center} \end{table} \end{minipage} としたのですが、LaTeX Error: Not in outer par modeと エラーが出てしまいます。 どうしたら横に並べられるか教えてください。 よろしくお願いします。

  • tex 図のCaptionを中央揃えにしたい

    texで図を挿入する際のCaptionについてお伺いします. 以下のようにして,\begin{center}~\end{center}で括っていますが 図は中央揃えになるものの, Captionは中央揃えにならずに左寄せになってしまいます. \centeringでも同様です. Captionも中央揃えにする方法を教えていただけないでしょうか. \begin{figure}[!htbp] \begin{center} \includegraphics[width=13cm, clip, bb=18 75 500 420]{pic/test.eps} \caption{Test} \label{fig:system} \end{center} \end{figure}