You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(pdf): source code cells from the parser — retire pdfium's text path
The parser's first code-cell attempt used the space-glyph-only grouping, which
dropped inter-token spaces (`function add` → `functionadd`) because the parser
emits no space glyphs — a source space is a positioning gap. This adds a third
grouping mode, `Grouping::CodeGap`: split on the inter-glyph gap (a space wherever
it exceeds ~0.25× the line height) with no punctuation glue, so a real gap always
splits (`et al. 2000`, not `et al.2000`) while genuinely touching tokens stay
joined (`add(a,` / `b)`). The parser's clean advance boxes make the gap reliable,
where pdfium's overhanging loose boxes would over-split (`f un c t i o n`) — which
is why pdfium keeps the space-glyph path.
`code_and_formula` is byte-exact (`function add(a, b) { return a + b; }
console.log(add(3, 5));`). Parser code cells are now the default, so pdfium's text
path is fully retired — it does only page rasterisation + link annotations; all
text (prose, words, code) comes from the pure-Rust parser. Revert with
DOCLING_PDFIUM_WORDS (words+code) or DOCLING_PDFIUM_TEXT (all text).
Two snapshots (2305 llncsdoc, redp5110) are regenerated: their diffs are confined
to garbled multi-column LaTeX/SQL "code" regions and are conformance-neutral vs
the docling groundtruth (337/337, 175/175). Conformance holds at 91/91.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QYCj8stK1TzKcy6crtTfha
Copy file name to clipboardExpand all lines: tests/snapshots/latex/sources/2305.03393/llncsdoc.pdf.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -113,7 +113,7 @@ Multiple affiliations are separated by \and , which automatically assures correc
113
113
\and
114
114
115
115
```
116
-
\institute{<name of an institute> \and <name of the next institute> \and <name of the next institute>} \email Inside \institute you can use \email{<email address>} \url and \url{<url>}
116
+
\institute{<name of an institute> \and <name of the next institute> \and <name of the next institute>} Inside \institute you can use\email \email{<email address>} and\url \url{<url>}
117
117
```
118
118
119
119
```
@@ -143,7 +143,7 @@ Please note that, if email addresses are given in your paper, they will also be
143
143
abstract ( env. ) The abstract is coded as follows:
144
144
145
145
```
146
-
abstract(env.) The abstract is coded as follows: \begin{abstract} <Text of the summary of your paper> \end{abstract}
146
+
The abstract is coded as follows:abstract(env.) \begin{abstract} <Text of the summary of your paper> \end{abstract}
147
147
```
148
148
149
149
```
@@ -167,7 +167,7 @@ From a technical point of view, the llncs document class does not require any sp
167
167
The llncs document class supports some additional special characters:
If you need blackboard bold characters, i.e. for sets of numbers, please load the related A M S -T E Xfonts. If for some reason this is not possible you can also use the following commands from the llncs class:
claim ( env. ) Finally, there are also two unnumbered environments that have the run-in headproof ( env. ) ing in italics and the text in upright roman.
@@ -260,7 +260,7 @@ citeauthoryear
260
260
Please note that this option does not automatically change your citations to the author/year style. It basically redefines the \bibitem command to take the publication year as an optional parameter that is displayed instead of an arabic number. Author name(s) and, if necessary, parentheses are to be typed manually. If your reference reads
261
261
262
262
```
263
-
\bibitem[2016]{vdaalst:2016} van der Aalst, W.: Process Mining, 2nd ed. Springer, Heidelberg(2016) and is cited as follows:... is shown by van der Aalst(\cite{vdaalst:2016}) the resulting text will be: "...is shown by van der Aalst(2016)."
263
+
\bibitem[2016]{vdaalst:2016} van der Aalst, W.: Process Mining, 2nd ed. Springer, Heidelberg(2016) and is cited as follows:... is shown by van der Aalst(\cite{vdaalst:2016}) the resulting text will be: "...is shown by van der Aalst(2016)."
264
264
```
265
265
266
266
We encourage you to use Bib T E X for typesetting your references. For formatting the bibliography according to Springer's standard (for mathematics, physical sciences, and computer science), please use the bibliography style file splncs04.bst that comes with the llncs document class. You simply need to add \bibliographystyle{splncs04} to your document. DOIs should be provided in the doi field of your .bib database. Bib T E X will then automatically add them to your references. Please note that we do not provide an option to implement splncs04.bst
Copy file name to clipboardExpand all lines: tests/snapshots/pdf/sources/redp5110_sampled.pdf.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -336,7 +336,7 @@ Figure 4-69 Index advice with no RCAC
336
336
<!-- image -->
337
337
338
338
```
339
-
WHEN QSYS2. VERIFY_GROUP_FOR_USER( SESSION_USER, 'TELLER') = 1 WHEN QSYS2. VERIFY_GROUP_FOR_USER( SESSION_USER, 'CUSTOMER') = 1 WHEN QSYS2. VERIFY_GROUP_FOR_USER( SESSION_USER, 'ADMIN') = 1 WHEN QSYS2. VERIFY_GROUP_FOR_USER( SESSION_USER, 'TELLER') = 1 WHEN QSYS2. VERIFY_GROUP_FOR_USER( SESSION_USER, 'CUSTOMER') = 1 124 Row and Column Access Control Support in IBM DB2 for iTHEN C. CUSTOMER_TAX_ID THEN( 'XXX-XX-' CONCAT QSYS2. SUBSTR( C. CUSTOMER_TAX_ID, 8, 4)) THEN C. CUSTOMER_TAX_ID THEN C. CUSTOMER_DRIVERS_LICENSE_NUMBER THEN C. CUSTOMER_DRIVERS_LICENSE_NUMBER THEN C. CUSTOMER_DRIVERS_LICENSE_NUMBER CREATE MASK BANK_SCHEMA.MASK_DRIVERS_LICENSE_ON_CUSTOMERS ON BANK_SCHEMA.CUSTOMERS AS C CREATE MASK BANK_SCHEMA.MASK_LOGIN_ID_ON_CUSTOMERS ON BANK_SCHEMA.CUSTOMERS AS C ELSE 'XXX-XX-XXXX' END ELSE '*************' END RETURN CASE RETURN CASE ENABLE; FOR COLUMN CUSTOMER_DRIVERS_LICENSE_NUMBER ENABLE; FOR COLUMN CUSTOMER_LOGIN_ID ALTER TABLE BANK_SCHEMA.CUSTOMERS WHEN QSYS2. VERIFY_GROUP_FOR_USER( SESSION_USER, 'ADMIN') = 1 WHEN QSYS2. VERIFY_GROUP_FOR_USER( SESSION_USER, 'CUSTOMER') = 1 WHEN QSYS2. VERIFY_GROUP_FOR_USER( SESSION_USER, 'ADMIN') = 1 WHEN QSYS2. VERIFY_GROUP_FOR_USER( SESSION_USER, 'CUSTOMER') = 1 WHEN QSYS2. VERIFY_GROUP_FOR_USER( SESSION_USER, 'ADMIN') = 1 WHEN QSYS2. VERIFY_GROUP_FOR_USER( SESSION_USER, 'CUSTOMER') = 1 THEN C. CUSTOMER_LOGIN_ID THEN C. CUSTOMER_LOGIN_ID THEN C. CUSTOMER_SECURITY_QUESTION THEN C. CUSTOMER_SECURITY_QUESTION THEN C. CUSTOMER_SECURITY_QUESTION_ANSWER THEN C. CUSTOMER_SECURITY_QUESTION_ANSWER CREATE MASK BANK_SCHEMA.MASK_SECURITY_QUESTION_ON_CUSTOMERS ON BANK_SCHEMA.CUSTOMERS AS C CREATE MASK BANK_SCHEMA.MASK_SECURITY_QUESTION_ANSWER_ON_CUSTOMERS ON BANK_SCHEMA.CUSTOMERS AS C ELSE '*****' END ELSE '*****' END ELSE '*****' END ACTIVATE ROW ACCESS CONTROL ACTIVATE COLUMN ACCESS CONTROL; RETURN CASE RETURN CASE ENABLE; FOR COLUMN CUSTOMER_SECURITY_QUESTION ENABLE; FOR COLUMN CUSTOMER_SECURITY_QUESTION_ANSWER ENABLE;
339
+
124 Row and Column Access Control Support in IBM DB2 for iTHEN C. CUSTOMER_TAX_ID WHEN QSYS2. VERIFY_GROUP_FOR_USER( SESSION_USER, 'TELLER') = 1 THEN( 'XXX-XX-' CONCAT QSYS2. SUBSTR( C. CUSTOMER_TAX_ID, 8, 4)) WHEN QSYS2. VERIFY_GROUP_FOR_USER( SESSION_USER, 'CUSTOMER') = 1 THEN C. CUSTOMER_TAX_ID ELSE 'XXX-XX-XXXX' END ENABLE; CREATE MASK BANK_SCHEMA.MASK_DRIVERS_LICENSE_ON_CUSTOMERS ON BANK_SCHEMA.CUSTOMERS AS C WHEN QSYS2. VERIFY_GROUP_FOR_USER( SESSION_USER, 'ADMIN') = 1 THEN C. CUSTOMER_DRIVERS_LICENSE_NUMBER WHEN QSYS2. VERIFY_GROUP_FOR_USER( SESSION_USER, 'TELLER') = 1 THEN C. CUSTOMER_DRIVERS_LICENSE_NUMBER WHEN QSYS2. VERIFY_GROUP_FOR_USER( SESSION_USER, 'CUSTOMER') = 1 THEN C. CUSTOMER_DRIVERS_LICENSE_NUMBER ELSE '*************' END ENABLE; CREATE MASK BANK_SCHEMA.MASK_LOGIN_ID_ON_CUSTOMERS ON BANK_SCHEMA.CUSTOMERS AS C FOR COLUMN CUSTOMER_DRIVERS_LICENSE_NUMBER RETURN CASE FOR COLUMN CUSTOMER_LOGIN_ID RETURN CASE WHEN QSYS2. VERIFY_GROUP_FOR_USER( SESSION_USER, 'ADMIN') = 1 THEN C. CUSTOMER_LOGIN_ID WHEN QSYS2. VERIFY_GROUP_FOR_USER( SESSION_USER, 'CUSTOMER') = 1 THEN C. CUSTOMER_LOGIN_ID ELSE '*****' END ENABLE; CREATE MASK BANK_SCHEMA.MASK_SECURITY_QUESTION_ON_CUSTOMERS ON BANK_SCHEMA.CUSTOMERS AS C WHEN QSYS2. VERIFY_GROUP_FOR_USER( SESSION_USER, 'ADMIN') = 1 THEN C. CUSTOMER_SECURITY_QUESTION WHEN QSYS2. VERIFY_GROUP_FOR_USER( SESSION_USER, 'CUSTOMER') = 1 THEN C. CUSTOMER_SECURITY_QUESTION ELSE '*****' END ENABLE; CREATE MASK BANK_SCHEMA.MASK_SECURITY_QUESTION_ANSWER_ON_CUSTOMERS ON BANK_SCHEMA.CUSTOMERS AS C WHEN QSYS2. VERIFY_GROUP_FOR_USER( SESSION_USER, 'ADMIN') = 1 THEN C. CUSTOMER_SECURITY_QUESTION_ANSWER WHEN QSYS2. VERIFY_GROUP_FOR_USER( SESSION_USER, 'CUSTOMER') = 1 THEN C. CUSTOMER_SECURITY_QUESTION_ANSWER ELSE '*****' END ENABLE; ALTER TABLE BANK_SCHEMA.CUSTOMERS FOR COLUMN CUSTOMER_SECURITY_QUESTION RETURN CASE FOR COLUMN CUSTOMER_SECURITY_QUESTION_ANSWER RETURN CASE ACTIVATE ROW ACCESS CONTROL ACTIVATE COLUMN ACCESS CONTROL;
0 commit comments