我正在复制表格的代码我之前的一个帖子在这个网站上。为什么标题“‘f’的某些函数值”排版在表格的左侧?我如何将其放在表格顶部?
\documentclass{amsart}
\usepackage{mathtools}
\usepackage{array}
\usepackage{makecell}
\usepackage{stackengine}\setstackEOL{\cr} %EOL is abbreviation for "end of line."
\usepackage{adjustbox}
\usepackage{siunitx}
\begin{document}
\noindent \begin{minipage}[t]{3.5in}
\textbf{16.) }\raggedright{The table shows certain function values of \textit{f}. \\If $g(x) = f(3x + 1)$, what is the value of $g(2)$?}
\begin{tabbing}
\hspace*{3em} \= \kill
\> \textbf{a.) }$-5$ \\
\> \textbf{b.) }$-1$ \\
\> \textbf{c.) }0 \\
\> \textbf{d.) }2 \\
\> \textbf{e.) }4
\end{tabbing}
\end{minipage}
%
\hspace{0.75cm}
%
\setlength\extrarowheight{2pt}
\belowbaseline[-7pt]{\stackunder{\bfseries\Longstack{Certain Function\cr Values of \textit{f}}{%
\begin{tabular}{|| c | S[table-format=-1.0] ||} \hline
\textit{x} & {$f(x)$} \\ \Xhline{0.8pt}
2 & -1 \\ \hline
3 & 0 \\ \hline
4 & 2 \\ \hline
5 & -3 \\ \hline
6 & 4 \\ \hline
7 & -5 \\ \hline
8 & 6 \\ \hline
\end{tabular}
}}}
\end{document}
答案1
我认为您不需要 stackengine 来实现这一点:这里有一个带有单个表格的解决方案,使用\thead
来自的命令makecell
,以及一些改进hhline
:
\documentclass{amsart}
\usepackage{mathtools}
\usepackage{array}
\usepackage{hhline}
\usepackage{makecell}
\usepackage{siunitx}
\begin{document}
\noindent \begin{minipage}[t]{3.5in}
\textbf{16.) }\raggedright{The table shows certain function values of \textit{f}. \\If $g(x) = f(3x + 1)$, what is the value of $g(2)$?}
\begin{tabbing}
\hspace*{3em} \= \kill
\> \textbf{a.) }$-5$ \\
\> \textbf{b.) }$-1$ \\
\> \textbf{c.) }0 \\
\> \textbf{d.) }2 \\
\> \textbf{e.) }4
\end{tabbing}
\end{minipage}
%
\hspace{0.75cm}
%
\setlength\extrarowheight{2pt}
\renewcommand{\theadfont}{\normalsize\bfseries\boldmath}
\begin{tabular}[t]{|| c | S[table-format=-1.0] ||}
\noalign{\vspace*{-2.65ex}}
\multicolumn{2}{c}{\clap{\thead{ Certain Function\\ Values of $ f $}}}\\
\hline
\textit{x} & {$f(x)$} \\ \hhline{||--||} \hhline{||--||}
2 & -1 \\ \hhline{||--||}
3 & 0 \\ \hhline{||--||}
2 & -1 \\ \hhline{||--||}
4 & 2 \\ \hhline{||--||}
5 & -3 \\ \hhline{||--||}
6 & 4 \\ \hhline{||--||}
7 & -5 \\ \hhline{||--||}
8 & 6 \\ \hline
\end{tabular}%
\end{document}
答案2
使用另一种方式将描述放在表格顶部的惯用变体tabular
:
\documentclass{amsart}
\usepackage{mathtools}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage{enumitem}
\begin{document}
\noindent \begin{minipage}[t]{3.5in}
\raggedright
\textbf{16.) }The table shows certain function values of $f$. \\If $g(x) = f(3x + 1)$, what is the value of $g(2)$?
\begin{enumerate}[label=\textbf{\alph*.)}]
\item $-5$
\item $-1$
\item $0$
\item $2$
\item $4$
\end{enumerate}
\end{minipage}
%
\hspace{0.75cm}
%
\setlength\extrarowheight{2pt}
\begin{tabular}[t]{@{}c@{}}
\bfseries Certain function\\
\bfseries Values of $\boldsymbol{f}$\\[.5em]
\begin{tabular}{ c S[table-format=-1.0] }
\toprule
$x$ & {$f(x)$} \\
\midrule
2 & -1 \\
3 & 0 \\
4 & 2 \\
5 & -3 \\
6 & 4 \\
7 & -5 \\
8 & 6 \\
\bottomrule
\end{tabular}
\end{tabular}
%}}}
\end{document}
在我看来,我曾经booktabs
让表格看起来更好。我还用 来enumitem
代替 来枚举tabbing
。
答案3
这是一个使用两个并排、顶部对齐的minipage
环境的解决方案。(我借用了(偷来的?!)使用自定义enumerate
环境而不是tabbing
来自@Skillmon 的回答)观察一下,通过完善布局的细节,不再需要使用大量粗体以提供视觉清晰度。
\documentclass{amsart}
\usepackage{booktabs,siunitx,enumitem}
\newlength\mylen % see below for use of this length parameter
\begin{document}
\noindent
\begin{minipage}[t]{3.5in}
\raggedright
\textbf{16.)} The table on the right shows certain
function values of~$f$. If $g(x) = f(3x + 1)$, what
is the value of~$g(2)$?
\begin{enumerate}[label=\alph*)\ ]
\item $-5$
\item $-1$
\item $\phantom{-}0$
\item $\phantom{-}2$
\item $\phantom{-}4$
\end{enumerate}
\end{minipage}%
\hspace{\fill}% maximize the horizontal separation
%% Calculate width of 2nd minipage:
\settowidth\mylen{Certain function}%
\begin{minipage}[t]{\mylen}
\centering
Certain function values of $f$
\medskip
\begin{tabular}{@{} c S[table-format=-1.0] @{}}
\toprule
$x$ & {$f(x)$} \\
\midrule
2 & -1 \\
3 & 0 \\
4 & 2 \\
5 & -3 \\
6 & 4 \\
7 & -5 \\
8 & 6 \\
\bottomrule
\end{tabular}
\end{minipage}
\end{document}