citeproc-php icon indicating copy to clipboard operation
citeproc-php copied to clipboard

Chicago CSL style throws a fatal error when ecountering "page" values it cannot understand

Open xopoc14 opened this issue 2 years ago • 2 comments

Bug reports:

A publication with "E4687-96" pages causes a fatal error when it is rendered:

The website encountered an unexpected error. Please try again later. TypeError: Unsupported operand types: string % int in Seboettg\CiteProc\Util\PageHelper::renderChicago() (line 80 of .../vendor/seboettg/citeproc-php/src/Util/PageHelper.php). Seboettg\CiteProc\Util\PageHelper::renderChicago('E4687', '96') (Line: 43) Seboettg\CiteProc\Util\PageHelper::processPageRangeFormats(Array, Object) (Line: 162) Seboettg\CiteProc\Rendering\Text->renderPage('E4687-96') (Line: 108) Seboettg\CiteProc\Rendering\Text->render(Object, NULL) (Line: 79) Seboettg\CiteProc\Rendering\Choose\ChooseIf->render(Object) (Line: 105) Seboettg\CiteProc\Rendering\Choose\Choose->render(Object, NULL) (Line: 79) Seboettg\CiteProc\Rendering\Choose\ChooseIf->render(Object) (Line: 98) Seboettg\CiteProc\Rendering\Choose\Choose->render(Object, NULL) (Line: 86) Seboettg\CiteProc\Style\Macro->render(Object) (Line: 290) Seboettg\CiteProc\Rendering\Text->renderMacro(Object) (Line: 120) Seboettg\CiteProc\Rendering\Text->render(Object, 0) (Line: 130) Seboettg\CiteProc\Rendering\Layout->renderSingle(Object, 0) (Line: 97) Seboettg\CiteProc\Rendering\Layout->render(Object, NULL) (Line: 76) Seboettg\CiteProc\Style\Bibliography->render(Object) (Line: 137) Seboettg\CiteProc\CiteProc->bibliography(Object) (Line: 183) Seboettg\CiteProc\CiteProc->render(Object) (Line: 64)

Used CSL stylesheet:

chicago-author-date-16th-edition.csl

Used CSL metadata

Please replace these lines with your used metadata, for instance:

[
    {
        "author": [
            {
                "family": "Doe", 
                "given": "James"
            }
        ], 
        "id": "ITEM-1", 
        "type": "article-journal",
        "title": "Test",
        "page": "E4687-96"
    }
]

The value of pages is totally valid. It is imported from PubMed library. The original article is https://pubmed.ncbi.nlm.nih.gov/25267658/

xopoc14 avatar Nov 30 '22 14:11 xopoc14

Same as #159

glorieux-f avatar Aug 12 '23 19:08 glorieux-f

Fix for this is in the PR linked above.

rbran100 avatar Apr 30 '24 19:04 rbran100