我对 LaTeX 还不熟悉。我正在做一个项目,其中包含一些资源(例如公式、问题解决方案),我可以带到 3 月 16 日的考试日。我已经找了几个小时的问题解决方案了。我想要实现的是创建一个\newcommand
带有不定变量(参数?)的,它可以执行重复任务,例如 5 \times 10 \times 15 \times 20 \times 25
。数字应该是参数,而 是\times
每个参数之间的重复任务。我曾尝试tabular
在 中创建许多列\newcommand
,但没有成功。为了给出更好的视觉效果,我将发布一段我的代码。
\documentclass{article}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{enumitem}
\usepackage{titlesec}
\usepackage[norsk]{babel}
\titleformat{\section}{\LARGE\filcenter}{}{1em}{}
\setlength{\jot}{14pt}
\title{Hjelpermidler i Digital Radio}
\author{Sami Rashiti}
\newcommand{\degree}[2]{#1\,^{\circ}\ \mathrm{#2}}
\begin{document}
\maketitle
\newpage
\section*{Innlevering 1}
\input{innleveringer/innlevering1.tex}
~\newline
\begin{align}
e_n &= \sqrt{4KTBR} \\
e_n^2 &= 4KTBR \\
R &= \frac{e_n^2}{4KTB} \\
&= \frac{(\frac{V_o}{A})^2}{4KTB} \qquad ,der \quad e_n = \frac{V_o}{A} = 3,2\mu V \\
&= \frac{(3.2\mu V)^2}{4\cdot1.38\cdot 10^{-23}\cdot 310\cdot 100\cdot 10^3} \\
&= 6\ k\Omega
\end{align}
\end{document}
答案1
您可以使用列表;下面是使用列表的示例etoolbox
并借用了沃纳在his answer
到迭代逗号分隔的参数:
\documentclass{article}
\usepackage{etoolbox}
\newcommand\Multiply[2][\cdot]{%
\def\nextitem{\def\nextitem{#1}}% Separator
\renewcommand*\do[1]{\nextitem##1}% How to process each item
\docsvlist{#2}% Process list
}
\begin{document}
\[
\Multiply[\times]{4,1.38\cdot 10^{-23},310,100,10^3}\qquad
\Multiply{a,b,c,d,e,f,g,h,i,j,k,l,m,n}
\]
\end{document}
答案2
xparse
使用and很简单expl3
。用逗号分隔项目即可。
\documentclass{article}
\usepackage{xparse}
\ExplSyntaxOn
\NewDocumentCommand\Multiply{O{\cdot}m}
{
\seq_set_split:Nnn \l_tmpa_seq { , } { #2 } % split the input at commas
\seq_use:Nn \l_tmpa_seq { #1 } % put #1 between items
}
\ExplSyntaxOff
\begin{document}
$\Multiply[\times]{4,1.38\cdot 10^{-23},310,100,10^3}$
$\Multiply{a,b,c,d,e,f,g,h,i,j,k,l,m,n}$
\end{document}
答案3
在 TeX 原始级别处理更多参数的常用方法是:
\def\Multiply#1{\MultiplyA#1,,}
\def\MultiplyA#1,{#1\MultiplyB}
\def\MultiplyB#1,{\ifx,#1,\else\cdot#1\expandafter\MultiplyB\fi}
$$
\Multiply{a,b,c,d,e,f,g,h,i,j,k,l,m,n}
$$
\end