*新手* LaTeXiT 长除法

*新手* LaTeXiT 长除法

就像标题所说的那样,我是一个完全的新手,试图让 LaTeXiT 做一个简单的长除法。

我已经安装了从这里获得的完整乳胶包https://tug.org/mactex/mactex-download.html

就像它说的,我是一个完全的新手,我需要有人一步一步地指导我,我不熟悉任何代码等等。

我的所有工作都已经落后了。

谢谢 Brett

输出结果如下: 在此处输入图片描述

答案1

你写的内容似乎接近表格。为什么不采用更简单的方法呢:

\documentclass[pagesize, english]{scrartcl}
\usepackage[T1]{fontenc}\usepackage[utf8]{inputenc}
\usepackage{babel, array, booktabs, ragged2e}

\begin{document}

\begin{tabular}{*{8}{>{\Centering}p{1cm}}}
  & & & $+x^4$ & $+x^3$ & & & $+1$\\\midrule
  $+x^7$ & $+x^6$ & $+x^5$ & & & $+x^2$ &$+x$ & \\
  $+x^7$ &  & $+x^5$ & $+x^4$ & & $+x^2$ &$+x$ & \\\cmidrule{1-4}
  \multicolumn{8}{l}{\dots}
\end{tabular}

\end{document}

等等……注意,我不懂数学!您可以通过texdoc packagename命令行获取任何软件包的手册。

以表格形式划分

答案2

它并不理想,因为tabstackengine没有内置单元格下划线/填充功能。(参见附录开始采取补救措施)

\documentclass{article}
\usepackage{tabstackengine,mathtools}
\stackMath
\setstacktabbedgap{1.5ex}
\setstackgap{S}{3pt}
\newcommand\showdiv[1]{\smash{\raisebox{1.5pt}{\scalebox{1.15}{)}}}#1}
\newcommand\laprule[1]{\rlap{\rshift\smash{\rule[-1pt]{#1}{.5pt}}}}
\makeatletter
\newcommand\rshift[1][0pt]{\hspace{\dimexpr#1+\tabbed@gap\relax}}
\makeatother
\begin{document}
\[
\tabbedShortstack[r]{
&  &  &  & +x^4 & +x^3 & &  & +1\\
\laprule{188pt}&&&&&&&&\\
x^3 + x + 1 & \showdiv{{+}x^7} & +x^6 & +x^5 &&&+x^2 & +x & \\
& +x^7 && +x^5 & +x^4&&&&\\
\laprule{97pt}&&&&&&&&\\
&& +x^6 && +x^4 &&&&\\
&& +x^6 && +x^4 & +x^3&&&\\
&\laprule{94pt}&&&&&&&\\
&&&&& +x^3 & +x^2 & +x&\\
&&&&& +x^3 && +x  &+1\\
&&&&\laprule{84pt}&&&&\\
&&&&&& +x^2 &  &+1
}
\]
\end{document}

在此处输入图片描述

附录

我一直想创建 TABstack 的等价物,相当于\hline\cline。这将减轻估算重叠下划线的实际长度的需要。这似乎是一个很好的开始问题。目前,我已经构建了底层\TABrule,此时需要在使用它的每个字段中调用它。最终,我希望能够构建一个\TABhline和 ,\TABcline它将构造一个组合字符串\TABrule&,使语法更短。但目前为止就是这样。如果成功,我会将其实现到tabstackengine包中。

\documentclass{article}
\usepackage{tabstackengine,mathtools}
\stackMath
\setstacktabbedgap{1.5ex}
\setstackgap{S}{3pt}
\newcommand\showdiv{\llap{\smash{\raisebox{1.8pt}{\scalebox{1}[1.2]{)}}}}}
\newcommand\laprule[1]{\rlap{\rshift\smash{\rule[-1pt]{#1}{.5pt}}}}
\makeatletter
\newcommand\rshift[1][0pt]{\hspace{\dimexpr#1+\tabbed@gap\relax}}
\makeatother
%%%%%%%%%%%%%
\makeatletter
\def\trao{0pt}
\newcommand\TABrule[1][\trao]{%
  \ifnum1=\value{TABcolindex@}\relax%
    \makebox[\TABwd{\theTABcolindex@}][l]{%
      \rule[\trao]{\dimexpr\TABwd{\theTABcolindex@}+.5\dimexpr\TAB@gap\relax}{\fboxrule}}%
  \else%
    \ifnum\TABcells{1}=\value{TABcolindex@}\relax%
      \makebox[\TABwd{\theTABcolindex@}][r]{%
        \rule[\trao]{\dimexpr\TABwd{\theTABcolindex@}+.5\dimexpr\TAB@gap\relax}{\fboxrule}}%
    \else%
      \makebox[\TABwd{\theTABcolindex@}][c]{%
        \rule[\trao]{\dimexpr\TABwd{\theTABcolindex@}+1.\dimexpr\TAB@gap\relax}{\fboxrule}}%
    \fi%
  \fi%
}
\newcommand\set@TABrule@gap[1]{%
  \ifstrequal{#1}{D}{\def\TAB@gap{\tabbed@gap}}{%
      \ifstrequal{#1}{A}{\def\TAB@gap{0pt}}{\def\TAB@gap{\tabular@gap}}%
  }%
}
\usepackage{xpatch}
\xpatchcmd{\@TAB@stack}{\bgroup}{\bgroup\set@TABrule@gap{#3}}{}{}
\xpatchcmd{\@TABstackonunder}{\bgroup}{\bgroup\set@TABrule@gap{#4}}{}{}
\makeatother
%%%%%%%%%%%%%
\begin{document}
\[
\tabbedShortstack[r]{
&  &  &  & +x^4 & +x^3 & &  & +1\\
&\TABrule&\TABrule&\TABrule&\TABrule&\TABrule&\TABrule&\TABrule&\TABrule\\
x^3 + x + 1 & \showdiv{+}x^7 & +x^6 & +x^5 &&&+x^2 & +x & \\
& +x^7 && +x^5 & +x^4&&&&\\
&\TABrule&\TABrule&\TABrule&\TABrule&&&&\\
&& +x^6 && +x^4 &&&&\\
&& +x^6 && +x^4 & +x^3&&&\\
&&\TABrule&\TABrule&\TABrule&\TABrule&&&\\
&&&&& +x^3 & +x^2 & +x&\\
&&&&& +x^3 && +x  &+1\\
&&&&&\TABrule&\TABrule&\TABrule&\TABrule\\
&&&&&& +x^2 &  &+1
}
\]
\end{document}

在此处输入图片描述

相关内容