我可以为包含十位、个位、十分位、百分位和千位的表格编写规则吗

我可以为包含十位、个位、十分位、百分位和千位的表格编写规则吗

我想知道我是否可以为此制定一条规则?制定一条规则是否是个好主意,或者我继续做表格是否更好。很高兴听到任何想法。

还尝试创建红色箭头和其上的 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.2345.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}

在此处输入图片描述

相关内容