# ams/idotsint-expand

Expand idotsint to explicit repeated integral surfaces.

https://texform.dev/rules/ams/idotsint-expand

## Metadata

| Field | Value |
| --- | --- |
| Key | ams/idotsint-expand |
| Level | faithful |
| Fidelity | render |
| Enabled by packages | ams |
| Profiles | Faithful, Corpus, Equiv |

## Rewrite patterns

From:

```latex
\idotsint
```

To:

```latex
\int\cdots\int
```

## Examples

Examples show the rule in isolation, not a complete normalization profile.

### Plain multi integral domain

Before:

```latex
\idotsint_{[0,1]^4} f(x_1,\dots,x_4)\,dx_1\cdots dx_4
```

After this rule:

```latex
\int\cdots\int_{[0,1]^4} f(x_1,\dots,x_4)\,dx_1\cdots dx_4
```

Packages: base, ams.

Rendering verified with the declared packages.

### Explicit limits multi integral

Before:

```latex
\idotsint\limits_{D_n}^{\infty} e^{-\sum_{j=1}^{m} t_j}\,dt_1\cdots dt_m
```

After this rule:

```latex
\!\!\mathop{\,\,\int\cdots\int}\limits_{D_n}^{\infty} e^{-\sum_{j=1}^{m} t_j}\,dt_1\cdots dt_m
```

Packages: base, ams.

Rendering verified with the declared packages.

## Triggers

- [\\idotsint](https://texform.dev/latex/commands/idotsint)

## Eliminates

- [\\idotsint](https://texform.dev/latex/commands/idotsint)

## Produces

- [\\!](https://texform.dev/latex/commands/-21-)
- [\\mathop](https://texform.dev/latex/commands/mathop)
- [\\,](https://texform.dev/latex/commands/-2c-)
- [\\limits](https://texform.dev/latex/commands/limits)
- [\\int](https://texform.dev/latex/symbols/int)
- [\\cdots](https://texform.dev/latex/symbols/cdots)

## Downstream

- [base/small-spacer-merge-to-enspace](https://texform.dev/rules/base/small-spacer-merge-to-enspace): Merge exact half-em small-spacer chunks into enspace in one pass.
- [base/limits-drop](https://texform.dev/rules/base/limits-drop): Drop explicit limits from an audited operator while preserving attached scripts.

## Same family

- [ams/operatorname-to-named-function](https://texform.dev/rules/ams/operatorname-to-named-function): Rewrite plain operatorname arguments to equivalent base named-function or named-operator commands.
- [base/limits-drop](https://texform.dev/rules/base/limits-drop): Drop explicit limits from an audited operator while preserving attached scripts.
- [base/nolimits-drop](https://texform.dev/rules/base/nolimits-drop): Drop explicit nolimits from an audited operator while preserving attached scripts.
- [physics/cosine-to-cos](https://texform.dev/rules/physics/cosine-to-cos): Collapse a bare cosine helper to the standard cos operator.
- [physics/naturallogarithm-to-ln](https://texform.dev/rules/physics/naturallogarithm-to-ln): Collapse a bare natural logarithm helper to the standard ln operator.
- [physics/probability-to-pr](https://texform.dev/rules/physics/probability-to-pr): Collapse a bare Probability helper to the standard Pr operator.
- [physics/sine-to-sin](https://texform.dev/rules/physics/sine-to-sin): Collapse a bare sine helper to the standard sin operator.
- [physics/trace-capital-to-Tr](https://texform.dev/rules/physics/trace-capital-to-Tr): Collapse a bare Trace with no following argument group to the local Tr anchor.
- [physics/trace-to-tr](https://texform.dev/rules/physics/trace-to-tr): Collapse a bare trace with no following argument group to the local tr anchor.
- [physics/named-fn-paren-expand](https://texform.dev/rules/physics/named-fn-paren-expand): Expand physics power and auto-sized parenthesis arguments of standard named functions.
- [physics/named-fn-to-operatorname](https://texform.dev/rules/physics/named-fn-to-operatorname): Rewrite physics-only named functions to operatorname and expand their auto-sized arguments.
- [physics/physics-operator-fence-expand](https://texform.dev/rules/physics/physics-operator-fence-expand): Expand the physics auto-sized argument of exp, det, and Pr into an explicit fence.
- [physics/rank-to-operatorname-rank](https://texform.dev/rules/physics/rank-to-operatorname-rank): Rewrite rank to an explicit operatorname form instead of a package-local alias.

## Disable this rule

```python
TransformEngine(profile="corpus", disable_rules=["ams/idotsint-expand"])
```

```javascript
new TransformEngine({ profile: 'corpus', disableRules: ['ams/idotsint-expand'] })
```

[Open in Playground](https://play.texform.dev/?input=%5Cidotsint_%7B%5B0%2C1%5D%5E4%7D+f%28x_1%2C%5Cdots%2Cx_4%29%5C%2Cdx_1%5Ccdots+dx_4)
