Como displaymath, mas sem modo matemático

Como displaymath, mas sem modo matemático

Muitas vezes me pego fazendo coisas como

\[
\begin{tabular}{cc}
foo & bar \\
baz & qux
\end{tabular}
\]

ou

\[
\begin{verbatim}
code snippet
\end{verbatim}
\]

colocar uma tabela ou trecho de código em meu documento sem fazê-lo flutuar. Estou usando \[...\]porque gosto da forma como ele centraliza seu conteúdo e deixa um pouco de vspace acima e abaixo dele. Mas é claro que \[...\]também me coloca no modo matemático, que não é o que eu quero.

Qual é o equivalente a \[...\]isso não me coloca no modo matemático?


Na verdade (se me permitem aprofundar por um momento o território “baseado na opinião”), sou de opinião que \[...\]deverianãoentrar no modo matemático. Considere algo como:

Finally, our equation becomes
\[
x^2 = y^2 - z^2,
\]
which is easily proved.

Muitas vezes quero incluir uma vírgula (ou um ponto final, ou qualquer outra coisa) na equação, para fazê-la fluir com o restante do texto ao redor. Mas a vírgula deverianãoser digitado em modo matemático, porque não é uma vírgula matemática, é uma vírgula textual. Então, o que eu realmente quero digitar é:

Finally, our equation becomes
\begin{some-suitable-environment}
$x^2 = y^2 - z^2$,
\end{some-suitable-environment}
which is easily proved.

para que eu possa delimitar a parte do texto centralizado que na verdade é matemática. Esta é uma sugestão sensata? Existe some-suitable-environment?

Responder1

\begin{center}...\end{center}

É o ambiente de exibição não centrado na matemática. (Mas não use-o para $falsificar uma exibição matemática centralizada, o espaçamento não estará correto).

Responder2

Isso pode ajudá-lo a encontrar uma maneira

\documentclass[twocolumn]{article}

%  just for grid
\usepackage{tikz}
\usepackage{eso-pic}

\AddToShipoutPicture{%
\begin{tikzpicture}[overlay,remember picture]
  \draw[blue!20!white,thin]
       (current page.south west) grid [xstep=10mm,ystep=4mm] (current page.north east);
\end{tikzpicture}}

\makeatletter
\newenvironment{mtc}{%
\@@line\bgroup\hss}{\hss\egroup\vspace{\belowdisplayshortskip}}
\makeatother

\begin{document}
bla bla bla bla
\[x+y=z\]
bla bla bla bla

bla bla bla bla
\begin{equation}
 2x+2
\end{equation}
bla bla bla bla
\begin{center}
bla bla bla bla
\end{center} 
\newpage
bla bla bla bla

\begin{mtc}
$x+y=z$
\end{mtc}
bla bla bla bla

bla bla bla bla

\begin{mtc}
bla bla
\end{mtc}
bla bla bla bla

\begin{mtc}
bla bla bla bla
\end{mtc} 

\end{document}

insira a descrição da imagem aqui

Responder3

Você pode criar facilmente um novo ambiente que inicia uma exibição matemática, mas compõe seu conteúdo em modo de texto.

\newsavebox{\wickersondisplaybox}

\newenvironment{wickersondisplay}
 {\[\begin{lrbox}{\wickersondisplaybox}}
 {\end{lrbox}\usebox{\wickersondisplaybox}\]}

\newcommand{\<}{\begin{wickersondisplay}}
\renewcommand{\>}{\end{wickersondisplay}} % \> is preempted

Mas seria a coisa errada a fazer: usar centere ficar feliz com isso.

Observe também que a saída de

\<
$\sum_{k=0}^n k=\frac{n(n+1}}{2}$,
\>

émuitodiferente de

\[
\sum_{k=0}^n k=\frac{n(n+1}}{2}\text{,}
\]

Se tudo que você precisa é de uma “vírgula de texto”, basta usar \text{,}.

Responder4

Seguindo as sugestões de Barbara, Touhami e David, criei esta implementação:

% Define {center} environment with math-mode spacing (
\def\<{\begin{displaymath}\mbox\bgroup}
\def\>{\egroup\end{displaymath}}
% )

que é usado assim

Finally, our equation becomes
\<
$x^2 = y^2 - z^2$,
\>
which is easily proved.

e garante que a vírgula após a equação seja definida na fonte correta (modo de texto).

informação relacionada