如何使用 Fouriernc 更正矩阵中超出分隔符的条目

如何使用 Fouriernc 更正矩阵中超出分隔符的条目

我正在使用带有分数项的 bmatrix 环境。我的问题是分数超出了括号创建的“边缘”。我知道还有其他环境可以使用。如何纠正这个问题?另外,我希望我的分数以下面的形式写出,而不是例如 1/2。这是我的代码:

\documentclass{article}
\usepackage{amsmath, amssymb, mathtools, fouriernc}
\newcommand{\vecd}[1]{\mathbf{#1}}
\begin{document}
 \[
 \vecd{x}^{(k+1)} = \begin{bmatrix*}[r] 0 & \tfrac{1}{4} & -\tfrac{1}{4} \\[3pt] \tfrac{1}{3} & 0 & -\tfrac{1}{3} \\[3pt] -\tfrac{1}{5} & -\tfrac{1}{5} & 0  \end{bmatrix*} \vecd{x}^{(k)} + \begin{bmatrix*}[r] 4 \\ -1 \\ 1 \end{bmatrix*}
  \]
\end{document}

答案1

对于低于默认值 5ptfouriernc的值似乎是必要的:\delimitershortfall

\documentclass{article}
\usepackage{amsmath, amssymb, mathtools, fouriernc}
\newcommand{\vecd}[1]{\mathbf{#1}}

\delimitershortfall=3pt

\begin{document}
\[
\vecd{x}^{(k+1)} = 
  \begin{bmatrix*}[r]
  0 & \tfrac{1}{4} & -\tfrac{1}{4} \\[3pt]
  \tfrac{1}{3} & 0 & -\tfrac{1}{3} \\[3pt]
  -\tfrac{1}{5} & -\tfrac{1}{5} & 0
  \end{bmatrix*}
  \vecd{x}^{(k)} 
+ \begin{bmatrix*}[r] 4 \\ -1 \\ 1 \end{bmatrix*}
+ \begin{bmatrix*}[r] 4 \\ -1 \end{bmatrix*}
\]
\end{document}

我为这些无意义的数学运算道歉:我只是想展示一下效果。

在此处输入图片描述

答案2

正如您所说,问题在于与某个包的交互不佳。为了手动解决此问题,我定义了\mystrut一条下沉得足够低且上升得足够高的规则,以便将其添加到顶行条目和底行条目,从而适当增加括号的高度。

但是,如果您希望控制矩阵条目之间的垂直和水平间距,我也提供此解决方案作为替代方法,这在显示\textstyle分数时可能会有用,就像您一样。

在给出您的原始解决方案和使用支柱修复的修改解决方案之后,我给出了一个使用我正在建设的tabstackengine.sty软件包的解决方案,目前发布在根据最宽的列编写具有等间距列的表格

\documentclass{article}
\usepackage{amsmath, amssymb, mathtools, fouriernc}
\usepackage{tabstackengine}
\newcommand{\vecd}[1]{\mathbf{#1}}
\newcommand\mystrut{\rule[-1.5ex]{0ex}{4ex}}
\begin{document}
ORIGINAL
 \[
 \vecd{x}^{(k+1)} = \begin{bmatrix*}[r] 0 & \tfrac{1}{4} & -\tfrac{1}{4} \\[3pt] \tfrac{1}{3} & 0 & -\tfrac{1}{3} \\[3pt] -\tfrac{1}{5} & -\tfrac{1}{5} & 0  \end{bmatrix*} \vecd{x}^{(k)} + \begin{bmatrix*}[r] 4 \\ -1 \\ 1 \end{bmatrix*}
  \]

MODIFIED ORIGINAL
 \[
 \vecd{x}^{(k+1)} = \begin{bmatrix*}[r] \mystrut0 & \tfrac{1}{4} & -\tfrac{1}{4} \\[3pt] \tfrac{1}{3} & 0 & -\tfrac{1}{3} \\[3pt] -\tfrac{1}{5} & -\tfrac{1}{5} & 0\mystrut \end{bmatrix*} \vecd{x}^{(k)} + \begin{bmatrix*}[r] 4 \\ -1 \\ 1 \end{bmatrix*}
  \]

TABSTACKENGINE (1.8baselineskip vertical \& 1.8ex intercolumngap)
\setstackgap{L}{1.8\baselineskip}
\setstackTABgap{1.8ex}
\[
\mathbf{x}^{(k+1)} =
\bracketMatrixstack[r]{
0            &  \frac{1}{4} & -\frac{1}{4}\\
\frac{1}{3}  &            0 & -\frac{1}{3}\\
-\frac{1}{5} & -\frac{1}{5} & 0
}
\mathbf{x}^{(k)} + \bracketVectorstack[r]{4\\-1\\1}
\]
\end{document}

在此处输入图片描述

相关内容