Я хочу иметь следующую формулу:
\[\Phi=\{\phi\}\cup\left\{\exists \mathsf{x_0}\ldots\exists \mathsf{x_{n-1}}\left[\bigwedge_{0\leq i<j\leq n-1} \mathsf{x_i}\neq\mathsf{x_j}\right]\right\}\]
что приводит к следующему:
Как видите, у меня над моим огромное пространство \bidwedge
. Использование \limits
ничего не меняет. Как мне получить более приличный вид набора?
решение1
\left
и \right
всегда создают ограждения, симметричные относительно оси формулы, то есть воображаемой линии, на которой будут лежать линии дробей.
С большими операторами, имеющими ограничения, нет необходимости в ограждениях, которые их покрывают; в этом случае \bigg
достаточно и позволяет избежать слишком больших разделителей. Есть только одно небольшое ручное исправление: добавление \,
между скобкой и оператором, потому что ограничение очень широкое.
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
\Phi=\{\phi\}\cup
\biggl\{\exists \mathsf{x_0}\dots
\exists \mathsf{x_{n-1}}
\biggl[\,\bigwedge_{0\leq i<j\leq n-1} \mathsf{x_i}\neq\mathsf{x_j}
\biggr]
\biggr\}
\]
\end{document}
На самом деле, я бы попробовал \Big
:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
\Phi=\{\phi\}\cup
\Bigl\{\exists \mathsf{x_0}\dots
\exists \mathsf{x_{n-1}}
\Bigl[\,\bigwedge_{0\leq i<j\leq n-1} \mathsf{x_i}\neq\mathsf{x_j}
\Bigr]
\Bigr\}
\]
\end{document}
решение2
Вы можете использовать одну из \big,\Big,\bigg, \Bigg
команд, чтобы настроить размер разделителей в соответствии с вашими потребностями. Это можно автоматизировать с помощью DeclarePairedDelimiter
from mathtools
. Примером может служить \set
команда which be used в \set*
версии, которая соответствует паре \left … \right
; в качестве альтернативы она принимает необязательный аргумент \big
, \Big
, и т.д.
Предлагаю один из этих кодов, без квадратных скобок, которые, на мой взгляд, не очень хорошо смотрятся в данном контексте:
\documentclass[12pt]{article}
\usepackage{mathtools}
\DeclarePairedDelimiter\set{\{}{\}}
\begin{document}
\[\Phi=\{\phi\}\cup\set[\bigg]{\exists \mathsf{x_0}\ldots\exists \mathsf{x_{n-1}}\left(\smash[b]{\bigwedge_{0\leq i<j\leq n-1}} \mathsf{x_i}\neq\mathsf{x_j}\right)}\]
\[\Phi=\{\phi\}\cup\biggl\{\exists \mathsf{x_0}\ldots\exists \mathsf{x_{n-1}}\textsf{, } \smash[b]{\bigwedge_{0\leq i<j\leq n-1}} \mathsf{x_i}\neq\mathsf{x_j}\biggr\}\]
\end{document}
решение3
Вы можете зарезервировать использование \mathsf
для имен переменных; я бы не стал распространять его использование на индексные переменные 0
, i
, j
, n-1
и т. д. Чтобы записать выражение более компактно, вы также можете захотеть загрузить пакет mathtools
(надмножество пакета amsmath
) и директиву этого пакета \smashoperator
. Наконец, как и предполагалось в других ответах, я бы не стал использовать директивы \left
и \right
для задания размера скобок, поскольку размер, который создается этим методом, является чрезмерным, с точки зрения типографики; вместо этого используйте \biggl
и \biggr
.
\documentclass{article}
\usepackage{mathtools} % for '\smashoperator' macro
\begin{document}
\[
\Phi=\{\phi\} \cup
\biggl\{\exists \mathsf{x}_0 \dots \exists \mathsf{x}_{n-1}
\biggl[ \, \smashoperator[r]{\bigwedge_{0\leq i<j\leq n-1}}
\mathsf{x}_i \neq \mathsf{x}_j
\biggr]
\biggr\}
\]
\end{document}