### Bug description

I found an unexpected problem when I was testing out quarto for Carpentries lessons. We use a solution fenced div tag to provide accordion sections that contain solutions to challenges/exercises. 

I ran into an error (described in https://github.com/carpentries/sandpaper/issues/161#issuecomment-1213593479) when I had a file that looks like this:

````markdown
::: solution

### Heading

```
code
```

:::
````

```
Error running filter /opt/quarto/share/filters/crossref/crossref.lua:
/opt/quarto/share/filters/crossref/crossref.lua:2009: attempt to get length of a nil value (field 'content')
stack traceback:
	/opt/quarto/share/filters/crossref/crossref.lua:1103: in function </opt/quarto/share/filters/crossref/crossref.lua:1097>
```

The solution (heh) to this problem is to insert a paragraph right after the heading:

````markdown
::: solution

### Heading

text text

```
code
```

:::
````

But this gives the unsatisfactory result of formatting the heading as a span and linking it to the paragraph (though I believe we can handle it with our lua filters).

Many of our materials contain solution blocks with just code blocks or tables and I am wondering if there is a mechanism for us to register our divs so that we can avoid these clashes. 


## My system

```
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.4 LTS
Release:	20.04
Codename:	focal
```

### `quarto check` Output

```bash
[✓] Checking Quarto installation......OK
      Version: 1.0.38
      Path: /opt/quarto/bin

[✓] Checking basic markdown render....OK

[✓] Checking Python 3 installation....OK
      Version: 3.8.8 (Conda)
      Path: /home/zhian/anaconda3/bin/python
      Jupyter: 4.7.1
      Kernels: python3

[✓] Checking Jupyter engine render....OK

[✓] Checking R installation...........OK
      Version: 4.2.1
      Path: /usr/lib/R
      LibPaths:
        - /home/zhian/R/library
        - /usr/local/lib/R/site-library
        - /usr/lib/R/site-library
        - /usr/lib/R/library
      rmarkdown: 2.14

[✓] Checking Knitr engine render......OK
```

### `quarto tools check` Output

````bash
[✓] Inspecting tools

Tool         Status                    Installed     Latest  
chromium     Not installed             ---           869685  
tinytex      External Installation     ---           v2022.08
````

### Checklist

- [X] [formatted your issue](https://yihui.org/issue/#please-format-your-issue-correctly) so it is easier for us to read?
- [X] included a minimal, fully reproducible example in a single .qmd file? Please provide the whole file rather than the snippet you believe is causing the issue.
- [X] documented the quarto version you're running, by pasting the output from running `quarto check` in the "Quarto Check Output" text area?
- [X] documented the version of the quarto tools you're running, by providing the output from running `quarto tools check` in the "Quarto Tools Check Output" text area?
- [ ] documented the RStudio IDE version you're running (if applicable), by providing the value displayed in the "About RStudio" main menu dialog?
- [X] documented which operating system you're running? If on Linux, please provide the specific distribution as well.
- [X] upgraded to the latest version, including your versions of R, the RStudio IDE, and relevant R packages?
2022-08-13T00:02:18Z
zkamvar
bug
closed
custom solution block clashes with proof/solution block 
https://github.com/quarto-dev/quarto-cli/issues/1854