就像标题所说的那样,我是一个完全的新手,试图让 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}