From d732fecd4ce2cd14786859c9c2f74f5666f3204e Mon Sep 17 00:00:00 2001 From: Ryan Kavanagh Date: Wed, 12 Aug 2020 14:17:36 -0400 Subject: Initial import of EPTCS biblatex style --- LICENSE | 416 ++++++++++++++++++++++++++ contrived.bib | 398 +++++++++++++++++++++++++ eptcs.bbx | 935 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ eptcs.cbx | 5 + eptcs.cls | 263 +++++++++++++++++ example.tex | 35 +++ real.bib | 574 +++++++++++++++++++++++++++++++++++ 7 files changed, 2626 insertions(+) create mode 100644 LICENSE create mode 100644 contrived.bib create mode 100644 eptcs.bbx create mode 100644 eptcs.cbx create mode 100644 eptcs.cls create mode 100644 example.tex create mode 100644 real.bib diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..2244313 --- /dev/null +++ b/LICENSE @@ -0,0 +1,416 @@ +The LaTeX Project Public License +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- + +LPPL Version 1.3c 2008-05-04 + +Copyright 1999 2002-2008 LaTeX3 Project + Everyone is allowed to distribute verbatim copies of this + license document, but modification of it is not allowed. + + +PREAMBLE +======== + +The LaTeX Project Public License (LPPL) is the primary license under +which the LaTeX kernel and the base LaTeX packages are distributed. + +You may use this license for any work of which you hold the copyright +and which you wish to distribute. This license may be particularly +suitable if your work is TeX-related (such as a LaTeX package), but +it is written in such a way that you can use it even if your work is +unrelated to TeX. + +The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE', +below, gives instructions, examples, and recommendations for authors +who are considering distributing their works under this license. + +This license gives conditions under which a work may be distributed +and modified, as well as conditions under which modified versions of +that work may be distributed. + +We, the LaTeX3 Project, believe that the conditions below give you +the freedom to make and distribute modified versions of your work +that conform with whatever technical specifications you wish while +maintaining the availability, integrity, and reliability of +that work. If you do not see how to achieve your goal while +meeting these conditions, then read the document `cfgguide.tex' +and `modguide.tex' in the base LaTeX distribution for suggestions. + + +DEFINITIONS +=========== + +In this license document the following terms are used: + + `Work' + Any work being distributed under this License. + + `Derived Work' + Any work that under any applicable law is derived from the Work. + + `Modification' + Any procedure that produces a Derived Work under any applicable + law -- for example, the production of a file containing an + original file associated with the Work or a significant portion of + such a file, either verbatim or with modifications and/or + translated into another language. + + `Modify' + To apply any procedure that produces a Derived Work under any + applicable law. + + `Distribution' + Making copies of the Work available from one person to another, in + whole or in part. Distribution includes (but is not limited to) + making any electronic components of the Work accessible by + file transfer protocols such as FTP or HTTP or by shared file + systems such as Sun's Network File System (NFS). + + `Compiled Work' + A version of the Work that has been processed into a form where it + is directly usable on a computer system. This processing may + include using installation facilities provided by the Work, + transformations of the Work, copying of components of the Work, or + other activities. Note that modification of any installation + facilities provided by the Work constitutes modification of the Work. + + `Current Maintainer' + A person or persons nominated as such within the Work. If there is + no such explicit nomination then it is the `Copyright Holder' under + any applicable law. + + `Base Interpreter' + A program or process that is normally needed for running or + interpreting a part or the whole of the Work. + + A Base Interpreter may depend on external components but these + are not considered part of the Base Interpreter provided that each + external component clearly identifies itself whenever it is used + interactively. Unless explicitly specified when applying the + license to the Work, the only applicable Base Interpreter is a + `LaTeX-Format' or in the case of files belonging to the + `LaTeX-format' a program implementing the `TeX language'. + + + +CONDITIONS ON DISTRIBUTION AND MODIFICATION +=========================================== + +1. Activities other than distribution and/or modification of the Work +are not covered by this license; they are outside its scope. In +particular, the act of running the Work is not restricted and no +requirements are made concerning any offers of support for the Work. + +2. You may distribute a complete, unmodified copy of the Work as you +received it. Distribution of only part of the Work is considered +modification of the Work, and no right to distribute such a Derived +Work may be assumed under the terms of this clause. + +3. You may distribute a Compiled Work that has been generated from a +complete, unmodified copy of the Work as distributed under Clause 2 +above, as long as that Compiled Work is distributed in such a way that +the recipients may install the Compiled Work on their system exactly +as it would have been installed if they generated a Compiled Work +directly from the Work. + +4. If you are the Current Maintainer of the Work, you may, without +restriction, modify the Work, thus creating a Derived Work. You may +also distribute the Derived Work without restriction, including +Compiled Works generated from the Derived Work. Derived Works +distributed in this manner by the Current Maintainer are considered to +be updated versions of the Work. + +5. If you are not the Current Maintainer of the Work, you may modify +your copy of the Work, thus creating a Derived Work based on the Work, +and compile this Derived Work, thus creating a Compiled Work based on +the Derived Work. + +6. If you are not the Current Maintainer of the Work, you may +distribute a Derived Work provided the following conditions are met +for every component of the Work unless that component clearly states +in the copyright notice that it is exempt from that condition. Only +the Current Maintainer is allowed to add such statements of exemption +to a component of the Work. + + a. If a component of this Derived Work can be a direct replacement + for a component of the Work when that component is used with the + Base Interpreter, then, wherever this component of the Work + identifies itself to the user when used interactively with that + Base Interpreter, the replacement component of this Derived Work + clearly and unambiguously identifies itself as a modified version + of this component to the user when used interactively with that + Base Interpreter. + + b. Every component of the Derived Work contains prominent notices + detailing the nature of the changes to that component, or a + prominent reference to another file that is distributed as part + of the Derived Work and that contains a complete and accurate log + of the changes. + + c. No information in the Derived Work implies that any persons, + including (but not limited to) the authors of the original version + of the Work, provide any support, including (but not limited to) + the reporting and handling of errors, to recipients of the + Derived Work unless those persons have stated explicitly that + they do provide such support for the Derived Work. + + d. You distribute at least one of the following with the Derived Work: + + 1. A complete, unmodified copy of the Work; + if your distribution of a modified component is made by + offering access to copy the modified component from a + designated place, then offering equivalent access to copy + the Work from the same or some similar place meets this + condition, even though third parties are not compelled to + copy the Work along with the modified component; + + 2. Information that is sufficient to obtain a complete, + unmodified copy of the Work. + +7. If you are not the Current Maintainer of the Work, you may +distribute a Compiled Work generated from a Derived Work, as long as +the Derived Work is distributed to all recipients of the Compiled +Work, and as long as the conditions of Clause 6, above, are met with +regard to the Derived Work. + +8. The conditions above are not intended to prohibit, and hence do not +apply to, the modification, by any method, of any component so that it +becomes identical to an updated version of that component of the Work as +it is distributed by the Current Maintainer under Clause 4, above. + +9. Distribution of the Work or any Derived Work in an alternative +format, where the Work or that Derived Work (in whole or in part) is +then produced by applying some process to that format, does not relax or +nullify any sections of this license as they pertain to the results of +applying that process. + +10. a. A Derived Work may be distributed under a different license + provided that license itself honors the conditions listed in + Clause 6 above, in regard to the Work, though it does not have + to honor the rest of the conditions in this license. + + b. If a Derived Work is distributed under a different license, that + Derived Work must provide sufficient documentation as part of + itself to allow each recipient of that Derived Work to honor the + restrictions in Clause 6 above, concerning changes from the Work. + +11. This license places no restrictions on works that are unrelated to +the Work, nor does this license place any restrictions on aggregating +such works with the Work by any means. + +12. Nothing in this license is intended to, or may be used to, prevent +complete compliance by all parties with all applicable laws. + + +NO WARRANTY +=========== + +There is no warranty for the Work. Except when otherwise stated in +writing, the Copyright Holder provides the Work `as is', without +warranty of any kind, either expressed or implied, including, but not +limited to, the implied warranties of merchantability and fitness for a +particular purpose. The entire risk as to the quality and performance +of the Work is with you. Should the Work prove defective, you assume +the cost of all necessary servicing, repair, or correction. + +In no event unless required by applicable law or agreed to in writing +will The Copyright Holder, or any author named in the components of the +Work, or any other party who may distribute and/or modify the Work as +permitted above, be liable to you for damages, including any general, +special, incidental or consequential damages arising out of any use of +the Work or out of inability to use the Work (including, but not limited +to, loss of data, data being rendered inaccurate, or losses sustained by +anyone as a result of any failure of the Work to operate with any other +programs), even if the Copyright Holder or said author or said other +party has been advised of the possibility of such damages. + + +MAINTENANCE OF THE WORK +======================= + +The Work has the status `author-maintained' if the Copyright Holder +explicitly and prominently states near the primary copyright notice in +the Work that the Work can only be maintained by the Copyright Holder +or simply that it is `author-maintained'. + +The Work has the status `maintained' if there is a Current Maintainer +who has indicated in the Work that they are willing to receive error +reports for the Work (for example, by supplying a valid e-mail +address). It is not required for the Current Maintainer to acknowledge +or act upon these error reports. + +The Work changes from status `maintained' to `unmaintained' if there +is no Current Maintainer, or the person stated to be Current +Maintainer of the work cannot be reached through the indicated means +of communication for a period of six months, and there are no other +significant signs of active maintenance. + +You can become the Current Maintainer of the Work by agreement with +any existing Current Maintainer to take over this role. + +If the Work is unmaintained, you can become the Current Maintainer of +the Work through the following steps: + + 1. Make a reasonable attempt to trace the Current Maintainer (and + the Copyright Holder, if the two differ) through the means of + an Internet or similar search. + + 2. If this search is successful, then enquire whether the Work + is still maintained. + + a. If it is being maintained, then ask the Current Maintainer + to update their communication data within one month. + + b. If the search is unsuccessful or no action to resume active + maintenance is taken by the Current Maintainer, then announce + within the pertinent community your intention to take over + maintenance. (If the Work is a LaTeX work, this could be + done, for example, by posting to comp.text.tex.) + + 3a. If the Current Maintainer is reachable and agrees to pass + maintenance of the Work to you, then this takes effect + immediately upon announcement. + + b. If the Current Maintainer is not reachable and the Copyright + Holder agrees that maintenance of the Work be passed to you, + then this takes effect immediately upon announcement. + + 4. If you make an `intention announcement' as described in 2b. above + and after three months your intention is challenged neither by + the Current Maintainer nor by the Copyright Holder nor by other + people, then you may arrange for the Work to be changed so as + to name you as the (new) Current Maintainer. + + 5. If the previously unreachable Current Maintainer becomes + reachable once more within three months of a change completed + under the terms of 3b) or 4), then that Current Maintainer must + become or remain the Current Maintainer upon request provided + they then update their communication data within one month. + +A change in the Current Maintainer does not, of itself, alter the fact +that the Work is distributed under the LPPL license. + +If you become the Current Maintainer of the Work, you should +immediately provide, within the Work, a prominent and unambiguous +statement of your status as Current Maintainer. You should also +announce your new status to the same pertinent community as +in 2b) above. + + +WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE +====================================================== + +This section contains important instructions, examples, and +recommendations for authors who are considering distributing their +works under this license. These authors are addressed as `you' in +this section. + +Choosing This License or Another License +---------------------------------------- + +If for any part of your work you want or need to use *distribution* +conditions that differ significantly from those in this license, then +do not refer to this license anywhere in your work but, instead, +distribute your work under a different license. You may use the text +of this license as a model for your own license, but your license +should not refer to the LPPL or otherwise give the impression that +your work is distributed under the LPPL. + +The document `modguide.tex' in the base LaTeX distribution explains +the motivation behind the conditions of this license. It explains, +for example, why distributing LaTeX under the GNU General Public +License (GPL) was considered inappropriate. Even if your work is +unrelated to LaTeX, the discussion in `modguide.tex' may still be +relevant, and authors intending to distribute their works under any +license are encouraged to read it. + +A Recommendation on Modification Without Distribution +----------------------------------------------------- + +It is wise never to modify a component of the Work, even for your own +personal use, without also meeting the above conditions for +distributing the modified component. While you might intend that such +modifications will never be distributed, often this will happen by +accident -- you may forget that you have modified that component; or +it may not occur to you when allowing others to access the modified +version that you are thus distributing it and violating the conditions +of this license in ways that could have legal implications and, worse, +cause problems for the community. It is therefore usually in your +best interest to keep your copy of the Work identical with the public +one. Many works provide ways to control the behavior of that work +without altering any of its licensed components. + +How to Use This License +----------------------- + +To use this license, place in each of the components of your work both +an explicit copyright notice including your name and the year the work +was authored and/or last substantially modified. Include also a +statement that the distribution and/or modification of that +component is constrained by the conditions in this license. + +Here is an example of such a notice and statement: + + %% pig.dtx + %% Copyright 2005 M. Y. Name + % + % This work may be distributed and/or modified under the + % conditions of the LaTeX Project Public License, either version 1.3 + % of this license or (at your option) any later version. + % The latest version of this license is in + % http://www.latex-project.org/lppl.txt + % and version 1.3 or later is part of all distributions of LaTeX + % version 2005/12/01 or later. + % + % This work has the LPPL maintenance status `maintained'. + % + % The Current Maintainer of this work is M. Y. Name. + % + % This work consists of the files pig.dtx and pig.ins + % and the derived file pig.sty. + +Given such a notice and statement in a file, the conditions +given in this license document would apply, with the `Work' referring +to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being +generated from `pig.dtx' using `pig.ins'), the `Base Interpreter' +referring to any `LaTeX-Format', and both `Copyright Holder' and +`Current Maintainer' referring to the person `M. Y. Name'. + +If you do not want the Maintenance section of LPPL to apply to your +Work, change `maintained' above into `author-maintained'. +However, we recommend that you use `maintained', as the Maintenance +section was added in order to ensure that your Work remains useful to +the community even when you can no longer maintain and support it +yourself. + +Derived Works That Are Not Replacements +--------------------------------------- + +Several clauses of the LPPL specify means to provide reliability and +stability for the user community. They therefore concern themselves +with the case that a Derived Work is intended to be used as a +(compatible or incompatible) replacement of the original Work. If +this is not the case (e.g., if a few lines of code are reused for a +completely different task), then clauses 6b and 6d shall not apply. + + +Important Recommendations +------------------------- + + Defining What Constitutes the Work + + The LPPL requires that distributions of the Work contain all the + files of the Work. It is therefore important that you provide a + way for the licensee to determine which files constitute the Work. + This could, for example, be achieved by explicitly listing all the + files of the Work near the copyright notice of each file or by + using a line such as: + + % This work consists of all files listed in manifest.txt. + + in that place. In the absence of an unequivocal list it might be + impossible for the licensee to determine what is considered by you + to comprise the Work and, in such a case, the licensee would be + entitled to make reasonable conjectures as to which files comprise + the Work. + diff --git a/contrived.bib b/contrived.bib new file mode 100644 index 0000000..099f7a0 --- /dev/null +++ b/contrived.bib @@ -0,0 +1,398 @@ +@Article{article_1992:_artic_arxiv_with, + author = {Article, First}, + title = {Article on Arxiv With Misc Info and {EID}}, + volume = 9, + number = 10, + doi = {10.4204/EPTCS}, + date = 1992, + eid = 15, + eprint = {1009.3306}, + eprinttype = {arxiv}, + issn = {5207-2032}, + issuetitle = {Special Issue on Articles}, + journaltitle = {Journal Title}, + note = {We note that this entry includes a link to the arxiv + preprint}, + pagetotal = 17, +} + +@Article{article_1992:_artic_with_doi, + author = {Article, First and Article, Second and Article, + Third}, + title = {Article With {DOI} Missing But {ISSN} Available}, + volume = 9, + number = 10, + pages = {15-20}, + date = 1992, + issn = {5207-2032}, + journaltitle = {Journal Title}, + note = {We note that this entry doesn't have a doi, so it + prints the issn instead}, +} + +@Article{article_1992:_artic_with_eid_paget, + author = {Article, First and Article, Second and Article, + Third}, + title = {Article With {EID} and Pagetotal}, + volume = 9, + number = 10, + doi = {10.4204/EPTCS}, + date = 1992, + eid = 15, + issn = {5207-2032}, + journaltitle = {Journal Title}, + note = {We note that we include the pagetotal for the + article, because it has an eid instead of a page + range}, + pagetotal = 20, +} + +@Article{article_1992:_artic_with_page_range, + author = {Article, First and Article, Second and Article, + Third}, + title = {Article With a Page Range}, + volume = 9, + number = 10, + pages = {52-100}, + doi = {10.4204/EPTCS}, + date = 1992, + issn = {5207-2032}, + journaltitle = {Journal Title}, +} + +@Article{article_1992:_artic_without_doi_but_arxiv, + author = {Article, First and Article, Second and Article, + Third}, + title = {Article Without {DOI} But on Arxiv}, + volume = 9, + number = 10, + date = 1992, + eid = 15, + eprint = {1009.3306}, + eprinttype = {arxiv}, + issn = {5207-2032}, + journaltitle = {Journal Title}, + pagetotal = 20, +} + +@Article{article_2020:_artic, + author = {Article, First}, + title = {An Article}, + volume = 5, + number = 2, + doi = {10.4204/EPTCS}, + url = {http://example.org}, + date = {2020-05-21}, + eid = {EID}, + issn = {2020-0523}, + issuesubtitle ={To Biblatex and Beyond}, + issuetitle = {Special Issue on Bibliographies}, + journalsubtitle ={A Journal Subtitle}, + journaltitle = {A Journal Title}, + note = {We note that this rather complete article entry that + doesn't print the issn because the doi is available}, + pagetotal = 23, + series = {newseries}, + subtitle = {Subtitled}, + urldate = {2020-05-20}, +} + +@Book{book_1932:_book_with_doi, + author = {Book, First}, + title = {Book With {DOI} Which Hides {ISBN}}, + publisher = {Publisher}, + date = {1932-02-03}, + doi = {10.4204/EPTCS}, + isbn = {0-3804-6167-6}, + location = {City}, + note = {We don't print the isbn because the doi is + available}, + pagetotal = 502, +} + +@InBook{book_1932:_my_inbook_chapt, + author = {Book, First}, + chapter = 3, + crossref = {book_1932:_book_with_page_total_isbn}, + date = 1932, + pages = {52-65}, + title = {My Inbook Chapter}, +} + +@Book{book_1932:_book_with_page_total_isbn, + author = {Book, First}, + title = {Book With Page Total and {ISBN}}, + publisher = {Publisher}, + date = {1932-02-03}, + isbn = {0-3804-6167-6}, + location = {City}, + pagetotal = 502, +} + +@Book{book_1972:_trans_book, + author = {Book, First}, + title = {Translated Book}, + publisher = {Publisher}, + date = 1972, + doi = {10.4204/EPTCS}, + isbn = {0-3804-6167-6}, + language = {english}, + note = {Though standard biblatex styles provide + language/translator information, we have omited it + for conciseness}, + origdate = 1970, + origlanguage = {french}, + origpublisher ={Maison d'{\'e}dition}, + origtitle = {Un Livre quelconque}, + pagetotal = {x+1527~\ppno}, + translator = {Leloup, Jean}, +} + +@Inbook{2055:_inbook, + chapter = 2, + crossref = {book_2020:_first_volum}, + date = 2020, + pages = {20-22}, + title = {Inbook of volume 1 of a multivolume book}, +} + +@Book{book_2020:_first_volum, + author = {Book, First}, + title = {A First Volume}, + publisher = {Publisher}, + crossref = {book_2020:_multiv_book}, + date = {2020-08-12}, + edition = 2, + isbn = {0-3804-6167-6}, + location = {Location}, + number = 15, + series = {Series}, + volume = 1, +} + +@Book{book_2020:_secon_volum, + author = {Book, First}, + title = {A Second Volume}, + publisher = {Publisher}, + crossref = {book_2020:_multiv_book}, + date = {2020-08-12}, + edition = 2, + isbn = {0-3804-6167-6}, + location = {Location}, + number = 15, + series = {Series}, + volume = 2, +} + +@MvBook{book_2020:_multiv_book, + author = {Book, First}, + date = {2020-08-12}, + edition = 2, + isbn = {0-3804-6167-6}, + location = {Location}, + number = 15, + publisher = {Publisher}, + related = {book_2020:_first_volum,book_2020:_secon_volum}, + relatedtype = {multivolume}, + series = {Series}, + title = {A Multivolume Book}, + volumes = 2, +} + +@InBook{book_2055:_my_inbook_chapt, + author = {Book, First}, + chapter = 3, + crossref = {book_2055:_book_series}, + date = 2055, + pages = {52-65}, + title = {My Inbook Chapter In A Book From A Series}, +} + +@Book{book_2055:_book_series, + author = {Book, First}, + title = {Book in a Series}, + publisher = {Publisher}, + date = {2055-02-03}, + edition = 2, + location = {City}, + note = {Note that we didn't provide an isbn here}, + number = 5, + series = {My Book Series}, +} + +@Book{book_book_2055:_book_with_minim_infor, + author = {Book, First and Book, Second}, + title = {Book With Minimal Information}, + publisher = {Publisher}, + date = {2055-02-03}, + location = {City}, +} + +@Collection{collection_2020:_my_collec, + date = 2020, + doi = {10.4204/EPTCS}, + edition = 2, + editor = {Collection, Editor}, + location = {Location}, + number = 2, + pagetotal = 2002, + publisher = {Publisher}, + series = {My Collection Series}, + title = {My Collection}, + volumes = 2, +} + +@Manual{manual_2020:_manual, + author = {Manual, Author}, + date = {2020-05-03}, + edition = 3, + isbn = {0-262-22040-7}, + location = {Manualville}, + number = 52, + organization = {Manuals Org}, + pagetotal = 300, + publisher = {Manual Publisher}, + series = {My Manual Series}, + subtitle = {A Subtitle}, + title = {A Manual}, + translator = {Leloup, Jean}, + type = {Software manual}, + version = {2.1503}, +} + +@Misc{misc_2020:_my_misc_entry, + author = {Misc, Author}, + date = {2020-05-05}, + doi = {10.4204/EPTCS}, + howpublished = {Howpublished}, + location = {Location}, + note = {A note}, + title = {My Misc Entry}, + type = {Type}, + url = {https://example.org}, + urldate = {2020-05-30}, + version = 25, +} + +@Online{online_2020:_onlin_resour, + author = {Online, Author}, + date = 2020, + note = {Note}, + organization = {Online Organization}, + title = {Online Resource}, + url = {gopher://example.org}, + urldate = {2020-03-00}, + version = {0.1}, +} + +@Patent{patent_1959:_my_first_paten, + author = {Patent, Author}, + date = {1959-01-31}, + holder = {Patent Holder}, + location = {Location}, + note = {A note}, + number = {PN-5303030}, + title = {My First Patent}, + type = {PatentType}, +} + +@Periodical{periodical_2020:_period_title, + date = 2020, + editor = {Periodical, Editor}, + issn = {2020-0523}, + issue = {Summer}, + issuetitle = {Issue Title}, + note = {A note}, + number = 1, + title = {Periodical Title}, + volume = 2, +} + +@Periodical{periodical_2020:_period_title_doi, + date = 2020, + doi = {10.4204/EPTCS}, + editor = {Periodical, Editor}, + issn = {2020-0523}, + issue = {Summer}, + issuetitle = {Issue Title}, + note = {A note}, + number = 1, + title = {Periodical Title with DOI}, + volume = 2, +} + +@Periodical{periodical_2020:_period_without_season, + date = 2020, + editor = {Periodical, Editor}, + issn = {2020-0523}, + issuetitle = {Issue Title}, + note = {A note}, + number = 1, + title = {Periodical Without Season}, + volume = 2, +} + +@InProceedings{inproceedings_2020:_in_confer_proceed, + author = {InProceedings, Author}, + title = {In Conference Proceedings}, + pages = {25-35}, + doi = {10.4204/EPTCS}, + crossref = {proceedings_proceedings_2020:_proceed_title}, + date = {2020-05-05}, + note = {A note}, +} + +@Proceedings{proceedings_proceedings_2020:_proceed_title, + date = {2020-02-02}, + editor = {Proceedings, First and Proceedings, Second}, + eventdate = {2020-05-05}, + eventtitle = {My Conference Name}, + eventtitleaddon ={MCN'20}, + isbn = {0-262-22040-7}, + location = {Location}, + note = {A note}, + number = 53, + pagetotal = {iv+55~\ppno}, + publisher = {Publisher}, + series = {Lecture Notes in Proceedings}, + subtitle = {Proceedings Subtitle}, + title = {Proceedings Title}, + venue = {Conference Location}, + volumes = 2, +} + +@Report{report_2020:_repor_title, + author = {Report, Author}, + date = 2020, + doi = {10.4204/EPTCS}, + institution = {Institution}, + location = {Location}, + note = {A note}, + number = {RR-20}, + pagetotal = 20, + subtitle = {Subtitle}, + title = {Report Title}, + type = {resreport}, +} + +@Thesis{thesis_2020:_my_thesis, + author = {Thesis, Author}, + date = 2020, + doi = {10.4204/EPTCS}, + eprint = {1009.3306}, + eprinttype = {arxiv}, + institution = {Institution}, + location = {Location}, + pagetotal = 200, + title = {My Thesis}, + type = {phdthesis}, +} + +@Unpublished{unpublished_2020:_unpub_work, + author = {Unpublished, Author}, + date = 2020, + howpublished = {Howpublished}, + location = {Location}, + title = {Unpublished Work}, + type = {Type}, +} \ No newline at end of file diff --git a/eptcs.bbx b/eptcs.bbx new file mode 100644 index 0000000..c5e320b --- /dev/null +++ b/eptcs.bbx @@ -0,0 +1,935 @@ +%% Copyright (C) 2020 Ryan Kavanagh +%% +%% Permission is granted to copy, distribute and/or modify this +%% software under the terms of the LaTeX Project Public License +%% (LPPL), version 1.3c. +%% +%% This software is provided 'as is', without warranty of any kind, +%% either expressed or implied, including, but not limited to, the +%% implied warranties of merchantability and fitness for a +%% particular purpose. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainer of this work is Ryan Kavanagh +%% +%% It is derived from bbx/standard.bbx provided by the biblatex package, +%% https://ctan.org/pkg/biblatex?lang=en. The biblatex package is: +%%%%%%%%%%%%%%%%% +%% Copyright (c) 2006-2011 Philipp Lehman. +%% 2012-2017 Philip Kime, Audrey Boruvka, Joseph Wright +%% 2018- Philip Kime, Moritz Wemheuer +%% +%% Permission is granted to copy, distribute and/or modify this +%% software under the terms of the LaTeX Project Public License +%% (LPPL), version 1.3c. +%% +%% This software is provided 'as is', without warranty of any kind, +%% either expressed or implied, including, but not limited to, the +%% implied warranties of merchantability and fitness for a +%% particular purpose. +%%%%%%%%%%%%%%%%% + +%% This style attempts to faithfully reproduce the EPTCS bibliography +%% style described at http://biblio.eptcs.org/ . Some deviations occur +%% where biblatex allows for additional information whose presentation +%% is not specified by the above style, e.g., eprint fields containing +%% references to arXiv papers or pagetotals for papers with EIDs. This +%% style includes some of this extra data in a manner that is (hopefully) +%% visually consistent with the preexisting BibTeX style. Individual +%% changes are documented below. + +\ProvidesFile{eptcs.bbx}[2020/08/12 v0.2 EPTCS biblatex style] +\RequireBiber[3] + +% Requires at least biblatex 3.8 for \DeclareDelimFormat + +% The default style is based off of the "standard" biblatex style +% and uses the numeric-comp citation style. +% \RequireCitationStyle{numeric-comp} +\RequireBibliographyStyle{numeric-comp} + +\ExecuteBibliographyOptions{ + % Do not include months or days in dates + date = year, + % EPTCS style requires printing all author names in + % bibliography. Infinity is 10,000 in TeX. + % Note that we aren't changing the number of authors used + % by citation commands (maxcitenames) which defaults to 3. + maxbibnames = 10000, + % sort by name, year, volume, title + sorting = nyvt, + % do not abbreviate strings like "editor" to "ed." + abbreviate = false, +} + +%% Authors are enumerated as: +% Author 1, Author 2, ... , Author n-1 & Author n +% Only change this in the bibliography. +% Original definition in biblatex.def + +\DeclareDelimFormat[bib,biblist]{finalnamedelim}{% + \addspace\&\addspace} + +% Work titles are italic for articles, books, proceedings, and +% technical reports. So... basically everything +\DeclareFieldFormat*{title}{\mkbibitalic{#1}} + +% Journal titles are "slanted" +\DeclareFieldFormat{journaltitle}{\mkbibemph{#1}} + +% So are series titles (inferred from example.pdf) +\DeclareFieldFormat{series}{\mkbibemph{#1}} + +% In all cases, authors are separated by a space +\DeclareDelimFormat{nameyeardelim}{\addspace} +\DeclareDelimFormat{yeartitledelim}{\addcolon\addspace} + +% In all cases, urls are prefixed with "Available at ". +\DeclareFieldFormat{url}{\printtext{Available at}\space\url{#1}} + +% DOIs are prefixed with "doi: " +\DeclareFieldFormat{doi}{\printtext{doi:}\space\url{#1}} + +% Don't use a colon after "In" +\renewcommand*{\intitlepunct}{\addspace\nopunct} + +% However, separate titles and subtitles by colons +\renewcommand*{\subtitlepunct}{\addcolon\addspace} + +%%%% Per: http://biblio.eptcs.org/ +% For articles in journals: +% Author 1, Author 2, ... , Author n-1 & Author n (year): italics{Title}. slanted{Journalname} volume(number), pp. first page--last page, doi: doi. Available at url. Notes. +% +% For articles in journals with eids instead of page numbers: +% Author 1, Author 2, ... , Author n-1 & Author n (year): italics{Title}. slanted{Journalname} volume(number):eid, doi: doi. Available at url. Notes. +%%%% +% Extensions for extra biblatex data: +% 1. Include journal ISSN if available and +% isbn option is enabled (default: true) and +% doi is not available +% 2. Include related entry information after Notes if available +% and related option is enabled (default: true) +% 3. Include eprint information (e.g., arxiv) between doi and +% url if available. +% 4. Include the pagetotal after the eid. + +\DeclareBibliographyDriver{article}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author}% + \setunit{\printdelim{nameyeardelim}}\newblock + \printtext[parens]{% + \usebibmacro{date}% + }% + \setunit{\printdelim{yeartitledelim}}\newblock + \usebibmacro{title}% + \newunit\newblock + \usebibmacro{journal+issuetitle}% + \setunit{\addcomma\addspace} + \usebibmacro{doi/issn+eprint+url}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \newunit\newblock + \printfield{note}% + \usebibmacro{finentry}} + +%%%% Per: http://biblio.eptcs.org/ +% For books, proceedings or parts thereof: +% Author 1, Author 2, ... , Author n-1 & Author n, editor[s] (year): italics{Title}, edition, chapter numbers, pp. first page--last page. slanted{Series} number, Publisher, publisher's address, doi: doi. Available at url. Notes. +%%%% +% Extensions for extra biblatex data: +% 1. Include book ISBN if available and +% isbn option is enabled (default: true) and +% doi is not available +% 2. Include related entry information after Notes if available +% and related option is enabled (default: true) +% 3. Include translator information if applicable. + +\DeclareBibliographyDriver{book}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\printdelim{nameyeardelim}} + \printtext[parens]{% + \usebibmacro{date}% + }% + \setunit{\printdelim{yeartitledelim}}\newblock + \usebibmacro{maintitle+title+edition}% + \setunit{\addcomma\addspace} + \printfield{volumes}% + \setunit{\addcomma\addspace} + \usebibmacro{chapter+pages}% + \setunit{\addcomma\addspace} + \printfield{pagetotal}% + \printunit{\addperiod\addspace} + \newunit\newblock + \usebibmacro{series+number}% + \setunit{\addcomma\addspace} + \usebibmacro{organization+publisher+location}% + \setunit*{\addcomma\addspace} + \usebibmacro{doi/isbn+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \newunit\newblock + \printfield{note}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{collection}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{editor+others}% + \setunit{\printdelim{nameyeardelim}} + \printtext[parens]{% + \usebibmacro{date}% + }% + \setunit{\printdelim{yeartitledelim}}\newblock + \usebibmacro{maintitle+title}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \setunit{\addcomma\space} + \printfield{edition}% + \setunit{\addcomma\space} + \iffieldundef{maintitle} + {\printfield{volume}% + \printfield{part}} + {}% + \setunit{\addcomma\space} + \printfield{volumes}% + \setunit{\addcomma\addspace} + \usebibmacro{chapter+pages}% + \setunit{\addcomma\addspace} + \printfield{pagetotal}% + \printunit{\addperiod\addspace} + \newunit\newblock + \usebibmacro{series+number}% + \setunit{\addcomma\addspace} + \usebibmacro{organization+publisher+location}% + \setunit*{\addcomma\addspace} + \usebibmacro{doi/isbn+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \newunit\newblock + \printfield{note}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{inbook}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \setunit{\printdelim{nameyeardelim}} + \printtext[parens]{% + \usebibmacro{date}% + }% + \setunit{\printdelim{yeartitledelim}}\newblock + \usebibmacro{title}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{in:}% + \usebibmacro{bybookauthor}% + \newunit + \usebibmacro{byeditor+others}% + \setunit{\addcolon\space} + \usebibmacro{maintitle+booktitle}% + \setunit{\addcomma\space} + \printfield{edition}% + \setunit{\addcomma\space} + \iffieldundef{maintitle} + {\setunit{\addcomma\space} + \printfield{volume}% + \printfield{part}} + {}% + \setunit{\addcomma\space} + \usebibmacro{chapter+pages}% + \printunit{\addperiod\addspace} + \newunit\newblock + \usebibmacro{series+number}% + \setunit{\addcomma\space} + \usebibmacro{organization+publisher+location}% + \setunit{\addcomma\addspace} + \usebibmacro{doi/isbn+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \newunit\newblock + \printfield{note}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{incollection}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \setunit{\printdelim{nameyeardelim}} + \printtext[parens]{% + \usebibmacro{date}% + }% + \setunit{\printdelim{yeartitledelim}}\newblock + \usebibmacro{title}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{in:}% + \usebibmacro{bybookauthor}% + \newunit + \usebibmacro{byeditor+others}% + \setunit{\addcolon\addspace} + \usebibmacro{maintitle+booktitle}% + \setunit{\addcomma\space} + \printfield{edition}% + \setunit{\addcomma\space} + \iffieldundef{maintitle} + {\setunit{\addcomma\space} + \printfield{volume}% + \printfield{part}} + {}% + \setunit*{\addcomma\space} + \usebibmacro{chapter+pages}% + \printunit{\addperiod\addspace} + \newunit\newblock + \usebibmacro{series+number}% + \setunit{\addcomma\space} + \usebibmacro{organization+publisher+location}% + \setunit{\addcomma\addspace} + \usebibmacro{doi/isbn+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \newunit\newblock + \printfield{note}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{inproceedings}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \setunit{\printdelim{nameyeardelim}} + \printtext[parens]{% + \usebibmacro{date}% + }% + \setunit{\printdelim{yeartitledelim}}\newblock + \usebibmacro{title}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{in:}% + \usebibmacro{bybookauthor}% + \newunit + \usebibmacro{byeditor+others}% + \setunit{\addcolon\addspace} + \usebibmacro{maintitle+booktitle}% + \newunit\newblock + \setunit{\addcomma\addspace} + \usebibmacro{event}% + \setunit{\addcomma\addspace} + \printfield{volumes}% + \newunit\newblock + \usebibmacro{series+number}% + \setunit{\addcomma\space} + \usebibmacro{organization+publisher+location}% + \setunit{\addcomma\addspace} + \usebibmacro{doi/issn+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \newunit\newblock + \printfield{note}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{dataset}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\printdelim{nameyeardelim}} + \printtext[parens]{% + \usebibmacro{date}% + }% + \setunit{\printdelim{yeartitledelim}}\newblock + \usebibmacro{title}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{type}% + \newunit + \printfield{edition}% + \newunit + \printfield{version}% + \newunit\newblock + \usebibmacro{series+number}% + \setunit{\addcomma\space} + \usebibmacro{organization+publisher+location}% + \setunit{\addcomma\addspace} + \usebibmacro{doi/issn+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \newunit\newblock + \printfield{note}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{manual}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor}% + \setunit{\printdelim{nameyeardelim}} + \printtext[parens]{% + \usebibmacro{date}% + }% + \setunit{\printdelim{yeartitledelim}}\newblock + \usebibmacro{title}% + \setunit{\addcomma\addspace} + \printfield{edition}% + \setunit{\addcomma\addspace} + \printfield{type}% + \setunit{\addcomma\addspace} + \printfield{version}% + \setunit{\addcomma\addspace} + \usebibmacro{chapter+pages}% + \setunit{\addcomma\addspace} + \printfield{pagetotal}% + \printunit{\addperiod\addspace} + \newunit\newblock + \usebibmacro{series+number}% + \setunit{\addcomma\addspace} + \usebibmacro{organization+publisher+location}% + \setunit*{\addcomma\addspace} + \usebibmacro{doi/isbn+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \newunit\newblock + \printfield{note}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{misc}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\printdelim{nameyeardelim}} + \printtext[parens]{% + \usebibmacro{date}% + }% + \setunit{\printdelim{yeartitledelim}}\newblock + \usebibmacro{title}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{howpublished}% + \setunit{\addcomma\addspace} + \printfield{type}% + \setunit{\addcomma\addspace} + \printfield{version}% + \newunit\newblock + \usebibmacro{organization+location}% + \setunit{\addcomma\addspace} + \usebibmacro{doi/issn+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \newunit\newblock + \printfield{note}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{online}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\printdelim{nameyeardelim}} + \printtext[parens]{% + \usebibmacro{date}% + }% + \setunit{\printdelim{yeartitledelim}}\newblock + \usebibmacro{title}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \setunit{\addcomma\addspace} + \printfield{version}% + \newunit\newblock + \printlist{organization}% + \setunit{\addcomma\addspace} + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \newunit\newblock + \printfield{note}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{patent}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author}% + \setunit{\printdelim{nameyeardelim}} + \printtext[parens]{% + \usebibmacro{date}% + }% + \setunit{\printdelim{yeartitledelim}}\newblock + \usebibmacro{title}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \printfield{type}% + \setunit*{\addspace}% + \printfield{number}% + \iflistundef{location} + {} + {\setunit*{\addspace}% + \printtext[parens]{% + \printlist[][-\value{listtotal}]{location}}}% + \newunit\newblock + \usebibmacro{byholder}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \newunit\newblock + \printfield{note}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{periodical}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{editor}% + \setunit{\printdelim{nameyeardelim}} + \printtext[parens]{% + \usebibmacro{date}% + }% + \setunit{\printdelim{yeartitledelim}}\newblock + \usebibmacro{title+issuetitle}% + \newunit\newblock + \usebibmacro{byeditor}% + \newunit\newblock + \usebibmacro{doi/issn+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \newunit\newblock + \printfield{note}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{proceedings}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{editor+others}% + \setunit*{\printdelim{nameyeardelim}}% + \printtext[parens]{% + \usebibmacro{date}% + }% + \setunit{\printdelim{yeartitledelim}}\newblock + \usebibmacro{maintitle+title}% + \newunit\newblock + \setunit{\addcomma\addspace} + \usebibmacro{event}% + \setunit{\addcomma\addspace} + \usebibmacro{byeditor+others}% + \newunit\newblock + \iffieldundef{maintitle} + {\printfield{volume}% + \printfield{part}} + {}% + \setunit{\addcomma\addspace} + \printfield{volumes}% + \newunit\newblock + \usebibmacro{series+number}% + \setunit{\addcomma\space} + \usebibmacro{organization+publisher+location}% + \setunit{\addcomma\addspace} + \usebibmacro{doi/issn+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \newunit\newblock + \printfield{note}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{report}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author}% + \setunit{\printdelim{nameyeardelim}} + \printtext[parens]{% + \usebibmacro{date}% + }% + \setunit{\printdelim{yeartitledelim}}\newblock + \usebibmacro{title}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \setunit{\addcomma\addspace} + \printfield{type}% + \setunit{\addspace} + \printfield{number}% + \setunit{\addcomma\addspace} + \printfield{version}% + \setunit{\addcomma\addspace} + \usebibmacro{chapter+pages}% + \setunit{\addcomma\addspace} + \printfield{pagetotal}% + \printunit{\addperiod\addspace} + \newunit\newblock + \usebibmacro{institution+location}% + \setunit*{\addcomma\addspace} + \usebibmacro{doi/issn+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \newunit\newblock + \printfield{note}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{thesis}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author}% + \setunit{\printdelim{nameyeardelim}} + \printtext[parens]{% + \usebibmacro{date}% + }% + \setunit{\printdelim{yeartitledelim}}\newblock + \usebibmacro{title}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \setunit{\addcomma\addspace} + \printfield{type}% + \setunit{\addcomma\addspace} + \printfield{version}% + \setunit{\addcomma\addspace} + \usebibmacro{chapter+pages}% + \setunit{\addcomma\addspace} + \printfield{pagetotal}% + \printunit{\addperiod\addspace} + \newunit\newblock + \usebibmacro{institution+location}% + \setunit*{\addcomma\addspace} + \usebibmacro{doi/isbn+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \newunit\newblock + \printfield{note}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{unpublished}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author}% + \setunit{\printdelim{nameyeardelim}} + \printtext[parens]{% + \usebibmacro{date}% + }% + \setunit{\printdelim{yeartitledelim}}\newblock + \usebibmacro{title}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \printfield{howpublished}% + \setunit{\addcomma\addspace} + \printfield{type}% + \setunit{\addcomma\addspace} + \usebibmacro{event} + \newunit\newblock + \printlist{location} + \setunit{\addcomma\addspace} + \usebibmacro{doi/isbn+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \newunit\newblock + \printfield{note}% + \usebibmacro{finentry}} + +\renewbibmacro*{byeditor+others}{% + \ifnameundef{editor} + {} + {\usebibmacro{editor}% + \clearname{editor}% + \newunit}% + \usebibmacro{byeditorx}% + \usebibmacro{bytranslator+others}} + +\renewbibmacro*{byauthor}{% + \ifboolexpr{ + test \ifuseauthor + or + test {\ifnameundef{author}} + } + {} + {\usebibmacro{author}}} + +\newbibmacro*{doi/issn+eprint+url}{% + \ifboolexpr{ + test {\iffieldundef{doi}} + and + test {\iftoggle{bbx:isbn}} + and + test {\iftoggle{bbx:doi}} + } + {\printfield{issn}}% + {}% + \iftoggle{bbx:doi} + {\printfield{doi}} + {}% + \setunit{\addcomma\addspace} + \iftoggle{bbx:eprint} + {\usebibmacro{eprint}} + {}% + \newunit\newblock + \iftoggle{bbx:url} + {\usebibmacro{url+urldate}} + {}} + +\newbibmacro*{doi/isbn+eprint+url}{% + \ifboolexpr{ + test {\iffieldundef{doi}} + and + test {\iftoggle{bbx:isbn}} + and + test {\iftoggle{bbx:doi}} + } + {\printfield{isbn}}% + {}% + \iftoggle{bbx:doi} + {\printfield{doi}} + {}% + \setunit{\addcomma\addspace} + \iftoggle{bbx:eprint} + {\usebibmacro{eprint}} + {}% + \newunit\newblock + \iftoggle{bbx:url} + {\usebibmacro{url+urldate}} + {}} + +\renewbibmacro*{journal+issuetitle}{% + \usebibmacro{journal}% + \newunit + \usebibmacro{issue}% + \setunit*{\addspace}% + \iffieldundef{series} + {} + {\newunit + \printfield{series}% + \setunit{\addspace}}% + \usebibmacro{volume+number+pages/eid}% + \newunit} + +\newbibmacro*{volume+number+pages/eid}{% + \printfield{volume}% + \iffieldundef{number} + {} + {\printtext[parens]{% + \printfield{number}% + }}% + \setunit*{\addcolon}% + \printfield{eid} + \iffieldundef{eid} + {\setunit{\bibpagespunct}% + \printfield{pages}} + {\setunit{\addcomma\addspace}% + \printfield{pagetotal}}% + \newunit} + +\newbibmacro*{maintitle+title+edition}{% + \iffieldsequal{maintitle}{title} + {\clearfield{maintitle}% + \clearfield{mainsubtitle}% + \clearfield{maintitleaddon}} + {\iffieldundef{maintitle} + {} + {\usebibmacro{maintitle}% + \newunit + \iffieldundef{volume} + {} + {\setunit{\addcomma\addspace} + \printfield{volume}% + \printfield{part}% + \setunit{\addcolon\space}}}}% + \usebibmacro{title}% + \setunit{\addcomma\addspace} + \printfield{edition} + \newunit} + +\renewbibmacro*{maintitle+title}{% + \iffieldsequal{maintitle}{title} + {\clearfield{maintitle}% + \clearfield{mainsubtitle}% + \clearfield{maintitleaddon}} + {\iffieldundef{maintitle} + {} + {\usebibmacro{maintitle}% + \newunit\newblock + \setunit{\addcomma\space} + \iffieldundef{volume} + {} + {\printfield{volume}% + \printfield{part}% + \setunit{\addcolon\space}}}}% + \usebibmacro{title}% + \newunit} + +\renewbibmacro*{maintitle+booktitle}{% + \iffieldundef{maintitle} + {} + {\usebibmacro{maintitle}% + \newunit + \iffieldundef{volume} + {} + {\setunit{\addcomma\addspace} + \printfield{volume}% + \printfield{part}% + \setunit{\addcolon\space}}}% + \usebibmacro{booktitle}% + \newunit} + +\renewbibmacro*{title+issuetitle}{% + \usebibmacro{periodical}% + \setunit*{\addspace}% + \iffieldundef{series} + {} + {\newunit + \printfield{series}% + \setunit{\addspace}}% + \usebibmacro{volume+number+eid}% + \setunit{\addspace}% + \iffieldundef{issue} + {} + {\printtext[parens]{% + \printfield{issue}% + }}% + \setunit{\addcolon\space}% + \usebibmacro{issue}% + \newunit} + +\newbibmacro*{event}{% + \printfield{eventtitle}% + \setunit{\addspace} + \iffieldundef{eventtitleaddon} + {} + {\printtext[parens]{% + \printfield{eventtitleaddon}% + }}% + \newunit} + +\newbibmacro*{organization+location}{% + \printlist{organization}% + \setunit*{\addcomma\space}% + \printlist{location}% + \newunit} + +\newbibmacro*{organization+publisher+location}{% + \printlist{organization}% + \setunit*{\addcomma\space}% + \printlist{publisher}% + \setunit*{\addcomma\space}% + \printlist{location}% + \newunit} + +\newbibmacro*{institution+location}{% + \printlist{institution}% + \setunit*{\addcomma\space} + \printlist{location}% + \newunit} \ No newline at end of file diff --git a/eptcs.cbx b/eptcs.cbx new file mode 100644 index 0000000..3f100b9 --- /dev/null +++ b/eptcs.cbx @@ -0,0 +1,5 @@ +\ProvidesFile{eptcs.cbx}[2020/08/12 v0.2 EPTCS biblatex style] + +\RequireCitationStyle{numeric-comp} + +\endinput diff --git a/eptcs.cls b/eptcs.cls new file mode 100644 index 0000000..ebda3e4 --- /dev/null +++ b/eptcs.cls @@ -0,0 +1,263 @@ +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesClass{eptcs}[2010/11/26 v1.5] + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%% options %%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newif\ifadraft +\newif\ifsubmission +\newif\ifpreliminary +\newif\ifcopyright +\newif\ifpublicdomain +\newif\ifcreativecommons +\newif\ifnoderivs +\newif\ifsharealike +\newif\ifnoncommercial +\adraftfalse +\submissionfalse +\preliminaryfalse +\copyrightfalse +\publicdomainfalse +\creativecommonsfalse +\noderivsfalse +\sharealikefalse +\noncommercialfalse +\DeclareOption{adraft}{\adrafttrue} +\DeclareOption{submission}{\submissiontrue} +\DeclareOption{preliminary}{\preliminarytrue} +\DeclareOption{copyright}{\copyrighttrue} +\DeclareOption{publicdomain}{\publicdomaintrue} +\DeclareOption{creativecommons}{\creativecommonstrue} +\DeclareOption{noderivs}{\noderivstrue} +\DeclareOption{noncommercial}{\noncommercialtrue} +\DeclareOption{sharealike}{\sharealiketrue} +\ProcessOptions\relax + +\LoadClass[letterpaper,11pt,twoside]{article} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% On US letter paper the margins (left-top-right-bottom) are %% +%% 2.795cm - 1.23cm - 2.795cm - 3.46cm %% +%% Note: When \topmargin would be 0, the real top margin would be %% +%% (72-25-12=35pt) + 1pt (unused portion of head) = .5in = 1.27cm. %% +%% The bottom margin is 11in - 1in + 0.04cm - 623/72in = 3.46cm. %% +%% On the first page the bottom margin contains various footers. %% +%% When translating from US letter to A4 paper, without scaling, by %% +%% leaving the centre of the paper invariant (as is possible when %% +%% printing the paper with acroread), the resulting A4 margins are %% +%% 2.5cm - 2.11cm - 2.5cm - 4.34cm %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\textwidth 16cm % A4 width is 21cm % +\textheight 623.01pt % 46 lines exactly = 21.98cm % +\oddsidemargin -0.04cm % +1 inch = 2.5cm % +\evensidemargin -0.04cm % +1 inch = 2.5cm % +\topmargin -0.04cm % +1 inch = 2.5cm % +\advance\topmargin-\headheight % 12pt % +\advance\topmargin-\headsep % 25pt % +\marginparwidth 45pt % leaves 15pt from A4 edge % +\advance\evensidemargin .295cm % centre w.r.t. letter paper % +\advance\oddsidemargin .295cm % centre w.r.t. letter paper % + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%% load eptcsdata when available %%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\IfFileExists{eptcsdata.tex}{\input{eptcsdata}}{} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%% Pagestyle and titlepage %%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pagestyle{myheadings} +\renewcommand\pagestyle[1]{} % ignore further \pagestyles + +\renewcommand\maketitle{\par + \begingroup + \providecommand{\event}{} + \ifadraft + \providecommand{\publicationstatus}{\Large DRAFT\quad\today} + \else\ifsubmission + \providecommand{\publicationstatus}{Submitted to:\\ + \event} + \else\ifpreliminary + \providecommand{\publicationstatus}{Preliminary Report. Final version to appear in:\\ + \event} + \else + \providecommand{\publicationstatus}{To appear in EPTCS.} + \fi\fi\fi + \providecommand{\titlerunning}{Please define {\tt $\backslash$titlerunning}} + \providecommand{\authorrunning}{Please define {\tt $\backslash$authorrunning}} + \providecommand{\copyrightholders}{\authorrunning} + \renewcommand\thefootnote{\@fnsymbol\c@footnote}% + \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}% + \long\def\@makefntext##1{\parindent 1em\noindent + \hb@xt@1.8em{% + \hss\@textsuperscript{\normalfont\@thefnmark}}##1}% + \newpage + \global\@topnum\z@ % Prevents figures from going at top of page. + \@maketitle + \thispagestyle{empty}\@thanks + \endgroup + \setcounter{footnote}{0}% + \label{FirstPage} + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax +} +\def\@maketitle{% adapted from article.cls + \newpage +\noindent +\raisebox{-22.8cm}[0pt][0pt]{\footnotesize +\begin{tabular}{@{}l} +\publicationstatus +\end{tabular}} +\hfill\vspace{-1em} +\raisebox{-22.8cm}[0pt][0pt]{\footnotesize +\makebox[0pt][r]{ +\begin{tabular}{l@{}} +\ifpublicdomain + This work is \href{http://creativecommons.org/publicdomain/zero/1.0/} + {dedicated to the public domain}. +\else + \ifcopyright + \copyright~\copyrightholders\\ + \fi + \ifcreativecommons + This work is licensed under the + \ifnoncommercial + \href{http://creativecommons.org}{Creative Commons}\\ + \ifnoderivs + \href{http://creativecommons.org/licenses/by-nc-nd/3.0/} + {Attribution-Noncommercial-No Derivative Works} License. + \else\ifsharealike + \href{http://creativecommons.org/licenses/by-nc-sa/3.0/} + {Attribution-Noncommercial-Share Alike} License. + \else + \href{http://creativecommons.org/licenses/by-nc/3.0/} + {Attribution-Noncommercial} License. + \fi\fi + \else + \ifnoderivs + \href{http://creativecommons.org}{Creative Commons}\\ + \href{http://creativecommons.org/licenses/by-nd/3.0/} + {Attribution-No Derivative Works} License. + \else\ifsharealike + \href{http://creativecommons.org}{Creative Commons}\\ + \href{http://creativecommons.org/licenses/by-sa/3.0/} + {Attribution-Share Alike} License. + \else + \\\href{http://creativecommons.org}{Creative Commons} + \href{http://creativecommons.org/licenses/by/3.0/} + {Attribution} License. + \fi\fi + \fi + \fi +\fi +\end{tabular}}} + \null + %\vskip 2em% a bit of space removed (< 2em) + \begin{center}% + \let \footnote \thanks + {\LARGE\bf \@title \par}% \bf added + \vskip 2em% was: 1.5em + {\large + \lineskip .5em% + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + \vskip 1em% \date and extra space removed + \end{center}% + \par + \markboth{\hfill\titlerunning}{\authorrunning\hfill} + \vskip .5em} + +\AtBeginDocument{ + \providecommand{\firstpage}{1} + \setcounter{firstpage}{\firstpage} + \setcounter{page}{\firstpage} + \@ifpackageloaded{array}% Contributed by Wolfgang Jeltsch + {\newcommand{\IfArrayPackageLoaded}[2]{#1}} + {\newcommand{\IfArrayPackageLoaded}[2]{#2}}} +\newcommand{\institute}[1]{\IfArrayPackageLoaded + {\\{\scriptsize\begin{tabular}[t]{@{}>{\footnotesize}c@{}}#1\end{tabular}}} + {\\{\scriptsize\begin{tabular}[t]{@{\footnotesize}c@{}}#1\end{tabular}}}} +\newcommand{\email}[1]{\\{\footnotesize\tt #1}} + +\renewenvironment{abstract}{\begin{list}{}% header removed and noindent + {\rightmargin\leftmargin + \listparindent 1.5em + \parsep 0pt plus 1pt} + \small\item}{\end{list} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\RequirePackage{hyperref} % add hyperlinks +\RequirePackage{mathptmx} % Pick Times Roman as a base font + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%% Remember page numbers %%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcounter{firstpage} +\setcounter{firstpage}{1} +\AtEndDocument{\clearpage + \addtocounter{page}{-1} + \immediate\write\@auxout{\string + \newlabel{LastPage}{{}{\thepage}{}{page.\thepage}{}}}% + \newwrite\pages + \immediate\openout\pages=\jobname.pag + \immediate\write\pages{\arabic{firstpage}-\arabic{page}} + \addtocounter{page}{1}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%% Less space in lists %%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\@listi{\leftmargin\leftmargini + \parsep 2.5\p@ \@plus1.5\p@ \@minus\p@ + \topsep 5\p@ \@plus2\p@ \@minus5\p@ + \itemsep2.5\p@ \@plus1.5\p@ \@minus\p@} +\let\@listI\@listi +\@listi +\def\@listii {\leftmargin\leftmarginii + \labelwidth\leftmarginii + \advance\labelwidth-\labelsep + \topsep 1\p@ \@plus\p@ \@minus\p@ + \parsep 1\p@ \@plus\p@ \@minus\p@ + \itemsep \parsep} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii + \advance\labelwidth-\labelsep + \topsep \z@ + \parsep \z@ + \itemsep \topsep} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%% References small and with less space between items %%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\renewenvironment{thebibliography}[1] + {\section*{\refname}\small% small added + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \sloppy + \clubpenalty4000 + \@clubpenalty \clubpenalty + \widowpenalty4000% + \sfcode`\.\@m + \setlength{\parskip}{0pt}% + \setlength{\itemsep}{3pt plus 2pt}% less space between items + } + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} diff --git a/example.tex b/example.tex new file mode 100644 index 0000000..65ca45d --- /dev/null +++ b/example.tex @@ -0,0 +1,35 @@ +\documentclass{eptcs} +\usepackage{hyperref} +\usepackage[style=eptcs,related=false]{biblatex} +\addbibresource[label=c]{contrived.bib} +\addbibresource[label=r]{real.bib} +\begin{document} + +\begin{refsection}[c] + In this section, we cite a variety of contrived examples to illustrate the EPTCS style. + For example, \textcite{article_1992:_artic_arxiv_with} has link to arxiv and a doi. + Some works are unpublished~\cite{unpublished_2020:_unpub_work}. + \textcite{book_2055:_my_inbook_chapt,collection_2020:_my_collec} did publish their stuff though. + \textcite{article_1992:_artic_with_doi} would argue that our choice of last names was not particularly original. + We can also cite a range of entries at once: \cite{article_1992:_artic_arxiv_with,article_1992:_artic_with_doi,article_1992:_artic_with_eid_paget,article_1992:_artic_with_page_range}. + \nocite{*} + \printbibliography[title={Contrived Examples}] +\end{refsection} + +\clearpage + +\begin{refsection}[r] + In this section, we have actual bibliography entries. + We have multivolume collections~\cite{abramsky_1992:_handb_logic_comput_scien} with individual volumes~\cite{abramsky_2001:_logic_algeb_method, abramsky_1995:_seman_struc, abramsky_1995:_seman_model, abramsky_1993:_backg_comp_struct, abramsky_1992:_backg_mathem_struct}. + \textcite{tennent_1995:_denot_seman, abramsky_jung_1995:_domain_theor} wrote entries in some of these volumes. + + We have multivolume books~\cite{girard_2006:_le_point_aveug, girard_2007:_vers_limper, girard_2006:_vers_la_perfec}. + + We have conference proceedings. + Note that biblatex allows for conference proceedings to have a ``title'' on top of a conference (event) name. + For example, the title of \cite{2002:_proof_system_reliab} is different from the conference/event name. + We note that that proceedings is lacking an editor. + \nocite{*} + \printbibliography[title={Real Examples}] +\end{refsection} +\end{document} diff --git a/real.bib b/real.bib new file mode 100644 index 0000000..442efdd --- /dev/null +++ b/real.bib @@ -0,0 +1,574 @@ +@Collection{abramsky_1992:_backg_mathem_struct, + crossref = {abramsky_1992:_handb_logic_comput_scien}, + date = {1992-12-10}, + editor = {Abramsky, S. and Gabbay, Dov M. and Maibaum, + T. S. E.}, + isbn = {0-19-853735-2}, + pagetotal = {xii+827~\ppno}, + title = {Background: Mathematical Structures}, + volume = 1, +} + +@Collection{abramsky_1993:_backg_comp_struct, + crossref = {abramsky_1992:_handb_logic_comput_scien}, + date = {1993-03-18}, + editor = {Abramsky, S. and Gabbay, Dov M. and Maibaum, + T. S. E.}, + title = {Background: Computational Structures}, + volume = 2, +} + +@Collection{abramsky_1995:_seman_model, + crossref = {abramsky_1992:_handb_logic_comput_scien}, + date = {1995-06-15}, + editor = {Abramsky, S. and Gabbay, Dov M. and Maibaum, + T. S. E.}, + title = {Semantic Modelling}, + volume = 4, +} + +@Collection{abramsky_1995:_seman_struc, + crossref = {abramsky_1992:_handb_logic_comput_scien}, + date = {1995-06-15}, + editor = {Abramsky, S. and Gabbay, Dov M. and Maibaum, + T. S. E.}, + isbn = {0-19-853762-X}, + pagetotal = {xv+490~\ppno}, + title = {Semantic Structures}, + volume = 3, +} + +@Collection{abramsky_2001:_logic_algeb_method, + crossref = {abramsky_1992:_handb_logic_comput_scien}, + date = {2001-04-05}, + editor = {Abramsky, S. and Gabbay, Dov M. and Maibaum, + T. S. E.}, + title = {Logic and Algebraic Methods}, + volume = 5, +} + +@MvCollection{abramsky_1992:_handb_logic_comput_scien, + date = {1992-12-10/2001-04-05}, + editor = {Abramsky, S. and Gabbay, Dov M. and Maibaum, + T. S. E.}, + language = {english}, + location = {New York}, + publisher = {Oxford University Press Inc.}, + related = + {abramsky_1992:_backg_mathem_struct,abramsky_1993:_backg_comp_struct,abramsky_1995:_seman_struc,abramsky_1995:_seman_model,abramsky_2001:_logic_algeb_method}, + relatedtype = {multivolume}, + title = {Handbook of Logic in Computer Science}, + volumes = 5, +} + +@InCollection{abramsky_jung_1995:_domain_theor, + author = {Abramsky, Samson and Jung, Achim}, + crossref = {abramsky_1995:_seman_struc}, + pages = {1-168}, + title = {Domain Theory}, +} + +@InCollection{tennent_1995:_denot_seman, + author = {Tennent, R. D.}, + crossref = {abramsky_1995:_seman_struc}, + pages = {169-322}, + title = {Denotational Semantics}, +} + +@Book{adler_doren_1974:_how_to_read_book, + author = {Adler, Mortimer J. and van Doren, Charles}, + title = {How To Read a Book}, + publisher = {Simon \& Schuster, Inc.}, + date = 1974, + isbn = {0-671-21209-5}, + location = {New York, New York}, + pagetotal = {xiii+426~\ppno}, + subtitle = {The Classic Guide to Intelligent Reading}, +} + +@InCollection{lambek_1982:_influen_herac_moder_mathem, + _checked = {2020-05-27}, + _source = {ev}, + abstract = {Among the pre-Socratic philosophers we know that + Thales, Pythagoras, Zeno and Democritus were + involved in mathematics in one way or another. In + fact, Pythagoras coined the very word + ``mathematics.'' Heraclitus does not appear to have + occupied himself with mathematical questions; so how + can he be said to have influenced modern + mathematics? The answer to this question will take + us on a small detour.}, + author = {Lambek, J.}, + crossref = {agassi_cohen_1982:_scien_philos_today}, + date = 1982, + doi = {10.1007/978-94-009-8462-2_6}, + pages = {111-121}, + title = {The Influence of {H}eraclitus on Modern Mathematics}, +} + +@Collection{agassi_cohen_1982:_scien_philos_today, + _checked = {2020-05-27}, + _source = {ev}, + date = 1982, + doi = {10.1007/978-94-009-8462-2}, + editor = {Agassi, Joseph and Cohen, Robert S.}, + isbn = {978-94-009-8462-2}, + location = {Dordrecht, Holland}, + number = 67, + pagetotal = {x+513~\ppno}, + publisher = {D. Reidel Publishing Company}, + series = {Boston Studies in the Philosophy of Science}, + subtitle = {Essays in Honor of {M}ario {B}unge}, + title = {Scientific Philosophy Today}, +} + +@InProceedings{smyth_1980:_comput_categ, + author = {Smyth, M. B.}, + title = {Computability in Categories}, + pages = {609-620}, + doi = {10.1007/3-540-10003-2_102}, + crossref = {bakker_leeuwen_1980:_autom_languag_progr}, +} + +@Proceedings{bakker_leeuwen_1980:_autom_languag_progr, + date = 1980, + doi = {10.1007/3-540-10003-2}, + editor = {de Bakker, Jaco W. and van Leeuwen, Jan}, + eventdate = {1980-07-14/1980-07-18}, + eventtitle = {Seventh International Colloquium on Automata, + Languages and Programming}, + eventtitleaddon ={ICALP'80}, + isbn = {978-3-540-39346-7}, + label = {ICALP'80}, + location = {Berlin}, + number = 85, + pagetotal = {viii+671~\ppno}, + publisher = {Springer-Verlag Berlin Heidelberg}, + series = {Lecture Notes in Computer Science}, + title = {Automata, Languages and Programming}, + venue = {Noordwijkerhout, the Netherlands}, +} + +@Article{barnes_1945:_myth_sense_data, + author = {Barnes, Winston H. F.}, + title = {The Myth of Sense-Data}, + volume = 45, + pages = {89-117}, + date = 1945, + eprint = 4544398, + eprinttype = {jstor}, + journaltitle = {Proceedings of the Aristotelian Society}, + series = {newseries}, + issuetitle = {Containing the Papers read before the Society during + the Sixty-Sixth Session, 1944--1945}, +} + +@InBook{bekic_1984:_defin_operat_gener, + _note = {cover of book has Beki{\v{c}}, while paper in book + has Beki{\'{c}}}, + author = {Beki{\'{c}}, Hans}, + crossref = {bekic_1984:_progr_languag_their_defin}, + doi = {10.1007/bfb0048939}, + pages = {30-55}, + title = {Definable Operations in General Algebras, and the + Theory of Automata and Flowcharts}, +} + +@Book{bekic_1984:_progr_languag_their_defin, + author = {Beki{\v{c}}, Hans}, + publisher = {Springer-Verlag Berlin Heidelberg}, + Title = {Programming Languages and Their Definition}, + date = 1984, + doi = {10.1007/BFb0048933}, + editor = {Jones, C. B.}, + introduction = {Jones, Cliff B.}, + isbn = {978-3-540-38933-0}, + number = 177, + series = {Lecture Notes in Computer Science}, + subtitle = {Selected Papers}, +} + +@Thesis{bowden_2018:_reinin_crown_author_dissol, + _source = {ev}, + _checked = {2020-06-20}, + author = {Bowden, James W. J.}, + date = {2018-09}, + institution = {Carleton University}, + location = {Ottawa, Ontario}, + pagetotal = {vii+168~\ppno}, + title = {Reining in the Crown's Authority over Dissolution: + \mkbibemph{The Fixed-Term Parliaments Act} of the + United Kingdom versus Fixed-Date Election Laws in + Canada}, + type = {mastersthesis}, +} + +@Unpublished{cheng_lauda_2004:_higher_dimen_categ, + _checked = {2020-07-14}, + _source = {ev}, + author = {Cheng, Eugenia and Lauda, Aaron}, + date = {2004-08-19}, + pagetotal = {viii+172~\ppno}, + pubstate = {inpreparation}, + subtitle = {An Illustrated Guide Book}, + title = {Higher-Dimensional Categories}, +} + +@Unpublished{cheng_lauda_2004:_higher_dimen_categ, + _checked = {2020-07-14}, + _source = {ev}, + author = {Cheng, Eugenia and Lauda, Aaron}, + date = {2004-08-19}, + pagetotal = {viii+172~\ppno}, + pubstate = {inpreparation}, + subtitle = {An Illustrated Guide Book}, + title = {Higher-Dimensional Categories}, +} + +@InProceedings{lehmann_1981:_impar_justic_fairn, + author = {Lehmann, D. and Pnueli, A. and Stavi, J.}, + title = {Impartiality, Justice and Fairness: {T}he Ethics of + Concurrent Termination}, + pages = {264-277}, + doi = {10.1007/3-540-10843-2_22}, + _checked = {2020-07-21}, + _source = {ev}, + abstract = {The method of well founded structures for proving + termination of programs is extended to concurrent + programs. The more complicated case is when a + program terminates only for fair + executions. Different versions of fairness are + introduced: Impartiality, Fairness and Justice, and + Methods for proving their termination are + presented.}, + crossref = {even_kariv_1981:_autom_languag_progr}, + date = 1981, +} + +@Proceedings{even_kariv_1981:_autom_languag_progr, + _checked = {2020-07-21}, + _source = {ev}, + date = 1981, + doi = {10.1007/3-540-10843-2}, + editor = {Even, Shimon and Kariv, Oded}, + eventdate = {1981-07-13/1981-07-17}, + eventtitle = {Eigth International Colloquium on Automata, + Languages and Programming}, + eventtitleaddon ={ICALP'81}, + isbn = {978-3-540-38745-9}, + label = {ICALP'81}, + number = 115, + pagetotal = {viii+552~\ppno}, + publisher = {Springer-Verlag Berlin Heidelberg}, + series = {Lecture Notes in Computer Science}, + title = {Automata, Languages and Programming}, + venue = {Acre (Akko), Israel}, +} + +@Book{francez_1986:_fairn, + author = {Francez, Nissim}, + title = {Fairness}, + publisher = {Springer-Verlag New York Inc.}, + _checked = {2020-08-07}, + _source = {ev}, + abstract = {The main purpose of this book is to bring together + much of the research conducted in recent years in a + subject I find both fascinating and important, + namely fairness. Much of the reported research is + still in the form of technical reports, theses and + conference papers, and only a small part has already + appeared in the formal scientific journal + literature. Fairness is one of those concepts that + can intuitively be explained very briefly, but bear + a lot of consequences, both in theory and the + practicality of programming languages. Scientists + have traditionally been attracted to studying such + concepts. However, a rigorous study of the concept + needs a lot of detailed development, evoking much + machinery of both mathematics and computer + science. I am fully aware of the fact that this + field of research still lacks maturity, as does the + whole subject of theoretical studies of concurrency + and nondeterminism. One symptom of this lack of + maturity is the proliferation of models used by the + research community to discuss these issues, a + variety lacking the invariance property present, for + example, in universal formalisms for sequential + computing.}, + date = 1986, + doi = {10.1007/978-1-4612-4886-6}, + isbn = {978-1-4612-4886-6}, + pagetotal = {xiii+295~\ppno}, + series = {Texts and Monographs in Computer Science}, +} + +@Book{girard_1989:_proof_types, + _source = {pv}, + _checked = {2020-07-02}, + author = {Girard, Jean-Yves and Lafont, Yves and Taylor, Paul}, + title = {Proofs and Types}, + publisher = {Press Syndicate of the University of Cambridge}, + date = 1989, + isbn = {0-521-37181-3}, + location = {Cambridge, United Kingdom}, + pagetotal = {xi+176~\ppno}, + series = {Cambridge Tracts in Theoretical Computer Science}, + number = 7, +} + +@Book{girard_2006:_vers_la_perfec, + author = {Girard, Jean-Yves}, + title = {Vers la perfection}, + crossref = {girard_2006:_le_point_aveug}, + date = {2006-05}, + isbn = {2 7056 6633 X}, + language = {french}, + location = {Paris, France}, + pagetotal = {xvi+280~\ppno}, + volume = 1, +} + + +@Book{girard_2007:_vers_limper, + author = {Girard, Jean-Yves}, + title = {Vers l'imperfection}, + crossref = {girard_2006:_le_point_aveug}, + date = {2007-03-17}, + isbn = 9782705666347, + language = {french}, + location = {Paris, France}, + pagetotal = 570, + volume = 2, +} + + +@MvBook{girard_2006:_le_point_aveug, + author = {Girard, Jean-Yves}, + date = {2006-05/2007-03}, + language = {french}, + publisher = {Hermann {\'E}diteurs}, + related = {girard_2006:_vers_la_perfec,girard_2007:_vers_limper}, + relatedtype = {multivolume}, + series = {Visions des sciences}, + subtitle = {Cours de logique}, + title = {Le Point Aveugle}, + volumes = 2, +} + +@InBook{hasegawa_1999:_recur_cyclic_sharin, + chapter = 7, + crossref = {hasegawa_1999:_model_sharin_graph}, + doi = {10.1007/978-1-4471-0865-8_7}, + pages = {83-101}, + title = {Recursion from Cyclic Sharing}, +} + +@Book{hasegawa_1999:_model_sharin_graph, + author = {Hasegawa, Masahito}, + title = {Models of Sharing Graphs}, + publisher = {Springer-Verlag London Limited}, + date = {1999-06}, + doi = {10.1007/978-1-4471-0865-8}, + isbn = {978-1-4471-0865-8}, + pagetotal = {xii+134~\ppno}, + related = {hasegawa_1997:_model_sharin_graph}, + relatedtype = {reprintof}, + series = {Distinguished Dissertations}, + subtitle = {A Categorical Semantics of \texttt{let} and + \texttt{letrec}}, +} + +@Misc{hyland_2013:_class_lambd_calcul_moder_dress, + author = {Hyland, Martin}, + date = {2013-10-06}, + eprint = {1211.5762v2}, + eprintclass = {math.CT}, + eprinttype = {arxiv}, + title = {Classical Lambda Calculus in Modern Dress}, +} + +@Report{information_1981:_trans_contr_protoc, + author = {{Information Sciences Institute, University of + Southern California}}, + date = {1981-09}, + doi = {10.17487/RFC0793}, + editor = {Postel, Jon}, + institution = {Internet Engineering Task Force}, + number = 793, + title = {Transmission Control Protocol}, + titleaddon = {{DARPA} Internet Program Protocol Specification}, + type = {RFC}, +} + +@Report{kahn_macqueen_1976:_corout_networ_paral_proces, + author = {Kahn, Gilles and Macqueen, David}, + date = 1976, + institution = {INRIA}, + language = {english}, + number = {inria-00306565}, + pagetotal = 20, + title = {Coroutines and Networks of Parallel Processes}, + type = {resreport}, + url = {https://hal.inria.fr/inria-00306565}, + version = 1, +} + +@Book{knuth_1998:_sortin_searc, + author = {Knuth, Donald E.}, + title = {Sorting and Searching}, + _checked = {2020-07-09}, + _source = {pv}, + crossref = {knuth_1998:_art_comput_progr}, + date = 1998, + isbn = {0-201-89685-0}, + pagetotal = {xiv+780~\ppno}, + volume = 3, +} + +@MvBook{knuth_1998:_art_comput_progr, + _checked = {2020-07-09}, + _source = {pv}, + author = {Knuth, Donald E.}, + date = 1998, + edition = 2, + isbn = {978-0-201-48541-7}, + location = {Upper Saddle River, New Jersey}, + publisher = {Addison-Wesley}, + related = {knuth_1998:_sortin_searc}, + relatedtype = {multivolume}, + title = {The Art of Computer Programming}, + volumes = 3, +} + +@Collection{leeuwen_1990:_formal_model_seman, + _source = {ev}, + _checked = {2020-07-08}, + crossref = {leeuwen_1990:_handb_theor_comput_scien}, + date = 1990, + editor = {van Leeuwen, Jan}, + isbn = {0-262-22039-3}, + pagetotal = {vi+1273~\ppno}, + title = {Formal Models and Semantics}, + volume = {B}, +} + +@MvCollection{leeuwen_1990:_handb_theor_comput_scien, + _checked = {2020-07-08}, + _source = {ev}, + date = 1990, + editor = {van Leeuwen, Jan}, + isbn = {0-262-22040-7}, + location = {Amsterdam, The Netherlands and Cambridge, + Massachusetts}, + publisher = {Elsevier Science Publishers B.V. and The MIT Press}, + related = {leeuwen_1990:_formal_model_seman}, + relatedtype = {multivolume}, + title = {Handbook of Theoretical Computer Science}, + volumes = 2, +} + +@Thesis{lehmann_1976:_categ_fixpoin_seman_thesis, + _checked = {2020-06-08}, + _source = {ev}, + author = {Lehmann, Daniel J.}, + date = 1976, + institution = {Department of Computer Science, University of + Warwick}, + location = {Coventry, United Kingdom}, + pagetotal = 75, + title = {Categories for Fixpoint Semantics}, + type = {phdthesis}, +} + +@Misc{leinster_2012:_rethin_set_theor, + _checked = {2020-07-14}, + _source = {ev}, + author = {Leinster, Tom}, + date = {2012-12-28}, + eprint = {1212.6543v1}, + eprintclass = {math.LO}, + eprinttype = {arxiv}, + pagetotal = 8, + title = {Rethinking Set Theory}, +} + +@Report{milner_1971:_algeb_defin_simul_between_progr, + author = {Milner, Robin}, + date = {1971-02}, + institution = {Stanford Artificial Intelligence Project, Computer + Science Department, Stanford University}, + location = {Stanford, California}, + number = {STAN-CS-205, AIM-142}, + pagetotal = 22, + title = {An Algebraic Definition of Simulation Between + Programs}, + type = {techreport}, +} + +@Book{sangiorgi_2012:_introd_bisim_coind, + author = {Sangiorgi, Davide}, + title = {Introduction to Bisimulation and Coinduction}, + publisher = {Cambridge University Press}, + date = {2012-08}, + doi = {10.1017/CBO9780511777110}, + isbn = 9780511777110, + location = {Cambridge, United Kingdom}, + pagetotal = {xii+247~\ppno}, +} + +@InCollection{jacobs_rutten_2012:_introd_coalg_coind, + author = {Jacobs, Bart and Rutten, Jan}, + crossref = {sangiorgi_rutten_2012:_advan_topic_bisim_coind}, + date = 2012, + pages = {38-99}, + title = {An Introduction to (Co)algebra and (Co)induction}, +} + +@Collection{sangiorgi_rutten_2012:_advan_topic_bisim_coind, + date = 2012, + editor = {Sangiorgi, Davide and Rutten, Jan}, + isbn = {978-1-107-00497-9}, + location = {Cambridge, United Kingdom}, + number = 52, + pagetotal = {xiii+326~\ppno}, + publisher = {Cambridge University Press}, + series = {Cambridge Tracts in Theoretical Computer Science}, + title = {Advanced Topics in Bisimulation and Coinduction}, +} + + +@InProceedings{pfenning_2002:_logic_framew, + author = {Pfenning, Frank}, + title = {Logical Frameworks---A Brief Introduction}, + pages = {137-166}, + doi = {10.1007/978-94-010-0413-8_5}, + abstract = {A logical framework is a meta-language for the + formalization of deductive systems. We provide a + brief introduction to logical frameworks and their + methodology, concentrating on LF. We use first-order + logic as the running example to illustrate the + representations of syntax, natural deductions, and + proof transformations. We also sketch a recent + formulation of LF centered on the notion of + canonical form, and show how it affects proofs of + adequacy of encodings.}, + crossref = {2002:_proof_system_reliab}, + date = 2002, +} + +@Proceedings{2002:_proof_system_reliab, + date = 2002, + doi = {10.1007/978-94-010-0413-8}, + eventdate = {2001-07-24/2001-09-05}, + eventtitle = {NATO Advanced Study Institute on Proof and + System-Reliability}, + isbn = {978-94-010-0413-8}, + location = {Dordrecht}, + number = 62, + pagetotal = {xii+415~\ppno}, + publisher = {Springer-Science+ Business Media, B.V.}, + series = {NATO Science Series (Series II: Mathematics, Physics + and Chemistry)}, + title = {Proof and System-Reliability}, + venue = {Marktoberdorf, Germany}, +} \ No newline at end of file -- cgit v1.2.3