Re: [DISCUSSION] Allowing footnote-references inside parsed keywords (#+AUTHOR, #+TITLE, etc)
Am Freitag, dem 02. Februar 2024 schrieb Ihor Radchenko: > What if you have multiple authors? At least in my discipline, we only have one footnote even in such a case, which then is a little longer and describes each author individually in a separate sentence. So, one AUTHOR_FN keyword would be enough for me. Marvin -- Dipl.-Jur. M. Gülker | https://mg.guelker.eu | PGP: Siehe Webseite Passau, Deutschland | kont...@guelker.eu| O<
Re: [DISCUSSION] Allowing footnote-references inside parsed keywords (#+AUTHOR, #+TITLE, etc)
Am Donnerstag, dem 01. Februar 2024 schrieb Juan Manuel Macías: > How about using dedicated keywords? Something like: > > #+FN_AUTHOR: footnote text > #+FN_TITLE: footnote text For reference -- I do not know if this prompted the discussion here -- just a few days ago I asked about footnotes in author information because such footnotes are just so common in the field I write in. They are used to give a short description of the author's position usually ("XY is a researcher at the chair of Foo Bar..."). Since in my field I have to submit DOCX to journals, such footnotes should be properly exported by ox-odt in particular. Here is the thread over at emacs-humanities: https://lists.gnu.org/archive/html/emacs-humanities/2024-01/msg0.html It includes an ugly workaround I applied in form of an advice. A proper solution directly in org would of course be much preferable. I like the dedicated keyword solution. This way third party backends will probably ignore the new keywords, because for them they will look like a comment. Marvin -- Dipl.-Jur. M. Gülker | https://mg.guelker.eu | PGP: Siehe Webseite Passau, Deutschland | kont...@guelker.eu| O<
Re: Feature request: export form feed as page break
Am Sonntag, dem 22. Oktober 2023 schrieb Jambunathan K: > I am the original author of ox-odt.el. > > The page break feature is available as part of > https://github.com/kjambunathan/org-mode-ox-odt I took a look at https://github.com/kjambunathan/org-mode-ox-odt/blob/master/notes/SNIPPETS.org#improve-support-for-pagebreaks and indeed, there is a page break feature, but it seems to be exclusive to this backend. I would prefer it if the page break feature was part of org’s actual markup and thus work with all backends, including LaTeX, without backend-specific markup. > This is a fork of the ODT exporter in Emacs Orgmode. I heard of it before; for now I think I want to stick with upstream org. I do keep an eye on this fork in case I need one of its exclusive features. Since from a technical point, I am mostly writing pretty boring pure text documents, it worked out until now mostly. -MG -- Dipl.-Jur. M. Gülker | https://mg.guelker.eu | PGP: Siehe Webseite Passau, Deutschland | kont...@guelker.eu| O<
Re: Feature request: export form feed as page break
Am Samstag, dem 21. Oktober 2023 schrieb Ihor Radchenko: > In general, adding page breaks can make sense. The main concern is that > the location of page breaks may or may not be export > backend-independent. In certain scenarios, you may need to put page > breaks in one place for odt export, but in other place in LaTeX export > (for example, when page size is different in these two cases). I think this conflates two different things. On the one hand, there are typographically indicated page breaks, which appear to be those you are thinking of here. For instance, the question where to break the page within a running paragraph of text does depend on how many lines will show up on the next page; if the answer is 1, better not put a break here and rather break after the paragraph. Another example would be if you want a page break before a heading only in certain cases dependent on other material on the page or the page (size) itself. I agree that this kind of page break feature cannot be represented properly in (org) markup. On the other hand, there are semantic page breaks. The page break I described in the OP is of this kind – it has been added specifically to hide the proposed solution from the first page and allow me to just print page 1 and hand that one to the students. For this page break, the paper size is completely irrelevant. Even if I printed on A3 for whatever reason (maybe I ran out of A4 paper), the semantic still requires the solution to be on page 2. It is this kind of page break I am referring to and which I think is representable in markup. > - In LaTeX, this is easy to achieve simply putting =\clearpage= A quick note here: \newpage and \clearpage do different things in LaTeX if there is floating material in the document. \clearpage typesets the floats and then breaks the page, whereas \newpage does not consider them. -MG -- Dipl.-Jur. M. Gülker | https://mg.guelker.eu | PGP: Siehe Webseite Passau, Deutschland | kont...@guelker.eu| O<
Re: Feature request: export form feed as page break
Am Samstag, dem 21. Oktober 2023 schrieb Max Nikulin: > As a workaround you may define an Org macro that expands to > @@latex:\newpage@@ and appropriate XML element inside @@odt:…@@. Fair enough, this is possible, but then I have to consider each backend I may export to and read up on how the respective backend does this. As it stands, I just do not know how the piece inside @@odt:…@@ would have to look like. If the decision here is to not add a page break feature to org, then I will probably go that route, though. > P.S. I am against using non-printable characters for markup. It might > be an \... entity for page break inside a paragraph, "#+...:" keyword > between block-level elements, etc. I have no strong opinion on that, but I just thought that ^L seems like a good fit, and I saw it used in Elisp files earlier so I thought it is common enough to just reuse it. -MG -- Dipl.-Jur. M. Gülker | https://mg.guelker.eu | PGP: Siehe Webseite Passau, Deutschland | kont...@guelker.eu| O<
Feature request: export form feed as page break
Dear list, I am creating training material for the education of German law students, which usually consists of a case story on one or two pages, followed by a page break after which a proposal for resolving the case is provided. The structure is like this because usually I provide the case story before the meeting, where I work out a solution with the students, and afterwards I want to provide them with complete material, while still having everything contained in one file. With org, I can easily export to LaTeX and thereby to PDF, and it works quite nicely. However, for the page break I always need to write a literal \newpage into the document, which does work, but only in LaTeX. Since I am the only one using org/LaTeX at my chair, I have to convert these documents to DOCX (using the ODT exporter) when a collegue wants an editable version of them. As a LaTeX command, \newpage does not work when exporting to ODT. I thus open the exported document manually after the export and insert the page break using LibreOffice. To ease this process, I would like to request that the ASCII control character U+000C FORM FEED (displayed by emacs as ^L and also known as `\f' in C string notation) is recognised by exporters and translated to the corresponding page break command, that is, in LaTeX \newpage and in ODT to the XML that makes LibreOffice start a new page. For HTML, it could be exported as or similar, and for exporters which have no notion of pages, it could just be copied over to the exported document as-is. -MG -- Dipl.-Jur. M. Gülker | https://mg.guelker.eu | PGP: Siehe Webseite Passau, Deutschland | kont...@guelker.eu| O<
Formatting in citation locator
Dear list, is it possible to apply formatting within the citation locator? It is sometimes useful to me. For example, when I want to cite a dissenting opinion contained in a judgment of the German Constitutonal Court, it is helpful to highlight that the cited location is a dissenting opinion and not the majority’s position. Take for example this bibliographic entry: @Jurisdiction{bverfg2010vds, author = {BVerfG}, type = {Urteil}, number = {1 BvR 256/08 u.a.}, date = {2010-03-02}, title = {Vorratsdatenspeicherung}, shortjournal = {BVerfGE}, journaltitle = {Entscheidungen des Bundesverfassungsgerichts}, pages = {260-385}, volume = {125}, jurisdiction = {de}, langid = {ngerman} } The decision contains two dissenting opinions at its end. Now I try to cite the first one like this: #+TITLE: Test #+AUTHOR: Test #+LANGUAGE: de #+cite_export: csl /tmp/juristische-schulung.csl #+bibliography: /tmp/test.bib Abweichende Meinung. [cite:@bverfg2010vds p. 373 [Sondervotum /Schluckebier/],] juristische-schulung.csl is this style: https://github.com/citation-style-language/styles/blob/e22b8a566bad9b4c7f52720f60dd875057a5d210/juristische-schulung.csl Exporting this to HTML comes out as: ¹ BVerfGE 125, 260 (373 [Sondervotum /Schluckebier/]) I would have expected that the word “Schluckebier” – which is the dissenting judge’s name – is italicised, but instead the raw markup is exported. I want it italicised, because it is common to italicise names in German judicial citation styles. Is this expected behaviour? Org mode version 9.5 (release_9.5-661-g5e0afb @ /home/quintus/.emacs.d/org-mode/lisp/) citeproc.el at ba49516265fa24b138346c4918d39d19b4de8a62 -quintus -- Dipl.-Jur. M. Gülker | https://mg.guelker.eu | PGP: Siehe Webseite Passau, Deutschland | kont...@guelker.eu| O<
Re: [BUG] Mention #+PRINT_BIBLIOGRAPHY in the Org manual
Am Montag, dem 13. Juni 2022 schrieb Rudolf Adamkovič: > It all makes no sense without printing the bibliography, right? In a footnote citation style, it can make sense, and it is common in German judicial articles. We do not need separate bibliographies there, because we instead do cross-referencing in footnotes. The first footnote contains the full bibliographic information, the subsequent ones abbreviate it and reference the first footnote. But I do agree that the manual should of course mention it. -quintus -- Dipl.-Jur. M. Gülker | https://mg.guelker.eu | PGP: Siehe Webseite Passau, Deutschland | kont...@guelker.eu| O<
[BUG] Setting compile command causes fontification error [9.5 (release_9.5-661-g5e0afb @ /home/quintus/.emacs.d/org-mode/lisp/)]
Remember to cover the basics, that is, what you expected to happen and what in fact did happen. You don't know how to make a good report? See https://orgmode.org/manual/Feedback.html#Feedback Your bug report will be posted to the Org mailing list. Dear all, trying to access a file with the content shown further below results in this message: Org mode fontification error in # at 31 Trying to export said file to HTML yields this backtrace: Debugger entered--Lisp error: (wrong-type-argument arrayp nil) substring(nil 0 0) replace-regexp-in-string("[^-0-9a-zA-Z_./\n]" "\\&" nil) shell-quote-argument(nil) (concat "lualatex " (shell-quote-argument (buffer-file-name))) (set (make-local-variable 'compile-command) (concat "lualatex " (shell-quote-argument (buffer-file-name (lambda nil (set (make-local-variable 'compile-command) (concat "lualatex " (shell-quote-argument (buffer-file-name)() run-hooks(change-major-mode-after-body-hook text-mode-hook tex-mode-hook latex-mode-hook) apply(run-hooks (change-major-mode-after-body-hook text-mode-hook tex-mode-hook latex-mode-hook)) run-mode-hooks(latex-mode-hook) latex-mode() funcall(latex-mode) (progn (funcall lang-mode) (insert code) (org-font-lock-ensure) (save-excursion (let ((beg (point-min)) (end (point-max))) (goto-char beg) (while (progn (end-of-line) (< (point) end)) (put-text-property (point) (1+ (point)) 'face nil) (forward-char 1 (org-src-mode) (set-buffer-modified-p nil) (let ((org-html-htmlize-output-type output-type) (org-html-htmlize-font-prefix font-prefix)) (org-html-htmlize-region-for-paste (point-min) (point-max (unwind-protect (progn (funcall lang-mode) (insert code) (org-font-lock-ensure) (save-excursion (let ((beg (point-min)) (end (point-max))) (goto-char beg) (while (progn (end-of-line) (< (point) end)) (put-text-property (point) (1+ (point)) 'face nil) (forward-char 1 (org-src-mode) (set-buffer-modified-p nil) (let ((org-html-htmlize-output-type output-type) (org-html-htmlize-font-prefix font-prefix)) (org-html-htmlize-region-for-paste (point-min) (point-max (and (buffer-name temp-buffer) (kill-buffer temp-buffer))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (funcall lang-mode) (insert code) (org-font-lock-ensure) (save-excursion (let ((beg (point-min)) (end (point-max))) (goto-char beg) (while (progn (end-of-line) (< ... end)) (put-text-property (point) (1+ ...) 'face nil) (forward-char 1 (org-src-mode) (set-buffer-modified-p nil) (let ((org-html-htmlize-output-type output-type) (org-html-htmlize-font-prefix font-prefix)) (org-html-htmlize-region-for-paste (point-min) (point-max (and (buffer-name temp-buffer) (kill-buffer temp-buffer (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (funcall lang-mode) (insert code) (org-font-lock-ensure) (save-excursion (let ((beg ...) (end ...)) (goto-char beg) (while (progn ... ...) (put-text-property ... ... ... nil) (forward-char 1 (org-src-mode) (set-buffer-modified-p nil) (let ((org-html-htmlize-output-type output-type) (org-html-htmlize-font-prefix font-prefix)) (org-html-htmlize-region-for-paste (point-min) (point-max (and (buffer-name temp-buffer) (kill-buffer temp-buffer) (let ((output-type org-html-htmlize-output-type) (font-prefix org-html-htmlize-font-prefix) (inhibit-read-only t)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (funcall lang-mode) (insert code) (org-font-lock-ensure) (save-excursion (let (... ...) (goto-char beg) (while ... ... ...))) (org-src-mode) (set-buffer-modified-p nil) (let ((org-html-htmlize-output-type output-type) (org-html-htmlize-font-prefix font-prefix)) (org-html-htmlize-region-for-paste (point-min) (point-max (and (buffer-name temp-buffer) (kill-buffer temp-buffer)) (setq code (let ((output-type org-html-htmlize-output-type) (font-prefix org-html-htmlize-font-prefix) (inhibit-read-only t)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (funcall lang-mode) (insert code) (org-font-lock-ensure) (save-excursion (let ... ... ...)) (org-src-mode) (set-buffer-modified-p nil) (let (... ...) (org-html-htmlize-region-for-paste ... ...))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))) (cond ((not (functionp lang-mode)) (org-html-encode-plain-text code)) (t (setq code (let ((output-type org-html-htmlize-output-type) (font-prefix org-html-htmlize-font-prefix) (inhibit-read-only t)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ... ..
Re: [BUG] Elisp error when exporting citation [9.5 (release_9.5-104-g2b1fc6 @ /home/quintus/.emacs.d/org-mode/lisp/)]
Am Samstag, dem 30. Oktober 2021 schrieb Marvin Gülker: > trying to export the following org-document results in an Elisp error: > > #+TITLE: Test > #+AUTHOR: Testauthor > #+LANGUAGE: de > #+bibliography: /tmp/mwe/mwe.bib > #+cite_export: csl /tmp/mwe/juristische-schulung.csl > > Test [cite:raubenheimer1996dongle p. 76; /Dreier/, in: @ds2018urhg § 69d > Rn. 10] It turns out my cite command lacks an @ before `raubenheimer1996dongle'. With the @ it does not error. I leave it to the org maintainers to decide whether the resulting error should be more human-readable or not. However, if exported to LaTeX the italic on the name `Dreier' comes out wrong: { Dreier}, in: Dreier/Schulze The braces are included literally in the PDF, with the first brace being italicised. Exporting to HTML applies the italic correctly. -quintus -- Dipl.-Jur. M. Gülker | https://mg.guelker.eu | PGP: Siehe Webseite Passau, Deutschland | kont...@guelker.eu| O<
[BUG] Elisp error when exporting citation [9.5 (release_9.5-104-g2b1fc6 @ /home/quintus/.emacs.d/org-mode/lisp/)]
Remember to cover the basics, that is, what you expected to happen and what in fact did happen. You don't know how to make a good report? See https://orgmode.org/manual/Feedback.html#Feedback Your bug report will be posted to the Org mailing list. Dear all, trying to export the following org-document results in an Elisp error: #+TITLE: Test #+AUTHOR: Testauthor #+LANGUAGE: de #+bibliography: /tmp/mwe/mwe.bib #+cite_export: csl /tmp/mwe/juristische-schulung.csl Test [cite:raubenheimer1996dongle p. 76; /Dreier/, in: @ds2018urhg § 69d Rn. 10] In case you wonder why there's a name in the prefix for @ds2018urhg: another speciality of German judicial citations. We have a special kind of literature called commentaries. In these, a specific law's articles are explained one by one, where different authors comment on different articles. In the above example, Mr. Dreier comments § 69d of the German Copyright Act (UrhG). Still, the entire commentary is to be cited as one work. Each footnote is prefixed with the (typically italicised) name of the person commenting the specific article, resulting in the above cite command. The exported footnote should have looked like this: Raubenheimer, CR 1996, 69, 76; Dreier, in: Dreier/Schulze (Hrsg.), UrhG, 6. Aufl. 2018 This is mwe.bib: @Article{raubenheimer1996dongle, author = {Andreas Raubenheimer}, title= {Beseitigung/Umgehung eines technischen Programmschutzes nach UrhG und UWG}, journaltitle = {Computer und Recht}, shortjournal = {CR}, year = {1996}, pages = {69-79}, langid= {german}} @commentary{ds2018urhg, title = "Urheberrechtsgesetz", shorttitle = "UrhG", editor = "Thomas Dreier and Gernot Schulze", edition = "6", year = "2018", publisher = "C.H. Beck", location = "München" } juristische-schulung.csl is https://github.com/citation-style-language/styles/raw/e22b8a566bad9b4c7f52720f60dd875057a5d210/juristische-schulung.csl I use Org mode version 9.5 (release_9.5-104-g2b1fc6 @ /home/quintus/.emacs.d/org-mode/lisp/). Citeproc.el is at 34e66583d95a8d80fb5b9f2960f3382ca0e6d3ab. The following error is produced when exporting to HTML (C-c C-e h o): Debugger entered--Lisp error: (wrong-type-argument plistp (prefix . #("Dreier, in:" 3 9 (:parent (italic (:begin 179 :end 187 :contents-begin 180 :contents-end 186 :post-blank 0 :parent (citation-reference (:key "ds2018urhg" :begin 178 :end 217 :post-blank 0 :prefix ... :suffix ... :parent ...))) #("Dreier" 0 6 (:parent #7 13 18 (:parent (citation-reference (:key "ds2018urhg" :begin 178 :end 217 :post-blank 0 :prefix (#(" " 0 1 ...) (italic ... ...) #(", in: " 0 6 ...)) :suffix (#(" § 69d Rn. 10" 0 13 ...)) :parent (citation (:style nil :begin 143 :post-blank 0 :end 218 :prefix ... :contents-begin 178 :contents-end 217 :parent ...) #7))) plist-put((prefix . #("Dreier, in:" 3 9 (:parent (italic (:begin 179 :end 187 :contents-begin 180 :contents-end 186 :post-blank 0 :parent (citation-reference (:key "ds2018urhg" :begin 178 :end 217 :post-blank 0 :prefix ... :suffix ... :parent ...))) #("Dreier" 0 6 (:parent #5 13 18 (:parent (citation-reference (:key "ds2018urhg" :begin 178 :end 217 :post-blank 0 :prefix (#(" " 0 1 ...) (italic ... ...) #(", in: " 0 6 ...)) :suffix (#(" § 69d Rn. 10" 0 13 ...)) :parent (citation (:style nil :begin 143 :post-blank 0 :end 218 :prefix ... :contents-begin 178 :contents-end 217 :parent ...) #5)) :prefix (#("raubenheimer1996dongle p. 76" 0 28 (:parent (citation (:style nil :begin 143 :post-blank 0 :end 218 :prefix (#4) :contents-begin 178 :contents-end 217 :parent (paragraph (:begin 138 :end 219 :contents-begin 138 :contents-end 219 :post-blank 0 :post-affiliated 138 :parent ...) #("Test " 0 5 ...) #7 #("\n" 0 1 ...))) (citation-reference (:key "ds2018urhg" :begin 178 :end 217 :post-blank 0 :prefix (... ... ...) :suffix (...) :parent #7))) (setcar (cdr element) (plist-put (nth 1 element) property value)) (if (stringp element) (org-add-props element nil property value) (setcar (cdr element) (plist-put (nth 1 element) property value)) element) org-element-put-property(((id . "ds2018urhg") (prefix . #("Dreier, in:" 3 9 (:parent (italic (:begin 179 :end 187 :contents-begin 180 :contents-end 186 :post-blank 0 :parent (citation-reference ...)) #("Dreier" 0 6 (:parent #7 13 18 (:parent (citation-reference (:key "ds2018urhg" :begin 178 :end 217 :post-blank 0 :prefix (... ... ...) :suffix (...) :parent (citation ... #7)) (suffix) (locator . #("69d Rn. 10" 0 10 (:parent (citation-reference (:key "ds2018urhg" :begin 178 :end 217 :post-blank 0 :prefix (... ... ...) :suffix (...) :parent (citation ... #9)) (label . "section") (location . #(" § 69d Rn. 10" 0 13 (:parent (citation-reference (:key "ds2018ur
[BUG] Citations: exporting with csl crashes [9.5 (9.5-g0a86ad @ /home/quintus/.emacs.d/elpa/org-9.5/)]
Remember to cover the basics, that is, what you expected to happen and what in fact did happen. You don't know how to make a good report? See https://orgmode.org/manual/Feedback.html#Feedback Your bug report will be posted to the Org mailing list. Hi there, I've been trying to use the new citation facilities in the just-released 9.5 version of org for a simple test document with my preferred CSL style (the one usually used in German law discipline in one way or another), but did not have luck with it so far. That being said, exporting with the default "bare" citation processor appears to be fine. With the "csl" processor, I receive this error when I export to LaTeX with `org-latex-export-as-latex': Debugger entered--Lisp error: (wrong-type-argument sequencep splice) citeproc-rt--cquote-pstns-1(splice 15) citeproc-rt--cquote-pstns-1((nil (nil (nil (((font-style . "italic")) (((rendered-var . author) (rendered-names)) ((...) (nil "Goldsmith")) "/" ((...) (nil "Wu") ", ") splice (nil ", " (((rendered-var . locator)) #("83" 0 2 (:parent (citation-reference (:key "goldsmith-wu2008netctrl" :begin 162 :end 192 :post-blank 0 :suffix ... :parent ...))) 1) citeproc-rt--cquote-pstns((nil (nil (nil (((font-style . "italic")) (((rendered-var . author) (rendered-names)) ((...) (nil "Goldsmith")) "/" ((...) (nil "Wu") ", ") splice (nil ", " (((rendered-var . locator)) #("83" 0 2 (:parent (citation-reference (:key "goldsmith-wu2008netctrl" :begin 162 :end 192 :post-blank 0 :suffix ... :parent ... citeproc-rt-punct-in-quote((nil (nil (nil (((font-style . "italic")) (((rendered-var . author) (rendered-names)) ((...) (nil "Goldsmith")) "/" ((...) (nil "Wu") ", ") splice (nil ", " (((rendered-var . locator)) #("83" 0 2 (:parent (citation-reference (:key "goldsmith-wu2008netctrl" :begin 162 :end 192 :post-blank 0 :suffix ... :parent ... citeproc-rt-finalize((nil (nil (nil (((font-style . "italic")) (((rendered-var . author) (rendered-names)) ((...) (nil "Goldsmith")) "/" ((...) (nil "Wu") ", ") splice (nil ", " (((rendered-var . locator)) #("83" 0 2 (:parent (citation-reference (:key "goldsmith-wu2008netctrl" :begin 162 :end 192 :post-blank 0 :suffix ... :parent ...))) t) citeproc-citation--render(#s(citeproc-citation :cites ((... ... ... ... ... ... ... ...)) :note-index nil :mode nil :suppress-affixes nil :capitalize-first nil :ignore-et-al nil :grouped nil) #s(citeproc-proc :style #s(citeproc-style :info (... ... ... ... ... ... ... ... ... ... ... ... ...) :opts (... ... ... ... ...) :bib-opts (... ... ...) :bib-sort (lambda ... ...) :bib-sort-orders (t t) :bib-layout (lambda ... ...) :cite-opts (... ... ...) :cite-note t :cite-sort nil :cite-sort-orders nil :cite-layout (lambda ... ...) :cite-layout-attrs (...) :locale-opts (... ...) :macros (... ... ... ... ... ... ... ... ...) :terms (... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) :uses-ys-var nil :date-text (... ... ... ...) :date-numeric (... ... ... ...)) :getter #f(compiled-function (itemids) #) :itemdata # :citations #s(queue :head (...) :tail (...)) :names # :finalized t) t) citeproc-citation--render-formatted-citation(#s(citeproc-citation :cites ((... ... ... ... ... ... ... ...)) :note-index nil :mode nil :suppress-affixes nil :capitalize-first nil :ignore-et-al nil :grouped nil) #s(citeproc-proc :style #s(citeproc-style :info (... ... ... ... ... ... ... ... ... ... ... ... ...) :opts (... ... ... ... ...) :bib-opts (... ... ...) :bib-sort (lambda ... ...) :bib-sort-orders (t t) :bib-layout (lambda ... ...) :cite-opts (... ... ...) :cite-note t :cite-sort nil :cite-sort-orders nil :cite-layout (lambda ... ...) :cite-layout-attrs (...) :locale-opts (... ...) :macros (... ... ... ... ... ... ... ... ...) :terms (... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) :uses-ys-var nil :date-text (... ... ... ...) :date-numeric (... ... ... ...)) :getter #f(compiled-function (itemids) #) :itemdata # :citations #s(queue :head (...) :tail (...)) :names # :finalized t) latex t) #f(compiled-function (it) #)(#s(citeproc-citation :cites (((position . first) (itd . #s(citeproc-itemdata :varvals ((citation-number . "1") (label . "page") (publisher-place . "New York") (publisher . "Oxford University Press") (title . "Who Controls the Internet?") (issued ...) (type . "book") (author ... ...) (ISBN . "978-0-19-534064-8")) :rawcite nil :rc-uptodate nil :sort-key ("Goldsmith, Jack/ Wu, Tim" "7008") :occurred-before t :disamb-pos first)) (id . "goldsmith-wu2008netctrl") (prefix) (suffix) (locator . #("83" 0 2 (:parent (citation-reference ... (label . "page") (location . #("p. 83" 0 5 (:parent (citation-reference ...)) :note-index