将符号放在 xymatrix 之前的中心位置(就像 pmatrix 一样)

将符号放在 xymatrix 之前的中心位置(就像 pmatrix 一样)

有时需要用“图表/树”等进行代数运算。对于我的目的来说,xymatrix 环境足以编写这些图表。但是下面的表达看起来是错误的

\lambda \cdot \xymatrix{A \ar[d] \ar[r]& B \ar[d]\\ C \ar[r] & D }

因为“标量积”并不处于明显的位置,相对于图的绝对高度,该位置应该是居中。

有没有办法在方程中使用图表,就像任何其他符号一样,或者像 pmatrix 一样?应该可以在 lyx 编辑器中使用,而不需要太多努力。

答案1

我建议使用tiz-cd以下psmatrix环境来执行此操作pst-node

pstricks代码需要使用以下方式进行编译latex -> dvips ->ps2pdf或者pdflatex如果您加载auto-pst-pdf包并添加--enable-write18 switch to the comiler (for MiKTeX) orshell-escape xelatex,则直接使用(for TeX Live and MacTeX), **or** directly with

\documentclass{article}

\usepackage{tikz-cd}
\usepackage{pst-node} 

\begin{document}

\texttt{tikz-cd} solution: 
\[ λ\cdot\! \begin{tikzcd}[arrows={-Stealth}]
A \rar\dar &B \dar\\C\rar & D
\end{tikzcd}\]%

\texttt{psmatrix} solution: 
\[ \begin{psmatrix}[colsep=1.1cm, rowsep=0.7cm]
A &B \\C\ & D
\psset{linewidth=0.5pt, arrows=->, arrowinset=0.12, nodesep=3pt}
\ncline{1,1}{1,2}\ncline{1,1}{2,1}\nbput[npos=0.4]{λ\cdot{}}
\ncline{2,1}{2,2}\ncline{1,2}{2,2}
\end{psmatrix} \]%

\end{document} 

enter image description here

相关内容