AI Demos Research — the structured-intelligence platform. Every verdict on these pages opens to the execution behind it.
Graded 3 November 2026

Does PyMuPDF4LLM preserve equations in Markdown?

PyMuPDF4LLM did not preserve the document’s equations in Markdown. It omitted all six display equations without providing math markup, an image or a placeholder.

1 of 1 test case failed

Every test case in this scenario has a result.

Pass rate0%0 of 1 gradable
Coverage1 of 1test case with a result
0PassNo test case passed.
1FailMissed at least one thing it was expected to do; the reason and proof are with each test case below.
0Not gradableEvery result here could be graded.
0UntestedEvery test case in this scenario has a result.
The pass rate is a summary. The evidence is the test case below: what we sent, what we checked, what the tool returned, and the proof.

The test case

Each test case is judged on its own: Pass, Fail, Not gradable, or Untested. The scenario result above is based on this test case.

Equations — math markup or honest fallbackFailEvidence
What we sent
InputDocument (PDF)
Input PDF: technical note with six numbered display equations
Open the PDF ↗
What the tool returned
Markdownthe whole file · cited lines 19–27, 31–35 and 63–92 marked
Tarnbeck Institute of Hydrology 

TIH/TN/18 

# **A one-dimensional model of tidal attenuation in the Braithe channel** 

Technical note TIH/TN/18  ·  January 2026 

_R. K. Sandiman and H. Vale_ 

## **1  Introduction** 

The tide entering the Braithe is attenuated over the eleven kilometres between the bar and Braithe Bridge, and the attenuation is large enough to matter to anyone predicting water levels in the upper estuary. This note sets out the one-dimensional model the Institute has used since 2018, states the approximation on which the working formula rests, and compares the result with the gauge record at three stations. 

Nothing here is new. The intention is to have the derivation, the assumptions and the coefficients in one place, because the formula has been quoted in Partnership papers without them. 

## **2  Governing equations** 

Take the channel as a single reach of slowly varying cross-section and neglect lateral inflow. Conservation of mass gives 



where _A_ is the cross-sectional area below the free surface and _Q_ the discharge through it. Conservation of momentum, with friction represented in the Manning form, gives 



in which _η_ is the surface elevation above mean sea level, _n_ is Manning's coefficient, _R_ the hydraulic radius _R_ = _A_ / _P_ for wetted perimeter _P_ , and _g_ the acceleration due to gravity. The friction term is the only nonlinear one that matters over the range of interest. 

## **3  Attenuation of the leading harmonic** 

For a channel of nearly uniform depth the leading semidiurnal harmonic decays close to exponentially with distance upstream, so that 



with _η_ 0 the amplitude at the bar, _ω_ the angular frequency of the harmonic, _k_ the wavenumber and _μ_ the attenuation coefficient. Linearising the friction term by the Lorentz method and collecting terms gives 

Page 1 of 3 

Tarnbeck Institute of Hydrology 

TIH/TN/18 



where _c_ is the frictionless wave speed and _h_ the mean depth. The second expression is the friction parameter; it is small in the lower reach and approaches unity above Harrowby Reach, which is where the exponential form begins to fail. 

## **4  Application to the Braithe** 

Taking the mean depth as eleven metres below the bar and four metres at the bridge, with Manning's coefficient at the value fitted in 2018, the formula reproduces the observed amplitude at Vardenne Quay to within four per cent and at Harrowby Reach to within nine. At Braithe Bridge it overestimates the amplitude, and the discrepancy grows through the spring tides, which is the behaviour the friction parameter predicts. 

A two-reach treatment with separate depths would probably remove most of the error at the bridge. It has not been attempted here because the gauge record above Harrowby Reach is too short to fit a second coefficient with any confidence. 

## **5  Coefficients** 

Manning's coefficient is not constant with depth in a channel of this kind, and the single fitted value used above is a compromise. Fitting the 2018 record with a depth-dependent form gives 



with _n_ ∞ the deep-water value and _b_ a bed constant. The fit is better in the lower reach and no better at the bridge, which suggests that the error there is not in the friction term at all. 

The two constants were fitted to the 2018 record and have not been refitted since. Refitting on the four years now available would be worth doing; the Institute's expectation is that the deep-water value will move very little and the bed constant appreciably, because it is carrying the shallow reaches where the record has improved most. 

## **6  Limitations** 

Three limitations should be stated plainly. The first is the one-dimensional assumption, which fails where the channel divides above Harrowby Reach. The second is the neglect of the freshwater inflow, which is small in summer and not small after rain. The third is the linearisation itself, which is a poor approximation once the friction parameter approaches unity - that is, in exactly the reach where the model is least accurate. 

The error measure quoted in the previous section is 

Page 2 of 3 

Tarnbeck Institute of Hydrology 

TIH/TN/18 

(6) 



_ηo_ 

taken over the spring-neap cycle at each gauge, with _ηo_ the observed amplitude and _ηm_ the modelled one. It is a crude measure and it flatters the model at the bar, where the amplitude is large and the absolute error is not. 

None of this is an argument against using the formula, which is quick, transparent and good enough for the purposes the Partnership puts it to. It is an argument for quoting it with the reach and the tidal range attached, which the papers that quote it have not always done. 

## **References** 

Sandiman, R. K. (2018). Tidal propagation in the Braithe: a first fit. Tarnbeck Institute internal report TIH/IR/09. Vale, H. and Croyde, P. (2021). The Harrowby Reach gauge, 2015 to 2020. Journal of Estuarine Hydrology 44, 218-31. 

Prosser, A. (2009). Friction coefficients for the Braithe channel. Braithe Harbour Board, unpublished. 

Page 3 of 3 

Markdown output: equation gaps and surrounding text

Copied from Output file (Markdown), lines 19–27, 31–35, 63–92

Open the Markdown file ↗
Expected vs. Found
✗Expected: Equations should appear as LaTeX or MathML, or as an honest fallback, rather than garbled prose.Found: The output omitted all six display equations without markup, images or placeholders. The surrounding prose remained; only the sixth equation’s number survived.
Supporting proof
Proof 1Screenshot
Execution screenshot: console, Markdown excerpt and source PDF page
Open original ↗
Why this result

The equations needed to survive as math markup or an honest fallback, but all six were omitted. The documented Markdown operation ran on the intended PDF with its default settings; the library documents no alternative math setting.

Tested by Vamshidhar Rao Thumula · evidence dated 24 October 2026

Configuration and setup

How this tool was set up for the run and what the test needed in place. Each row is a fact from the run's records; a fact the records do not hold is left out, not guessed.

Software that produced the output
PyMuPDF4LLM
Build or version
PyMuPDF4LLM 1.28.2
Surface
SDK / library
Set up before the run
The complete PDF had to be converted to Markdown in one default pass, using the library’s standard Markdown entry point, with no per-tool flag tuning and no cropped pages.
Pipeline
Markdown conversion · no keyword arguments (the product's defaults)
Library versions
PyMuPDF 1.28.2 | pymupdf-layout 1.28.2 | rapidocr 3.10.0 | onnxruntime 1.31.0
Tested
24 October 2026 · Vamshidhar Rao Thumula

How this scenario is graded

How we decide Pass, Fail and Not gradable. The same rules apply to every tool tested on this scenario.

How results are decided

Each test case gets one result per tool: Pass, Fail or Not gradable. A test case we haven't run yet shows Untested. There are no partial results.

The rules
  • Pass: the tool did everything the test expected, and nothing it said contradicts the correct answer.
  • Fail: at least one expected behaviour clearly didn't happen; the test case's result says which one and quotes the tool.
  • Not gradable: our evidence couldn't settle the outcome (for example a record we needed is missing). It is never counted as a fail, and the test case's result says what's missing.

Where this sits in the benchmark

This page is one cell of a larger study: one tool, one scenario. Only this benchmark's frame appears here.

History of this result

What has happened to this result since it was first published. Runs and grades are never overwritten: a retest or a re-grade publishes a new result and keeps the earlier one readable.

from the publication record
10 November 2026First publishedConverting a complex PDF into clean Markdown with an open-source library v1

Act on this result

Nothing filed here edits the run or the grade. A challenge opens a review, and a review can produce a new run or a re-grade — which becomes the current result and leaves this one in the history.

This matches what I see

You run the same kind of test against your own setup and get the same behaviour.

Agree →
This does not match

Yours behaves differently. Tell us what you got, with a screenshot if you have one.

Disagree →
Point out an issue

Something here is wrong — a reference value, a transcription, a grade.

Report an issue →
Request a retest

On a newer build, a larger dataset, or your own setup.

Request a retest →
We have fixed this

Tell us what changed and we schedule a rerun of the failing test case. The old result stays as history.

Vendor notice →
Filed against this evidenceNothing yet. Challenges, counter-evidence and fix notices appear here with their outcome, and stay on the page after they are resolved.
Cite this result
aidemos.com/benchmarks/pdf-to-markdown-open-source/results/pymupdf4llm/a-document-containing-mathematical-equations · 0 pass · 1 fail · coverage 1/1 · graded 2026-11-03

The same record is available as structured data through the AI Demos MCP server, with the counts, the coverage and every per-test-case reason carried as fields.

Verify the proof files

These files support this result. Open a file to inspect the original evidence.

Input · Document (PDF) ↗application/pdf · 236 KB
Proof 1 · Screenshot ↗image/png · 245 KB
Output file (Markdown) ↗text/markdown · 5 KB
File fingerprints (SHA-256)

A fingerprint identifies the exact file used for this result.

Input · Document (PDF)f3d69b6d9d2191c5806a426fd4ea5e209dcd7cf693ad6abe67a5d18a014b9fd6
Proof 1 · Screenshotf6892e4b50cf6c3459c501d443e2f87a22f8e280299288add9d26f79d48b9576
Output file (Markdown)779586cd8fbdab4a2b622a936428cde4bbcabc4a729fce3e12d4772ba4ee9d19