# base/atopwithdelims-to-genfrac

Rewrite atopwithdelims to an explicit delimited no-rule genfrac form.

https://texform.dev/rules/base/atopwithdelims-to-genfrac

## Metadata

| Field | Value |
| --- | --- |
| Key | base/atopwithdelims-to-genfrac |
| Level | authoring |
| Fidelity | render |
| Enabled by packages | base |
| Profiles | Authoring, Faithful, Corpus, Equiv |

## Rewrite patterns

From:

```latex
#1 \atopwithdelims #2 #3 #4
```

To:

```latex
\genfrac{#2}{#3}{0pt}{}{#1}{#4}
```

## Examples

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

### Delimited no rule stack

Before:

```latex
\sum_{i=1}^{m} a_i \atopwithdelims [ ] \prod_{j=1}^{n} b_j
```

After this rule:

```latex
\genfrac{[}{]}{0pt}{}{\sum_{i=1}^{m} a_i}{\prod_{j=1}^{n} b_j}
```

Packages: base, ams.

Rendering verified with the declared packages.

### Parenthesized no rule stack

Before:

```latex
A+B \atopwithdelims ( ) C+D
```

After this rule:

```latex
\genfrac{(}{)}{0pt}{}{A+B}{C+D}
```

Packages: base, ams.

Rendering verified with the declared packages.

## Triggers

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

## Eliminates

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

## Produces

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

## Same family

- [ams/cfrac-to-frac](https://texform.dev/rules/ams/cfrac-to-frac): Drop continued-fraction styling from centered AMS cfrac forms.
- [ams/dbinom-and-tbinom-to-binom](https://texform.dev/rules/ams/dbinom-and-tbinom-to-binom): Rewrite AMS display-style and text-style binomial commands to binom.
- [ams/dfrac-to-frac](https://texform.dev/rules/ams/dfrac-to-frac): Rewrite the AMS display-style fraction command to frac.
- [ams/tfrac-to-frac](https://texform.dev/rules/ams/tfrac-to-frac): Rewrite the AMS text-style fraction command to frac.
- [base/above-to-genfrac](https://texform.dev/rules/base/above-to-genfrac): Rewrite above to a thickness-preserving genfrac form.
- [base/abovewithdelims-to-genfrac](https://texform.dev/rules/base/abovewithdelims-to-genfrac): Rewrite abovewithdelims to an explicit genfrac with delimiters and thickness.
- [base/atop-to-genfrac](https://texform.dev/rules/base/atop-to-genfrac): Rewrite infix atop to an explicit no-rule genfrac form.
- [base/brace-to-genfrac](https://texform.dev/rules/base/brace-to-genfrac): Rewrite infix brace to an explicit genfrac with brace delimiters.
- [base/brack-to-genfrac](https://texform.dev/rules/base/brack-to-genfrac): Rewrite infix brack to an explicit genfrac with bracket delimiters.
- [base/choose-to-binom](https://texform.dev/rules/base/choose-to-binom): Rewrite infix choose to an explicit binom command.
- [base/over-to-frac](https://texform.dev/rules/base/over-to-frac): Rewrite infix over to an explicit frac command.
- [base/overwithdelims-to-genfrac](https://texform.dev/rules/base/overwithdelims-to-genfrac): Rewrite overwithdelims to an explicit genfrac with delimiters.
- [base/root-of-to-sqrt](https://texform.dev/rules/base/root-of-to-sqrt): Rewrite legacy root-of syntax to bracketed sqrt notation.
- [base/leftroot-drop](https://texform.dev/rules/base/leftroot-drop): Drop the leftroot index-position hint in cleanup-oriented normalization.
- [base/uproot-drop](https://texform.dev/rules/base/uproot-drop): Drop the uproot index-position hint in cleanup-oriented normalization.

## Disable this rule

```python
TransformEngine(profile="corpus", disable_rules=["base/atopwithdelims-to-genfrac"])
```

```javascript
new TransformEngine({ profile: 'corpus', disableRules: ['base/atopwithdelims-to-genfrac'] })
```

[Open in Playground](https://play.texform.dev/?input=%5Csum_%7Bi%3D1%7D%5E%7Bm%7D+a_i+%5Catopwithdelims+%5B+%5D+%5Cprod_%7Bj%3D1%7D%5E%7Bn%7D+b_j)
