因此,我尝试创建一个命令\fct
,这里是一个 MWE:
\documentclass[a4paper,10pt]{article}
\usepackage{mathtools}
\usepackage{newtxtext}
\usepackage[frenchmath]{newtxmath}
\DeclarePairedDelimiterX{\intoo}[2]{]}{[}{{#1}\,{,}\,{#2}}
\newcommand*{\fct}[5]%
{\begin{array}[t]{@{}c@{}c@{}c@{}c}
#1 \colon & #2 & \; \longrightarrow & \; #3 \cr & #4 & \;\longmapsto & \; #5
\end{array}}
\begin{document}
$f\colon\intoo{-1}{1}\longrightarrow\varmathbb{\R}$
$\fct{f}{\intoo{-1}{1}}{\varmathbb{R}}{x}{\dfrac{1}{\sqrt{1-x^2}}}$
\end{document}
在我的命令中\fct
,参数 #1 到 #4 必须居中,并且我想要:
- 函数名称和
\colon
- 间隔与箭头之间的空间
与 中的完全相同f:\colon\intoo{-1}{1}\longrightarrow\varmathbb{R}
。这就是为什么我在 MWE 中输入第一行:以查看对齐是否正确。这似乎没问题,但我不知道我是否以正确的方式执行了此操作。我不得不在数组中的箭头前后添加粗空格。所以也许有更好的(更简单的?)方法来做到这一点。而且我也不确定我的命令是否在所有情况下都有效(在 scriptscriptstyle 中我不需要它,但可能在 scripstyle 中需要它)
答案1
我更喜欢用包绘制这种图tikz-cd
。我使用\DeclarePairedDelimiter
来自mathtools
\documentclass{article}
\usepackage{mathtools}
\usepackage{tikz-cd}
\DeclarePairedDelimiter{\open}{]}{[}
\newcommand{\fct}[5]{
\begin{tikzcd}[row sep=tiny,ampersand replacement=\&]
#1\colon \&[-3em] #2\ar[r] \& #3\\
\& #4\ar[mapsto,r] \& #5
\end{tikzcd}
}
\begin{document}
\begin{center}
\fct{f}{A}{B}{a}{b} \qquad
\fct{f}{\open{-1,1}}{B}{x}{y}
\end{center}
\end{document}
答案2
\documentclass[a4paper,10pt]{article}
\usepackage{mathtools}
\usepackage{newtxtext}
\usepackage[frenchmath]{newtxmath}
\DeclarePairedDelimiterX{\intoo}[2]{]}{[}{{#1}\,{,}\,{#2}}
\newcommand*\fct[5]%
{\begin{array}[t]{@{}
l% name
@{\,:\:} % colon
l% interval
@{\:}
l% arrow
@{\,}
l% set
}
#1 & #2 & \longrightarrow & \varmathbb{#3}\\
\multicolumn{2}{r}{#4} & \mapsto & #5
\end{array}}
\begin{document}
$f\colon\intoo{-1}{1}\longrightarrow\varmathbb{\R}$
$\fct{f}%
{\intoo{-1}{1}}%
{R}%
{x}%
{\dfrac{1}{\sqrt{1-x^2}}}$
\end{document}