我正在使用 TikZ 制作 LaTeX 表格,面临两个挑战。首先,我希望表格标题中的内容居中。其次,我需要第三列中的内容也居中,类似于第二张图片中的外观。有人可以提供代码片段或指导来实现这两个格式要求吗?
这是我的尝试
\documentclass{article}
\usepackage{graphicx} % Required for inserting images
\usepackage{amsmath, amssymb} % For mathematical symbols and fonts
\usepackage[showframe]{geometry}
\usepackage{tikz}
\usepackage{rotating} % For rotating tables
\begin{document}
\begin{sidewaystable}
\centering
\begin{tabular}{|p{4cm}|p{2.5cm}|p{5.2cm}|p{5.2cm}|}
\hline
La fonction & Domaine de définition & Tableau des variations & La courbe\\
\hline
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
La fonction trinome du second degré (parabole) $x\to ax^{2}+bx+c$ $(a\neq 0)$ & $D_{f}=\mathbb{R}$ &
Si $a>0$
\begin{center}
\begin{tikzpicture}[scale=0.5]
% Styles
\tikzstyle{cadre}=[thin]
\tikzstyle{fleche}=[->,>=latex,thin]
\tikzstyle{nondefini}=[lightgray]
% Dimensions Modifiables
\def\Lrg{1.5}
\def\HtX{1}
\def\HtY{0.5}
% Dimensions Calculées
\def\lignex{-0.5*\HtX}
\def\lignef{-1.5*\HtX}
\def\separateur{-0.5*\Lrg}
% Largeur du tableau
\def\gauche{-1.5*\Lrg}
\def\droite{4.5*\Lrg}
% Hauteur du tableau
\def\haut{0.5*\HtX}
\def\bas{-1.5*\HtX-2*\HtY}
% Ligne de l'abscisse : x
\node at (-1*\Lrg,0) {$x$};
\node at (0*\Lrg,0) {$-\infty$};
\node at (2*\Lrg,0) {$-\frac{b}{2a}$};
\node at (4*\Lrg,0) {$+\infty$};
% Ligne de la fonction : f(x)
\node at (-1*\Lrg,{-1*\HtX+(-1)*\HtY}) {$f(x)$};
\node (f1) at (0*\Lrg,{-1*\HtX+(0)*\HtY}) {$$};
\node (f2) at (2*\Lrg,{-1*\HtX+(-2)*\HtY}) {$f\left(-\frac{b}{2a}\right)$};
\node (f3) at (4*\Lrg,{-1*\HtX+(0)*\HtY}) {$$};
% Flèches
\draw[fleche] (f1) -- (f2);
\draw[fleche] (f2) -- (f3);
% Encadrement
\draw[cadre] (\separateur,\haut) -- (\separateur,\bas);
\draw[cadre] (\gauche,\haut) rectangle (\droite,\bas);
\draw[cadre] (\gauche,\lignex) -- (\droite,\lignex);
\end{tikzpicture}
\end{center}
%:-+-+-+-+- Fin
Si $a<0$
\begin{center}
\begin{tikzpicture}[scale=0.5]
% Styles
\tikzstyle{cadre}=[thin]
\tikzstyle{fleche}=[->,>=latex,thin]
\tikzstyle{nondefini}=[lightgray]
% Dimensions Modifiables
\def\Lrg{1.5}
\def\HtX{1}
\def\HtY{0.5}
% Dimensions Calculées
\def\lignex{-0.5*\HtX}
\def\lignef{-1.5*\HtX}
\def\separateur{-0.5*\Lrg}
% Largeur du tableau
\def\gauche{-1.5*\Lrg}
\def\droite{4.5*\Lrg}
% Hauteur du tableau
\def\haut{0.5*\HtX}
\def\bas{-1.5*\HtX-2*\HtY}
% Ligne de l'abscisse : x
\node at (-1*\Lrg,0) {$x$};
\node at (0*\Lrg,0) {$-\infty$};
\node at (2*\Lrg,0) {$-\frac{b}{2a}$};
\node at (4*\Lrg,0) {$+\infty$};
% Ligne de la fonction : f(x)
\node at (-1*\Lrg,{-1*\HtX+(-1)*\HtY}) {$f(x)$};
\node (f1) at (0*\Lrg,{-1*\HtX+(-2)*\HtY}) {$$};
\node (f2) at (2*\Lrg,{-1*\HtX+(0)*\HtY}) {$f\left(-\frac{b}{2a}\right)$};
\node (f3) at (4*\Lrg,{-1*\HtX+(-2)*\HtY}) {$$};
% Flèches
\draw[fleche] (f1) -- (f2);
\draw[fleche] (f2) -- (f3);
% Encadrement
\draw[cadre] (\separateur,\haut) -- (\separateur,\bas);
\draw[cadre] (\gauche,\haut) rectangle (\droite,\bas);
\draw[cadre] (\gauche,\lignex) -- (\droite,\lignex);
\end{tikzpicture}
\end{center}
%:-+-+-+-+- Fin
& Si $a>0$
\begin{center}
\begin{tikzpicture}[>=latex,scale=0.22]
% Axes
\draw[->] (-9,0) -- (9,0) node[right] {$x$};
\draw[->] (0,-9) -- (0,9) node[above] {$y$};
% Grid
\foreach \x in {-9,...,9}
\draw[gray,dashed] (\x,-9) -- (\x,9);
\foreach \y in {-9,...,9}
\draw[gray,dashed] (-9,\y) -- (9,\y);
\end{tikzpicture}
\end{center}
Si $a<0$
\begin{center}
\begin{tikzpicture}[>=latex,scale=0.22]
% Axes
\draw[->] (-9,0) -- (9,0) node[right] {$x$};
\draw[->] (0,-9) -- (0,9) node[above] {$y$};
% Grid
\foreach \x in {-9,...,9}
\draw[gray,dashed] (\x,-9) -- (\x,9);
\foreach \y in {-9,...,9}
\draw[gray,dashed] (-9,\y) -- (9,\y);
\end{tikzpicture}
\end{center}
\\ \hline
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
La fonction Homographique ${x\to \dfrac{ax+b}{cx+d}}$ & ${D_{f}=\mathbb{R}-\left\{-\frac{d}{c}\right\}}$ & On pose ${\Delta=\begin{vmatrix}
a & b\\
c & d
\end{vmatrix}=ad-bc}$ & Row 2, Cell 4 \\
\hline
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Row 3, Cell 1 & Row 3, Cell 2 & Row 3, Cell 3 & Row 3, Cell 4 \\
\hline
\end{tabular}
\caption{A Corrected Table}
\label{tab:corrected}
\end{sidewaystable}
\end{document}
答案1
带tabularray
包装
- 我们可以将
a>0
和a<0
放在两个不同的表格线上,以便它们对齐。使用hline{1,2,4-Z} = {0.4pt,solid}
,我们不会绘制该线 - 主要的困难是将变体表与图形垂直居中。我们可以将这个图放在一个框中来测量它的高度
\hgraph
,我们可以\parbox
通过指示这个高度来使变体表居中\parbox[c][\hgraph]{\linewidth}
\tikstsyle
已经贬值,我换成了tikzset
备注:第一列宽度为 4 厘米,我们有一个Underdull
,我将其修改为 3.8 厘米,我还添加了可能的同形连字符homogra\-phi\-que
第二列宽度为 2.5 厘米,我们有一个Overfull
,我将其修改为 2.6 厘米最后两列带有 X,它们占据了剩余的最大宽度。我擅自将其更改\to
为\mapsto
和Homographique
为homographique
代码
\documentclass[landscape]{article}
\usepackage{amsmath, amssymb} % For mathematical symbols and fonts
\usepackage[showframe]{geometry}
\usepackage{tikz}
%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{tabularray}
\newlength{\hgraph}
\newsavebox{\mybox}
\savebox{\mybox}{%
\begin{tikzpicture}[>=latex,scale=0.22]
% Axes
\draw[->] (-9,0) -- (9,0) node[right] {$x$};
\draw[->] (0,-9) -- (0,9) node[above] {$y$};
% Grid
\foreach \x in {-9,...,9}
\draw[gray,dashed] (\x,-9) -- (\x,9);
\foreach \y in {-9,...,9}
\draw[gray,dashed] (-9,\y) -- (9,\y);
\end{tikzpicture}}
\settoheight{\hgraph}{\usebox{\mybox}}
%%%%%%%%%%%%%
\tikzset{
cadre/.style={thin},
fleche/.style={->,>=latex,thin},
nondefini/.style={lightgray}
}
% Dimensions Modifiables
\def\Lrg{1.5}
\def\HtX{1}
\def\HtY{0.5}
% Dimensions Calculées
\def\lignex{-0.5*\HtX}
\def\lignef{-1.5*\HtX}
\def\separateur{-0.5*\Lrg}
% Largeur du tableau
\def\gauche{-1.5*\Lrg}
\def\droite{4.5*\Lrg}
% Hauteur du tableau
\def\haut{0.5*\HtX}
\def\bas{-1.5*\HtX-2*\HtY}
\begin{document}
\noindent
\begin{tblr}{
% with wd=4cm,for the first we have underfull
% with wd=2.5cm,for the second we have underfull
colspec={Q[wd=3.8cm]Q[wd=2.6cm,c] *{2}{X}},
row{1}={c,m},
vlines= {0.4pt,solid},
hline{1,2,4-Z} = {0.4pt,solid},
}
La fonction& Domaine de définition & Tableau des variations& La courbe\\
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
La fonction trinome du second degré (parabole) $x\mapsto ax^{2}+bx+c$ $(a\neq 0)$ & $D_{f}=\mathbb{R}$
&Si $a>0$
\parbox[c][\hgraph]{\linewidth}{%
{\centering%
\begin{tikzpicture}[scale=0.5]
% Ligne de l'abscisse : x
\node at (-1*\Lrg,0) {$x$};
\node at (0*\Lrg,0) {$-\infty$};
\node at (2*\Lrg,0) {$-\frac{b}{2a}$};
\node at (4*\Lrg,0) {$+\infty$};
% Ligne de la fonction : f(x)
\node at (-1*\Lrg,{-1*\HtX+(-1)*\HtY}) {$f(x)$};
\node (f1) at (0*\Lrg,{-1*\HtX+(0)*\HtY}) {$$};
\node (f2) at (2*\Lrg,{-1*\HtX+(-2)*\HtY}) {$f\left(-\frac{b}{2a}\right)$};
\node (f3) at (4*\Lrg,{-1*\HtX+(0)*\HtY}) {$$};
% Flèches
\draw[fleche] (f1) -- (f2);
\draw[fleche] (f2) -- (f3);
% Encadrement
\draw[cadre] (\separateur,\haut) -- (\separateur,\bas);
\draw[cadre] (\gauche,\haut) rectangle (\droite,\bas);
\draw[cadre] (\gauche,\lignex) -- (\droite,\lignex);
\end{tikzpicture}\par}
}
%:-+-+-+-+- Fin
& Si $a>0$
{\centering \usebox{\mybox}\par} \\
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
&& Si $a<0$
\parbox[c][\hgraph]{\linewidth}{\centering
\begin{tikzpicture}[scale=0.5]
% Ligne de l'abscisse : x
\node at (-1*\Lrg,0) {$x$};
\node at (0*\Lrg,0) {$-\infty$};
\node at (2*\Lrg,0) {$-\frac{b}{2a}$};
\node at (4*\Lrg,0) {$+\infty$};
% Ligne de la fonction : f(x)
\node at (-1*\Lrg,{-1*\HtX+(-1)*\HtY}) {$f(x)$};
\node (f1) at (0*\Lrg,{-1*\HtX+(-2)*\HtY}) {$$};
\node (f2) at (2*\Lrg,{-1*\HtX+(0)*\HtY}) {$f\left(-\frac{b}{2a}\right)$};
\node (f3) at (4*\Lrg,{-1*\HtX+(-2)*\HtY}) {$$};
% Flèches
\draw[fleche] (f1) -- (f2);
\draw[fleche] (f2) -- (f3);
% Encadrement
\draw[cadre] (\separateur,\haut) -- (\separateur,\bas);
\draw[cadre] (\gauche,\haut) rectangle (\droite,\bas);
\draw[cadre] (\gauche,\lignex) -- (\droite,\lignex);
\end{tikzpicture}\par}
& Si $a<0$
{\centering \usebox{\mybox}\par}
\\
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
La fonction Homogra\-phi\-que ${x\mapsto \dfrac{ax+b}{cx+d}}$ & ${D_{f}=\mathbb{R}-\left\{-\frac{d}{c}\right\}}$ & On pose ${\Delta=\begin{vmatrix}
a & b\\
c & d
\end{vmatrix}=ad-bc}$ & Row 2, Cell 4 \\
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Row 3, Cell 1 & Row 3, Cell 2 & Row 3, Cell 3 & Row 3, Cell 4 \\
\end{tblr}
\end{document}