
\documentclass{article}
\usepackage{amsmath}
\usepackage{array}
\usepackage{mathtools}
\begin{document}
\renewcommand{\arraystretch}{1.2}
\newcommand{\minus}{\scalebox{0.4}[1.0]{$-$}}
\[
\begin{bmatrix*}[r]
0& \minus\frac{1}{2} &\frac{1}{2} \\
\minus\frac{1}{2}& 0&\minus\frac{1}{2}\\
\frac{1}{2}& \minus\frac{1}{2}&0
\end{bmatrix*}
\]
\end{document}
Как уменьшить размер числа «0», чтобы оно уместилось в дроби «1/2»? (уменьшить высоту «0» ?)
обновить образец
На фото ниже показано соотношение, близкое к 1/3.
решение1
Я бы поддержал рекомендацию Мико не делать этого. Но решением было бы сделать стиль отображения дробей, а не уменьшать нули (ваш пример, вероятно, был задан наивным программным обеспечением, которое не знает, как правильно изменять размер дробей. Вот еще одна альтернативная настройка, адаптированная из вашего MWE:
\documentclass{article}
\usepackage{amsmath}
\usepackage{array}
\usepackage{mathtools}
\begin{document}
\newcommand{\half}{{\displaystyle\frac{1}{2}\vphantom{\frac{1}{2}^1_1}}}
\[
\begin{bmatrix*}[r]
0& -\half &\half \\
-\half& 0&-\half\\
\half& -\half&0
\end{bmatrix*}
\]
\end{document}
Я вставил дробь \displaystyle
и использовал a, \vphantom
чтобы добавить дополнительный интервал — возможно, недостаточный — над и под дробью.
решение2
Я бы не стал уменьшать размер цифр 0
. Если вы считаете, что они выглядят слишком большими по отношению к текстовым \frac{1}{2}
выражениям, может быть, чтоДействительнонеобходимо заменить \frac
термины их десятичными представлениями — конечно, выровняв числа по их (явным или неявным) десятичным маркерам.
\documentclass{article}
\usepackage{mathtools} % for 'bmatrix*' env.
\usepackage{siunitx} % for 'S' column type
\begin{document}
\[
\renewcommand\arraystretch{1.33}
\begin{bmatrix*}[r]
0 & -\frac{1}{2} & \frac{1}{2} \\
-\frac{1}{2} & 0 & -\frac{1}{2} \\
\frac{1}{2} & -\frac{1}{2} & 0
\end{bmatrix*}
\]
\[
\left[ % note: no need to increase the value of '\arraystretch'
\begin{array}{@{} *{3}{S[table-format=-1.1]} @{}}
0 & -0.5 & 0.5 \\
-0.5 & 0 & -0.5\\
0.5 & -0.5 & 0
\end{array}
\right]
\]
\end{document}
решение3
На мой взгляд, хорошим решением для уменьшения разницы в размерах дробей (по умолчанию в текстовом режиме) и обычных чисел является использование дробей среднего размера из nccmath
, которые составляют около 80 % от \displaystyle:
\documentclass{article}
\usepackage{nccmath, mathtools} % for 'bmatrix*' env.
\usepackage{makecell}
\begin{document}
\[ \setcellgapes{3pt}\makegapedcells
\begin{bmatrix*}[r]
\phantom{-}0 & -\mfrac{1}{2} & \mfrac{1}{2} \\
-\mfrac{1}{2} & 0 & -\mfrac{1}{2} \\
\mfrac{1}{2} & -\mfrac{1}{2} & 0
\end{bmatrix*}
\]%
\end{document}
решение4
Я бы сказал, что ваш пример на самом деле предполагает обратное: «Я хочу сохранить обычный размер даже для числителей и знаменателей». Используйте \dfrac
вместо \frac
.
Кроме того, почему у вас есть особое отношение к минусу? Почему -
недостаточно?
\documentclass{article}
\usepackage{amsmath}
\usepackage{array}
\usepackage{mathtools}
\begin{document}
\renewcommand{\arraystretch}{2}
\[
\begin{bmatrix*}[r]
0 & -\dfrac{1}{2} & \dfrac{1}{2} \\
-\dfrac{1}{2} & 0 & -\dfrac{1}{2} \\
\dfrac{1}{2} & -\dfrac{1}{2} & 0
\end{bmatrix*}
\]
\end{document}