summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--LICENSE416
-rw-r--r--contrived.bib398
-rw-r--r--eptcs.bbx935
-rw-r--r--eptcs.cbx5
-rw-r--r--eptcs.cls263
-rw-r--r--example.tex35
-rw-r--r--real.bib574
7 files changed, 2626 insertions, 0 deletions
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 <rak@rak.ac>
+%%
+%% 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 <rak@rak.ac>
+%%
+%% 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