我想知道我是否可以为此制定一条规则?制定一条规则是否是个好主意,或者我继续做表格是否更好。很高兴听到任何想法。
还尝试创建红色箭头和其上的 x10 标签,但不太确定如何做到这一点。
如果情况好转的话我很乐意继续做这个表。
谢谢
警告-非常混乱......
\documentclass[
a5paper,
% pagesize,11pt,% both are default and therefore not needed
bibliography=totoc,% bibtotoc is deprecated and therefore replaced according
% to the warning message
numbers=noenddot,% pointlessnumbers is deprecated and therefore replaced
% according to the warning message
headings=normal,% normalheadings is deprecated and therefore replaced
% according to the warning message
DIV=9,twoside=false,
headsepline,footsepline,footinclude=false,% see the KOMA-Script manual
headheight=87pt,% not used, to not lower the header, but this results in a warning
footheight=52pt, % no longer needed, because the lines are not part of the footer
]{scrbook}
\KOMAoptions{DIV=last}
\usepackage{trajan}
\usepackage{setspace}
\linespread{1.05}
\KOMAoptions{DIV=last}% moved according to the KOMA-Script manual, because it
% makes no sense before changing font an linespread.
\usepackage{graphicx}
\usepackage[%
autoenlargeheadfoot=false,% only warn but don't change height reserved for header or footer
manualmark,% or maybe automark, this is not clear due to missing information
% in the question.
plainheadsepline,plainfootsepline,% See the KOMA-Script manual for more information
]{scrlayer-scrpage}
\usepackage{geometry}
\geometry{
a5paper,
total={100mm,200mm}, %not sue what this line is either.
left=15mm,
right=15mm,
top=30mm,
bottom=35mm,
headsep=2mm,
}
\usepackage[dvipsnames]{xcolor}
\definecolor{ssblue}{rgb}{0.22,0.714,1}
\definecolor{red}{RGB}{214,39,41}
\definecolor{Lgreen}{RGB}{125,173,62}
\definecolor{Dgreen}{RGB}{74,108,47}
\definecolor{O}{RGB}{252,133,0}
\usepackage[framemethod=tikz]{mdframed}
\usepackage{lipsum}
\usetikzlibrary{shadows}
\newmdenv[tikzsetting={fill=white},
roundcorner=0pt,shadow=false,]{myshadowbox}
%%%Highlightbox
\usepackage[framemethod=tikz]{mdframed}
\usepackage{lipsum}
\usetikzlibrary{shadows}
\newmdenv[tikzsetting={fill=ssblue!50},
roundcorner=0pt,shadow=false,]{highlight}
\newtheorem{example}{Example}
\let\oldexample\example
\renewcommand{\example}{\oldexample\normalfont}
%%%%%%%%%%%%%%%%%Packagaes%%%%%%%%%%%%%%%%%%%%%%
\usepackage{amsmath}
\usepackage{enumitem}
\usepackage{tikz}
\usepackage{multicol,amsmath,amsfonts}
\usepackage{enumitem}
\usepackage{tasks}
\usepackage{cancel}
%%%%%%%%%table
\usepackage{pbox}
\usepackage{tabularray}
\UseTblrLibrary{booktabs}
\usepackage{xcolor,colortbl}
%%%%%%%%%table
\begin{document}
\begin{enumerate}[labelwidth=1.5em, labelsep=0.5em, wide=0pt]\everymath{\displaystyle}
\item Fill in the blanks.
\begin{tasks}[label=\alph*), label-width=1.5em, after-item-skip=10pt](1)
\task Multiply 0.3 by 10.
\begin{tblr}{colspec = {|X[2,c]|X[0.1,c]|X[2,c]|X[2.3,c]| X[2.4,c]|},
column{2} = {gray!40},
cell{1}{1} = {ssblue!40},
cell{1}{3} = {red!40},
cell{1}{4} = {yellow!40},
cell{1}{5} = {Lgreen!40},}
\hline
\textbf{Ones} & & \textbf{Tenths} & \textbf{Hundredths} & \textbf{Thousandths} \\
\hline
& $\cdot$ & 3\\
\hline
3 & $\cdot$& \\
\hline
\end{tblr}
\begin{align*}
\text{3 tenths} \times 10 &= \rule{2cm}{0.1mm} \; \text{tenths} \\
&= \rule{2cm}{0.1mm} \; \text{ones} \\
\end{align*}
So, $0.3 \times 10$ = \rule{2cm}{0.1mm}
\end{tasks}
\end{enumerate}
\end{document}
答案1
像这样?如果它们足够相似,你可以将整个任务自动化,但我不知道有多少变化,所以我只尝试处理表格。
\tsktens[<key-value list>]{<comma-separated list>}
采用可选参数和强制参数。
- 如果指定,则可选参数可用于更改特定表格的列标题的颜色。颜色指定为 等
colones={<colour>},coltenths={<colour>}
,coldot=<colour>
其中点列为。 - 强制参数是表格单元格的条目列表,从左上角到右上角,然后从左下角到右下角,第二列没有条目。空单元格由空条目指定,但如果所有其他值都为空,则可以省略这些条目。例如,将在行上方
\tsktens{1,2,3,4,5,6,7,8}
为 创建一个行,而将在完全为空的行上方为 创建一个行。1.234
5.678
\tsktens{,,1,3}
__13
- 要命名单元格的内容以便在它们之间绘制箭头,请以 的形式输入单元格值
<content>|<name>
。<name>
应既独特又简单。 (字母和数字都可以。 至少有些标点符号不行,例如n.3
不起作用但a
可以。)例如,,,3|a,,,3|b
将命名第一行中的节点a
和第二行中的节点b
。 然后可以在 s 中使用这些tikzpicture
来绘制箭头,如下所示。 - 理论上,箭头也可以自动化,但我怀疑这是否合理。箭头上的标签需要放在不同的地方以确保可读性。当然,您可以创建参数和键值接口等,但我怀疑这种努力是否值得,因为 (1) 名称需要唯一,(2) 箭头的数量可能不同,(3) 标签的位置和内容需要变化,(4) 如果有多个箭头,颜色可能也最好变化。但是,如果您要执行更受限制的操作,则可以创建某种形式的快捷方式。
- 请注意,使用
tikzmark
启用带有tabularray
环境的箭头意味着至少需要两次编译。如果将基本表创建为 ,则matrix of nodes
可以避免这种情况。 - 如果您将图像外部化,则可能需要禁用外部化(
external
库)或发现它已自动禁用(memoize
),具体取决于您使用的方法。
- 请注意,使用
- 要命名单元格的内容以便在它们之间绘制箭头,请以 的形式输入单元格值
如果不使用tabularray
,这可以做得更简洁,但tabularray
需要在排版之前解析行和列,因此我们无法以隐藏解析器结构的方式自动化它。(标准tabular
等不这样做,但我猜他们没有 的花哨功能tabularray
。)
\documentclass{article}
% ateb: https://tex.stackexchange.com/a/714449/ addaswyd o gwestiwn user292225: https://tex.stackexchange.com/q/714446/
\usepackage{tabularray}
\usepackage{mathtools}
\usepackage{tikz}
\usetikzlibrary{tikzmark,arrows.meta}
\usepackage{enumitem}
\usepackage{tasks}
\definecolor{ssblue}{rgb}{0.22,0.714,1}
\definecolor{myred}{RGB}{214,39,41}
\definecolor{Lgreen}{RGB}{125,173,62}
\newlist{tenumerate}{enumerate}{1}
\setlist[tenumerate]{label=\arabic*.,labelwidth=1.5em,labelsep=0.5em,wide=0pt,before={\everymath{\displaystyle}}}
\ExplSyntaxOn
\seq_new:N \l__tsktens_cells_seq
\seq_new:N \l__tsktens_tmpa_seq
\keys_define:nn { tsktens }
{
colones .code:n = {\colorlet{colones}{#1}},
colones .initial:n = {ssblue!40},
coltenths .code:n = {\colorlet{coltenths}{#1}},
coltenths .initial:n = {myred!40},
colhundredths .code:n = {\colorlet{colhundredths}{#1}},
colhundredths .initial:n = {yellow!40},
colthousandths .code:n = {\colorlet{colthousandths}{#1}},
colthousandths .initial:n = {Lgreen!40},
coldot .code:n = {\colorlet{coldot}{#1}},
coldot .initial:n = {gray!40},
}
\NewDocumentCommand \tsktens { o m }
{
\group_begin:
\IfValueT { #1 }
{
\keys_set:nn { tsktens } { #1 }
}
\seq_set_split:Nnn \l__tsktens_cells_seq {,} { #2 }
\seq_map_indexed_inline:Nn \l__tsktens_cells_seq
{
\seq_set_split:Nnn \l__tsktens_tmpa_seq { | } { ##2 }
\int_compare:nNnT { \seq_count:N \l__tsktens_tmpa_seq } = { 2 }
{
\exp_args:NNNe \seq_set_item:Nnn \l__tsktens_cells_seq { ##1 }
{
\exp_not:N \tikzmarknode { \seq_item:Nn \l__tsktens_tmpa_seq { 2 } }
{ \seq_item:Nn \l__tsktens_tmpa_seq { 1 } }
}
}
}
\begin{tblr}{colspec = {|X[2,c]|X[0.1,c]|X[2,c]|X[2.3,c]| X[2.4,c]|},
column{2} = {coldot},
cell{1}{1} = {colones},
cell{1}{3} = {coltenths},
cell{1}{4} = {colhundredths},
cell{1}{5} = {colthousandths},}
\hline
\textbf{Ones} & & \textbf{Tenths} & \textbf{Hundredths} & \textbf{Thousandths} \\
\hline
\seq_item:Nn \l__tsktens_cells_seq {1} & $\cdot$ & \seq_item:Nn \l__tsktens_cells_seq {2} & \seq_item:Nn \l__tsktens_cells_seq {3} & \seq_item:Nn \l__tsktens_cells_seq {4} \\
\hline
\seq_item:Nn \l__tsktens_cells_seq {5} & $\cdot$ & \seq_item:Nn \l__tsktens_cells_seq {6} & \seq_item:Nn \l__tsktens_cells_seq {7} & \seq_item:Nn \l__tsktens_cells_seq {8} \\
\hline
\end{tblr}
\group_end:
}
\ExplSyntaxOff
\tikzset{%
>/.tip=Latex,
}
\begin{document}
\begin{tenumerate}
\item Fill in the blanks.
\begin{tasks}[label=\alph*), label-width=1.5em, after-item-skip=10pt](1)
\task Multiply 0.3 by 10.
\tsktens {,3|a,,,3|b}
\begin{tikzpicture}[remember picture,overlay]
\draw [myred,->] (a) -- node [pos=.75,above,sloped,myred] {$\times 10$} (b);
\end{tikzpicture}
\begin{align*}
\text{3 tenths} \times 10 &= \rule{2cm}{0.1mm} \; \text{tenths} \\
&= \rule{2cm}{0.1mm} \; \text{ones} \\
\end{align*}
So, $0.3 \times 10$ = \rule{2cm}{0.1mm}
\task Multiply 0.042 by 100.
\tsktens [colhundredths=magenta!40] {,,4|c,2|d,4|e,2|f}
\begin{tikzpicture}[remember picture,overlay]
\draw [ssblue,->] (c) -- node [pos=.5,above,sloped,ssblue] {$\times 100$} (e);
\draw [myred,->] (d) -- node [pos=.65,below,sloped,myred] {$\times 100$} (f);
\end{tikzpicture}
\end{tasks}
\end{tenumerate}
\end{document}