
私は TikZ を使用して線形結合とそれに関連するものを印刷するマクロを作成しました (pgffor
実際、大きなドキュメント内の他の部分にも TikZ が必要です)。これが MWE です:
\documentclass[11pt]{article}
\usepackage{tikz,spalign,xspace,amsmath}
\newcommand\lincomb[3]{% 3args: list of coeffs, vector symb, operation
% \begin{tikzpicture}
\tikz{
\foreach \x [count=\j] in {#1}{
\ifnum\j=1
$\x{#2}_{\j}$
\else
${#3}\x{#2}_{\j}$
\fi
}\xspace
% \end{tikzpicture}
}
}
\begin{document}
\begin{equation}
\spalignmat{0.7;0.5;0.1}={\lincomb{0.7,0.5,0.1}{\mathbf{e}}{+}}\quad
\;\text{and}\:
\spalignmat{0.1;0.5;0.7}=\lincomb{0.1,0.5,0.7}{\mathbf{e}}{+}
\end{equation}
$\lincomb{a,b,c}{f}{-}$ and then some text.
\begin{tikzpicture}
\foreach \x [count=\j] in {a,b,c,d}{
\ifnum\j=1
$\x f_{\j}$
\else
$+ \x f_{\j}$
\fi
}
\end{tikzpicture}\ and then some text
\end{document}
出力は最後にあります。私が望んでいるのは、これら2つの間に適切なスペースを設けることです。ご覧のとおり、コードを独立したテキストとして使用してみましたが、結果は同じでした。tikzpicture
が、何も変わりませんでした。検索した後、多くの質問を見ました。取り除くの後にスペースを入れたいtikzpicture
のですが、追加したいです。 ご覧のとおり、xspace
ここでも は機能しません。 よろしくお願いします!!
答え1
コードは単なるテキストであり、描画コマンドではないため、コマンドをtikz
または に入れる必要はありません。実際、TeX はこれらの文字をタイプセットしようとしていますが、 の真ん中にあるため、 を使用するように指示されています。これは、文字をまったく持たず、単語間のスペースも生成しない内部フォントです。したがって、または環境では、テキストはノード内にないため、単にドロップされます。tikzpicture
tikzpicture
nullfont
\tikz
tikzpicture
\documentclass[11pt]{article}
\usepackage{tikz,spalign,amsmath}
\newcommand\lincomb[3]{% 3args: list of coeffs, vector symb, operation
% \begin{tikzpicture}
% \tikz{
\foreach \x [count=\j] in {#1}{
\ifnum\j=1
\x{#2}_{\j}
\else
{#3}\x{#2}_{\j}
\fi
% \xspace
% \end{tikzpicture}
}
}
\begin{document}
\begin{equation}
\spalignmat{0.7;0.5;0.1}={\lincomb{0.7,0.5,0.1}{\mathbf{e}}{+}}\quad
\;\text{and}\:
\spalignmat{0.1;0.5;0.7}=\lincomb{0.1,0.5,0.7}{\mathbf{e}}{+}
\end{equation}
$\lincomb{a,b,c}{f}{+}$ and then some text.
\end{document}