Выровнять первую строку на картинке tikz с окружающим текстом

Выровнять первую строку на картинке tikz с окружающим текстом

Я хотел бы выровнять базовую линию первой строки tikzpicture с базовой линией окружающего текста, чтобы получить что-то вроде

Let A → B    be a function from A to B
    a → f(a)

но в данный момент tikzpicture центрируется вертикально. Мой код

Let
\begin{tikzpicture}[baseline=-2.6pt,description/.style={fill=white,inner sep=2pt}]
\matrix (m) [matrix of math nodes, row sep=0em, column sep=2em, text height=1.75ex, text depth=.25ex, column 2/.style={anchor=base west}]
{
A & B \\
a & f(a) \\
};
\path[->]
(m-1-1) edge node[above] {$f$} (m-1-2);
\path[|->]
(m-2-1) edge (m-2-2);
\end{tikzpicture}
be a function from A to B.

решение1

Вы получите то, что хотите, с помощью aligned:

\documentclass{article}
\usepackage{amsmath}

\begin{document}

Let
$\!\begin{aligned}[t]
  A &\overset{f}{\longrightarrow} B\\
  a &\longmapsto f(a)\end{aligned}$
be a function from $A$ to $B$.

\end{document}

Но лучше не иметь такие большие объекты в строке. Я бы предпочел

Let $f\colon A\to B$, $a\mapsto f(a)$, be a function from $A$ to $B$.

Размещение задания на другой строке не добавляет никакой информации и портит интервал.

введите описание изображения здесь

Если вы настаиваете на использовании TikZ, то вот он:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}

\begin{document}

Let
\begin{tikzpicture}[
  baseline=(m-1-1.base),
  description/.style={fill=white,inner sep=2pt}
]
\matrix (m) [
  matrix of math nodes,
  row sep=0em,
  column sep=2em,
  text height=1.75ex,
  text depth=.25ex,
  column 2/.style={anchor=base west}]
  {
   A & B \\
   a & f(a) \\
  };
  \path[->] (m-1-1) edge node[above] {$\scriptstyle f$} (m-1-2);
  \path[|->] (m-2-1) edge (m-2-2);
\end{tikzpicture}
be a function from $A$ to $B$.

\end{document}

введите описание изображения здесь

решение2

Нам, пользователям простого TeX, tikzтакой пример не нужен:

Let
\vtop{\halign{$\hfil#{}$&$#\hfil$\cr
    A \buildrel f\over\longrightarrow& B\cr
    a \longmapsto& f(a)\cr}}
be a function from $A$ to $B$.

\bye

Связанный контент