我想要一个牛顿迭代表。第一个值和最后一个值应该有颜色。所以我尝试了以下代码,它有效。但彩色数字设置不正确,表格编号对齐=左,好像没什么效果。
感谢帮助!
\documentclass[fleqn,dvipsnames,x11names,svgnames,12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{amsmath}
\usepackage[upint,sansmath]{libertinust1math} % Mathe Font
\usepackage[sb,sfdefault]{libertine} % für Textschrift in rm und sf
\usepackage{soul}
\usepackage{etex} % um die Anzahl der Register zu erhöhen (sonst nur 256)
\usepackage{eurosym}
\usepackage{xcolor}
\usepackage{booktabs} % für bessere Abstände in Tabellen
\usepackage{calc} % Zum Rechnen
\usepackage{array} % Für arrays
\usepackage{tabularx} % Für erweiterte Tabellenoptionen
\usepackage{colortbl} % Für farbige Tabellen
\usepackage{ragged2e} % Für besseres links-, rechtsbündig
\usepackage{numprint}
\selectlanguage{ngerman}
\usepackage{spreadtab} % Berechnet Werte in einer Tabelle
\STsetdecimalsep{,}
\usepackage{siunitx}
\sisetup{group-separator={\,},output-decimal-marker = {,}}
\DeclareMathSymbol{,}{\mathord}{letters}{"3B}
\parindent0pt
\begin{document}
\renewcommand{\arraystretch}{1.2}
\sisetup{detect-display-math=true,
%round-mode=places,
%round-precision=9,
table-number-alignment=left,
table-format=1.9,
table-figures-integer = 1,
table-figures-decimal = 9,
}
\STautoround{9}
%\renewcommand\STprintnum[1]{\num{#1}}
\def\mcc#1{\multicolumn{1}{c|}{$#1$}}
\def\mccl#1{\multicolumn{1}{|c|}{$#1$}}
\begin{spreadtab}[\STsavecell{\Ergeb}{e6}]{{tabular}{|S[table-format=1.0]|S|S|S[table-format=2.9,table-figures-integer = 2]|S|}}\hline
@\mccl{n} & @\mcc{x_{n}} & @\mcc{f(x_{n})=x^{4}-3x-3} & @\mcc{f^{\prime}(x_{n})=4x^{3}-3} &@\mcc{x_{n+1}} \\\hline
0 & {\color{BrickRed}$\num{:={1.7}}$} & \STcopy{v}{b2*b2*b2*b2-3*b2-3} & \STcopy{v}{4*b2*b2*b2-b2} & \STcopy{v}{b2-c2/d2} \\\hline
\STcopy{v}{[0,-1]+1} & \STcopy{v}{e2} & & & \\\hline
& & & & \\\hline
& & & & \\\hline
& & & & {\color{BrickRed}\num{:={}}} \\\hline
\end{spreadtab}
\\[5pt]
$ x\approx \num{\Ergeb}$
\end{document}
答案1
对于彩色单元格,您可以使用\multicolumn
左对齐并通过以下方式包含值\tablenum
:
\multicolumn{1}{l|}{\color{BrickRed}\tablenum[table-format=1.9]{:=1.7}}
这可能是在本地宏中最好的打包,这就是我在下面的代码中所做的。
\documentclass[12pt]{article}
\usepackage[dvipsnames]{xcolor}
\usepackage{spreadtab}
\usepackage{siunitx}
\sisetup{group-separator={\,},output-decimal-marker = {,}}
\DeclareMathSymbol{,}{\mathord}{letters}{"3B}
\begin{document}
\sisetup{detect-display-math=true,
table-number-alignment=left,
table-format=1.9,
table-figures-integer = 1,
table-figures-decimal = 9,
round-mode=places,
round-precision=9
}
\newcommand{\mBRl}[1]{\multicolumn{1}{l|}{\color{BrickRed}\tablenum[table-format=1.9]{#1}}}
\noindent
\begin{spreadtab}[\STsavecell{\Ergeb}{e6}]{{tabular}{
|S[table-format=1.0]
|S
*2{|S[table-format=2.9, table-figures-integer=2]}
|S|}}
\hline
@{$n$} & @{$x_{n}$}& @{$f(x_{n})=x^{4}-3x-3$} &
@{$f'(x_{n})=4x^{3}-3$}
&@{$x_{n+1}$} \\
\hline
0
& \mBRl{:=1.7}
& \STcopy{v}{b2*b2*b2*b2-3*b2-3} &
\STcopy{v}{4*b2*b2*b2-b2} &
\STcopy{v}{b2-c2/d2} \\
\hline
\STcopy{v}{[0,-1]+1} & \STcopy{v}{e2} & & & \\\hline & & & & \\
\hline
& & & & \\
\hline
& & & & \mBRl{:={}} \\
\hline
\end{spreadtab}
\smallskip\noindent
$ x\approx \num{\Ergeb}$
\bigskip
\begin{tabular}{SS}
{Long header is long}&{Short}\\
1.87&1.98\\
1.33&1.1
\end{tabular}
\end{document}
我已经删除了代码中不必要的部分。你的\mcc
宏太复杂了,标题只需包含在S
列中的括号中,然后它们就会自动居中。
上面还包括一个普通表格的演示,其中的S
列表明对齐问题发生在任何具有非常宽的标题的列中。
正如 samcarter 所说,你可以用如下规范来“修复”这个问题
S[table-space-text-post={\hspace{4em}}]