Compare commits
4 Commits
ztm
...
sacred-mon
Author | SHA1 | Date | |
---|---|---|---|
![]() |
eff5f065f7 | ||
![]() |
09e8972986 | ||
![]() |
b097bdd620 | ||
![]() |
7714196702 |
27
.github/workflows/train.yml
vendored
27
.github/workflows/train.yml
vendored
@ -1,27 +0,0 @@
|
||||
name: train-model
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
epochs:
|
||||
description: 'Number of epochs for training'
|
||||
required: true
|
||||
default: '1'
|
||||
jobs:
|
||||
train:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Use Docker action
|
||||
id: train
|
||||
uses: ./train-action/
|
||||
with:
|
||||
epochs: 1
|
||||
|
||||
- name: Archive
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: model
|
||||
path: model.keras
|
||||
|
@ -1,5 +1,5 @@
|
||||
FROM ubuntu:22.04
|
||||
|
||||
RUN apt update && apt install -y vim make python3 python3-pip python-is-python3 gcc g++ golang wget unzip git
|
||||
RUN pip install pandas matplotlib scikit-learn tensorflow
|
||||
RUN pip install pandas matplotlib scikit-learn tensorflow sacred pymongo
|
||||
CMD "bash"
|
||||
|
@ -1,8 +0,0 @@
|
||||
name: ium
|
||||
channels:
|
||||
- defaults
|
||||
dependencies:
|
||||
- pandas
|
||||
- tensorflow
|
||||
- scikit-learn
|
||||
- matplotlib
|
34
publication/.gitignore
vendored
34
publication/.gitignore
vendored
@ -1,34 +0,0 @@
|
||||
acmart.cls
|
||||
acmart.pdf
|
||||
acmguide.pdf
|
||||
samples/*.pdf
|
||||
*.log
|
||||
*.aux
|
||||
*.cfg
|
||||
*.glo
|
||||
*.idx
|
||||
*.toc
|
||||
*.ilg
|
||||
*.ind
|
||||
*.out
|
||||
*.lof
|
||||
*.lot
|
||||
*.bbl
|
||||
*.blg
|
||||
*.gls
|
||||
*.cut
|
||||
*.hd
|
||||
*.dvi
|
||||
*.ps
|
||||
*.thm
|
||||
*.tgz
|
||||
*.zip
|
||||
*.rpi
|
||||
*~
|
||||
*.bcf
|
||||
*.run.xml
|
||||
samples/ACM-Reference-Format.bst
|
||||
samples/*.tex
|
||||
samples/*.bbx
|
||||
samples/*.cbx
|
||||
samples/*.dbx
|
File diff suppressed because it is too large
Load Diff
@ -1,142 +0,0 @@
|
||||
#
|
||||
# Makefile for acmart package
|
||||
#
|
||||
# This file is in public domain
|
||||
#
|
||||
# $Id: Makefile,v 1.10 2016/04/14 21:55:57 boris Exp $
|
||||
#
|
||||
|
||||
PACKAGE=acmart
|
||||
|
||||
|
||||
PDF = $(PACKAGE).pdf acmguide.pdf
|
||||
|
||||
BIBLATEXFILES= $(wildcard *.bbx) $(wildcard *.cbx) $(wildcard *.dbx) $(wildcard *.lbx)
|
||||
SAMPLEBIBLATEXFILES=$(patsubst %,samples/%,$(BIBLATEXFILES))
|
||||
|
||||
all: ${PDF} ALLSAMPLES
|
||||
|
||||
%.pdf: %.dtx $(PACKAGE).cls
|
||||
pdflatex $<
|
||||
- bibtex $*
|
||||
pdflatex $<
|
||||
- makeindex -s gind.ist -o $*.ind $*.idx
|
||||
- makeindex -s gglo.ist -o $*.gls $*.glo
|
||||
pdflatex $<
|
||||
while ( grep -q '^LaTeX Warning: Label(s) may have changed' $*.log) \
|
||||
do pdflatex $<; done
|
||||
|
||||
|
||||
%.cls: %.ins %.dtx
|
||||
pdflatex $<
|
||||
|
||||
|
||||
ALLSAMPLES: $(SAMPLEBIBLATEXFILES)
|
||||
cd samples; pdflatex samples.ins; cd ..
|
||||
for texfile in samples/*.tex; do \
|
||||
pdffile=$${texfile%.tex}.pdf; \
|
||||
${MAKE} $$pdffile; \
|
||||
done
|
||||
|
||||
samples/%: %
|
||||
cp $^ samples
|
||||
|
||||
|
||||
samples/$(PACKAGE).cls: $(PACKAGE).cls
|
||||
samples/ACM-Reference-Format.bst: ACM-Reference-Format.bst
|
||||
|
||||
samples/abbrev.bib: ACM-Reference-Format.bst
|
||||
perl -pe 's/MACRO ({[^}]*}) *\n/MACRO \1/' ACM-Reference-Format.bst \
|
||||
| grep MACRO | sed 's/MACRO {/@STRING{/' \
|
||||
| sed 's/} *{/ = /' > samples/abbrev.bib
|
||||
|
||||
|
||||
samples/%.bbx: %.bbx
|
||||
samples/%.cbx: %.cbx
|
||||
samples/%.dbx: %.dbx
|
||||
samples/%.lbx: %.lbx
|
||||
|
||||
samples/%.pdf: samples/%.tex samples/$(PACKAGE).cls samples/ACM-Reference-Format.bst
|
||||
cd $(dir $@) && pdflatex-dev $(notdir $<)
|
||||
- cd $(dir $@) && bibtex $(notdir $(basename $<))
|
||||
cd $(dir $@) && pdflatex-dev $(notdir $<)
|
||||
cd $(dir $@) && pdflatex-dev $(notdir $<)
|
||||
while ( grep -q '^LaTeX Warning: Label(s) may have changed' $(basename $<).log) \
|
||||
do cd $(dir $@) && pdflatex-dev $(notdir $<); done
|
||||
|
||||
samples/sample-sigconf-biblatex.pdf: samples/sample-sigconf-biblatex.tex $(SAMPLEBIBLATEXFILES)
|
||||
cd $(dir $@) && pdflatex-dev $(notdir $<)
|
||||
- cd $(dir $@) && biber $(notdir $(basename $<))
|
||||
cd $(dir $@) && pdflatex-dev $(notdir $<)
|
||||
cd $(dir $@) && pdflatex-dev $(notdir $<)
|
||||
while ( grep -q '^LaTeX Warning: Label(s) may have changed' $(basename $<).log) \
|
||||
do cd $(dir $@) && pdflatex-dev $(notdir $<); done
|
||||
|
||||
samples/sample-acmsmall-biblatex.pdf: samples/sample-acmsmall-biblatex.tex $(SAMPLEBIBLATEXFILES)
|
||||
cd $(dir $@) && pdflatex-dev $(notdir $<)
|
||||
- cd $(dir $@) && biber $(notdir $(basename $<))
|
||||
cd $(dir $@) && pdflatex-dev $(notdir $<)
|
||||
cd $(dir $@) && pdflatex-dev $(notdir $<)
|
||||
while ( grep -q '^LaTeX Warning: Label(s) may have changed' $(basename $<).log) \
|
||||
do cd $(dir $@) && pdflatex-dev $(notdir $<); done
|
||||
|
||||
samples/sample-xelatex.pdf: samples/sample-xelatex.tex samples/$(PACKAGE).cls samples/ACM-Reference-Format.bst
|
||||
cd $(dir $@) && xelatex-dev $(notdir $<)
|
||||
- cd $(dir $@) && bibtex $(notdir $(basename $<))
|
||||
cd $(dir $@) && xelatex-dev $(notdir $<)
|
||||
cd $(dir $@) && xelatex-dev $(notdir $<)
|
||||
while ( grep -q '^LaTeX Warning: Label(s) may have changed' $(basename $<).log) \
|
||||
do cd $(dir $@) && xelatex-dev $(notdir $<); done
|
||||
|
||||
samples/sample-lualatex.pdf: samples/sample-lualatex.tex samples/$(PACKAGE).cls samples/ACM-Reference-Format.bst
|
||||
cd $(dir $@) && lualatex-dev $(notdir $<)
|
||||
- cd $(dir $@) && bibtex $(notdir $(basename $<))
|
||||
cd $(dir $@) && lualatex-dev $(notdir $<)
|
||||
cd $(dir $@) && lualatex-dev $(notdir $<)
|
||||
while ( grep -q '^LaTeX Warning: Label(s) may have changed' $(basename $<).log) \
|
||||
do cd $(dir $@) && lualatex-dev $(notdir $<); done
|
||||
|
||||
samples/sample-acmcp.pdf: samples/acm-jdslogo.png
|
||||
|
||||
.PRECIOUS: $(PACKAGE).cfg $(PACKAGE).cls
|
||||
|
||||
docclean:
|
||||
$(RM) *.log *.aux \
|
||||
*.cfg *.glo *.idx *.toc \
|
||||
*.ilg *.ind *.out *.lof \
|
||||
*.lot *.bbl *.blg *.gls *.cut *.hd \
|
||||
*.dvi *.ps *.thm *.tgz *.zip *.rpi \
|
||||
samples/$(PACKAGE).cls samples/ACM-Reference-Format.bst \
|
||||
samples/*.log samples/*.aux samples/*.out \
|
||||
samples/*.bbl samples/*.blg samples/*.cut \
|
||||
samples/acm-jdslogo.png \
|
||||
samples/*.run.xml samples/*.bcf $(SAMPLEBIBLATEXFILES)
|
||||
|
||||
|
||||
clean: docclean
|
||||
$(RM) $(PACKAGE).cls \
|
||||
samples/*.tex
|
||||
|
||||
distclean: clean
|
||||
$(RM) *.pdf samples/sample-*.pdf
|
||||
|
||||
#
|
||||
# Archive for the distribution. Includes typeset documentation
|
||||
#
|
||||
archive: all clean
|
||||
COPYFILE_DISABLE=1 tar -C .. -czvf ../$(PACKAGE).tgz --exclude '*~' --exclude '*.tgz' --exclude '*.zip' --exclude CVS --exclude '.git*' $(PACKAGE); mv ../$(PACKAGE).tgz .
|
||||
|
||||
zip: all clean
|
||||
zip -r $(PACKAGE).zip * -x '*~' -x '*.tgz' -x '*.zip' -x CVS -x 'CVS/*'
|
||||
|
||||
# distros
|
||||
distros: all docclean
|
||||
zip -r acm-distro.zip \
|
||||
acmart.pdf acmguide.pdf samples *.cls ACM-Reference-Format.* \
|
||||
--exclude samples/sample-acmengage*
|
||||
zip -r acmengage-distro.zip samples/sample-acmengage* \
|
||||
samples/*.bib \
|
||||
acmart.pdf acmguide.pdf *.cls ACM-Reference-Format.*
|
||||
|
||||
|
||||
.PHONY: all ALLSAMPLES docclean clean distclean archive zip
|
@ -1,345 +0,0 @@
|
||||
This package provides a class for typesetting publications of the
|
||||
Association for Computing Machinery.
|
||||
|
||||
Your TeX distribution probably includes the latest released version of
|
||||
this package. If you decide to install it yourself, please see the
|
||||
Installation section of the User's Guide.
|
||||
|
||||
Please note that the version on Github is a development (or
|
||||
experimental) version: please download it for testing new features.
|
||||
The production version is the one on CTAN and ACM sites.
|
||||
|
||||
|
||||
Changes
|
||||
|
||||
Version 1.90 Journal ISSN updated
|
||||
|
||||
Version 1.89a Added version info to .bst
|
||||
|
||||
Version 1.89 Bug fixes
|
||||
Redesign of ACMCP
|
||||
New positioning of badges
|
||||
New journals: PACMMOD, TOPML
|
||||
|
||||
Version 1.88 New ISSNs
|
||||
Documentation updates
|
||||
New journal: PACMNET
|
||||
|
||||
Version 1.87 CC license is allowed for non-acm documents and ACM Engage
|
||||
documents only
|
||||
New format acmcp for the cover page
|
||||
New journals: JATS, ACMJCSS, TORS
|
||||
Bug fixes
|
||||
|
||||
Version 1.86. Empty country in affiliation now produces an error
|
||||
Bug fixes
|
||||
New samples for acmengage
|
||||
|
||||
Version 1.85. Bug fixes
|
||||
Added support for Creative Commons licenses (requires
|
||||
doclicense images)
|
||||
New journals
|
||||
New format acmengage for ACM Engage CSEdu course materials
|
||||
|
||||
Version 1.84 Support for BibLaTeX rewritten (thanks to
|
||||
Roberto Di Cosmo and Kartik Singhal)
|
||||
Corrected German translation (thanks to Dirk Beyer)
|
||||
New journals
|
||||
|
||||
Version 1.83 Support for multilanguage papers
|
||||
ISSN changes for some journals
|
||||
|
||||
Version 1.82 Bug fixes.
|
||||
New command \anon for anonymization of short strings.
|
||||
Documentation update.
|
||||
|
||||
Version 1.81 Bug fixes
|
||||
New bib field distinctURL to print URL even if doi is present.
|
||||
Reworded samples
|
||||
|
||||
Version 1.80 New journals: DLT, FAC
|
||||
|
||||
Version 1.79 Fixed pages with index
|
||||
(https://github.com/borisveytsman/acmart/issues/440)
|
||||
Updated information for TAP, TCPS, TEAC
|
||||
|
||||
Version 1.78 Documentation update.
|
||||
Magic texcount comments for samples.
|
||||
Title page now is split if there are too many authors
|
||||
Bug fixes.
|
||||
|
||||
Version 1.77 Changed the way to typeset multiple affiliations (Christoph Sommer)
|
||||
|
||||
Version 1.76 Added many journal abbreviations to the bst.
|
||||
New experimental option: pbalance
|
||||
ORCID linking code
|
||||
|
||||
Version 1.75 Omitted \country now produces error.
|
||||
Added \AtBeginMaketitle
|
||||
|
||||
Version 1.74 Bug fixes. A regression introduced in the font changes
|
||||
is reverted.
|
||||
|
||||
Version 1.73 Bug fixes
|
||||
The elements institution, city and country are now obligatory
|
||||
for affiliations. The absence of them produces a warning
|
||||
|
||||
Version 1.72 Bug fixes. Better handling of metadata.
|
||||
|
||||
Version 1.71 Bug fixes
|
||||
Formats sigchi and sigchi-a are retired
|
||||
Bibliography formatting changes for @inproceedings entries
|
||||
having both series and volume
|
||||
LuaLaTeX now uses the same OTF fonts as XeLaTeX
|
||||
|
||||
Version 1.70 Title change for ACM/IMS Transactions on Data Science
|
||||
Bug fixes for bibliography
|
||||
|
||||
Version 1.69 Bug fixes
|
||||
Compatibility with LaTeX 2020-02-02 release
|
||||
|
||||
Version 1.68 Bug fixes
|
||||
BST now recognizes words `Paper' or 'Article' in
|
||||
eid or articleno
|
||||
|
||||
Version 1.67 Urgent bug fixes:
|
||||
BibTeX style bug fixed (Michael D. Adams)
|
||||
Sigplan special section bugfix
|
||||
|
||||
Version 1.66 Bug fixes
|
||||
BibTeX change: location is now a synonym for city (Feras Saad)
|
||||
ACM reference format is now mandatory for papers over one page.
|
||||
CCS concepts and keywords are now mandatory for
|
||||
papers over two pages.
|
||||
Authors' addresses are mandatory for journal articles.
|
||||
|
||||
Version 1.65 Bug fixes
|
||||
New journal: DGOV
|
||||
DTRAP and HEALTH are now using acmlarge format
|
||||
|
||||
Version 1.64 Produce error if abstract is entered after maketitle
|
||||
(previously abstract was silently dropped)
|
||||
Bug fixes for line numbering
|
||||
|
||||
Version 1.63a Moved TQUANT to TQC
|
||||
|
||||
Version 1.63 New journals: TQUANT, FACMP
|
||||
|
||||
Version 1.62 Documentation update
|
||||
New journal: TELO
|
||||
Bug fixes
|
||||
|
||||
Version 1.61 Bug fixes
|
||||
New bibtex types for artifacts
|
||||
|
||||
Version 1.60 New option: urlbreakonhyphens (thanks to Peter Kemp)
|
||||
Smaller header size for acmsmall
|
||||
|
||||
Version 1.59 Now a journal format can be used for conference proceedings
|
||||
All samples are now generated from the same .dtx file
|
||||
Bug fixes
|
||||
|
||||
Version 1.58 Suppressed spurious warnings.
|
||||
New journal: HEALTH.
|
||||
TDSCI is renamed to TDS.
|
||||
|
||||
Version 1.57 Change of \baselinestretch now produces an error
|
||||
Booktabs is now always loaded
|
||||
Added option `balance' to balance last page in two-column mode
|
||||
E-mail is no longer split in addresses
|
||||
New samples (Stephen Spencer)
|
||||
|
||||
Version 1.56 Bug fixes
|
||||
Added \flushbottom to two column formats (Philip Quinn)
|
||||
The final punctuation for the list of concepts
|
||||
is now a period instead of a semicolon (Philip Quinn)
|
||||
New command \Description to describe images for visually
|
||||
impaired users.
|
||||
|
||||
Version 1.55 Bug fixes
|
||||
Font changes for SIGCHI table captions
|
||||
|
||||
Version 1.54 New option: 'nonacm' (Gabriel Scherer)
|
||||
Deleted indent for subsubsection (suggested by Ross Moore)
|
||||
Suppressed some obscurious warning in BibTeX processing
|
||||
Suppressed hyperrerf warnings (Paolo G. Giarrusso)
|
||||
New code for sections to help with accessibility patches
|
||||
(Ross Moore)
|
||||
Submission id, if present, is printed in anon mode
|
||||
Bug fixes
|
||||
|
||||
Version 1.53 New journals: PACMCGIT, TIOT, TDSCI
|
||||
|
||||
Version 1.52 Another rewording of licenses
|
||||
|
||||
Version 1.51 Journal footers now use abbreviated journal titles.
|
||||
Corrected the bug with acmPrice.
|
||||
Do not show price when copyright is set to iw3c2w3 and iw3c2w3g.
|
||||
The package now is compatible with polyglossia (Joachim Breitner).
|
||||
Slightly reworded copyright statements.
|
||||
|
||||
Version 1.50 Changes in iw3c2w3 and iw3c2w3g
|
||||
|
||||
Version 1.49 New jorunal: DTRAP
|
||||
|
||||
Version 1.48 Bug fixes
|
||||
Review mode now switches on folios
|
||||
Code prettying (Michael D. Adams)
|
||||
Bibliography changes: @MISC entries no longer have a
|
||||
separate date
|
||||
Sigch-a sample bibliography renamed
|
||||
Bib code cleanup (Zack Weinberg)
|
||||
Acmart and version info are added to pdfcreator tag
|
||||
\citeyear no longer produces parenthetical year
|
||||
Added initial support for Biblatex (Daniel Thomas)
|
||||
Added support for IW3C2 conferences
|
||||
|
||||
Version 1.47 New journal: THRI
|
||||
|
||||
Version 1.46 Bug fixes for bibliography: label width is now calculated
|
||||
correctly.
|
||||
All PACM now use screen option. This requires etoolbox.
|
||||
Added subtitle to ACM reference format.
|
||||
Now acmart is compatible with fontspec.
|
||||
\thanks is now obsolete. The addresses are automatically
|
||||
added to the journal version; this can be overriden with
|
||||
\authorsaddresses command.
|
||||
Deleted the rule at the end of frontmatter for all formats.
|
||||
Deleted new line before doi in the reference format.
|
||||
Reintegrated theorem code into acmart.dtx (Matthew Fluet)
|
||||
|
||||
Version 1.45 Workaround for a Libertine bug. Thanks to LianTze Lim
|
||||
from Overleaf
|
||||
|
||||
Version 1.44 Bug fixes.
|
||||
Empty DOI and ISBN suppress printing DOI or ISBN lines
|
||||
Separated theorem code into acmthm.sty, loaded by default.
|
||||
Article number can be set for proceedings.
|
||||
New commands: \acmBooktile, \editor.
|
||||
Reference citation format updated.
|
||||
|
||||
Version 1.43 Bug fixes
|
||||
|
||||
Version 1.42 Deleted ACM badges
|
||||
Bug fixes
|
||||
|
||||
Version 1.41 Rearranged bib files
|
||||
Added new badges
|
||||
|
||||
Version 1.40 Bibliography changes
|
||||
Added processing of one-compoment ccsdesc nodes
|
||||
Bug fixes.
|
||||
Made the height a multiple of \baselineskip + \topskip
|
||||
Added cleveref
|
||||
We no longer print street address in SIGs
|
||||
|
||||
Version 1.39 Added \authornotemark commmand
|
||||
|
||||
Version 1.38 Increase default font size for SIGPLAN
|
||||
|
||||
Version 1.37 Reduce list indentation (Matthew Fluet)
|
||||
|
||||
Version 1.36 Bug fixes
|
||||
Moved PACMPL to acmlarge format
|
||||
New journal: PACMHCI
|
||||
Added the possibility to adjust number of author
|
||||
boxes per row in conference formats
|
||||
|
||||
Version 1.35 Author-year bib style now uses square brackets.
|
||||
Changed defaults for TOG sample
|
||||
Price is suppressed for usgov and rightsretained modes.
|
||||
Bugs fixed
|
||||
|
||||
Version 1.34 Deleted DOI from doi numbers
|
||||
Changed bibstrip formatting
|
||||
The command \terms is now obsolete
|
||||
The rulers in review mode now have continuous numbering
|
||||
|
||||
Version 1.33 New option `timestamp' (Michael D. Adams)
|
||||
New option `authordraft'
|
||||
Documentation updates
|
||||
Bug fixes
|
||||
We now use Type 1 versions of Libertine fonts even with XeTeX.
|
||||
New hook acmart-preload-hook.tex (wizards only!)
|
||||
Added new options `obeypunctuation' for \affiliation command
|
||||
Added SubmissionID
|
||||
Added right line count ruler for two-column formats
|
||||
Added workaround for Adobe Acrobat bugs in selection
|
||||
Added eid field to the bibliography
|
||||
|
||||
Version 1.32 New DOI formatting.
|
||||
Format siggraph is now obsolete, and sigconf
|
||||
is used instead.
|
||||
New proceedings title: POMACS.
|
||||
|
||||
Version 1.31 Changed default year and month to the current ones
|
||||
(thanks to Matteo Riondato)
|
||||
Table of contents now works
|
||||
Marginalia now work in all formats
|
||||
New command \additionalaffiliation
|
||||
Documentation changes
|
||||
|
||||
Version 1.30 Bibtex style now recognizes https:// in doi.
|
||||
Added \frenchspacing.
|
||||
\department now has an optional hierarchy level.
|
||||
Switched to T1 encoding
|
||||
Updated IMWUT and PACMPL
|
||||
|
||||
Version 1.29 Documentation changes. Head height increased from 12pt to 13pt.
|
||||
Removed spurious indent at start of abstract.
|
||||
Improved kerning in CCS description list.
|
||||
|
||||
Version 1.28 Bug fixes: natbib=false now behaves correctly.
|
||||
|
||||
Version 1.27 Bug fixes
|
||||
|
||||
Version 1.26 Bug fixes
|
||||
|
||||
Version 1.25 Updated PACMPL journal option.
|
||||
|
||||
Version 1.24 Added IMWUT journal option.
|
||||
|
||||
Version 1.23 Added PACM PL journal option.
|
||||
|
||||
Version 1.22 Bibliography changes for Aptara backend; should be
|
||||
invisible for the users.
|
||||
|
||||
Version 1.21 Bibliography changes: added arXiv, some cleanup
|
||||
|
||||
Version 1.20 Bug fixes, documentation updates
|
||||
|
||||
Version 1.19 Include 'Abstract', 'Acknowledgements', and 'References'
|
||||
in PDF bookmarks.
|
||||
|
||||
Version 1.18 Natbib is now the default for all versions. A unified bib
|
||||
file is used for all styles. Better treatment
|
||||
of multiple affiliations.
|
||||
|
||||
|
||||
Version 1.17 Formatting changes for margins and lists. Bug fixes.
|
||||
|
||||
Version 1.16 Formatting changes for headers and footers.
|
||||
|
||||
Version 1.15 New structured affiliation command.
|
||||
New commands for acknowledgements.
|
||||
|
||||
Version 1.14 Warn about undefined citation styles; move definitions
|
||||
of acmauthoryear and acmnumeric citation styles before
|
||||
use.
|
||||
|
||||
Version 1.13 Formatting changes: headers, folios etc.
|
||||
Bibliography changes.
|
||||
|
||||
Version 1.12 Bug fixes and documentation updates.
|
||||
Footnotes rearranged.
|
||||
Option natbib is now mostly superfluous: the class
|
||||
makes a guess based on the format chosen.
|
||||
|
||||
Version 1.11 Customization of ACM theorem styles and proof
|
||||
environment (Matthew Fluet).
|
||||
|
||||
Version 1.10 Bug fixes
|
||||
|
||||
Version 1.09 SIGPLAN: revert caption rules (Matthew Fluet)
|
||||
|
||||
Version 1.08 SIGPLAN reformatting (Matthew Fluet); bug fixes
|
Binary file not shown.
Before Width: | Height: | Size: 19 KiB |
@ -1,95 +0,0 @@
|
||||
@Misc{TeXFAQ,
|
||||
title = {{UK} List of {\TeX} Frequently Asked Questions},
|
||||
author = {{UK \TeX{} Users Group}},
|
||||
year = 2019,
|
||||
howpublished = {\url{https://texfaq.org}}
|
||||
}
|
||||
|
||||
@Manual{Downes04:amsart,
|
||||
title = {The \textsf{amsart}, \textsf{amsproc}, and
|
||||
\textsf{amsbook} document~classes},
|
||||
author = {Michael Downes and Barbara Beeton},
|
||||
organization = {American Mathematical Society},
|
||||
year = 2004,
|
||||
month = aug,
|
||||
note = {\url{http://www.ctan.org/pkg/amslatex}}
|
||||
}
|
||||
|
||||
@Manual{Fiorio15,
|
||||
title = {{a}lgorithm2e.sty---package for algorithms},
|
||||
author = {Cristophe Fiorio},
|
||||
year = 2015,
|
||||
month = oct,
|
||||
note = {\url{http://www.ctan.org/pkg/algorithm2e}}
|
||||
}
|
||||
|
||||
@Manual{Brito09,
|
||||
title = {The algorithms bundle},
|
||||
author = {Rog\'erio Brito},
|
||||
year = 2009,
|
||||
month = aug,
|
||||
note = {\url{http://www.ctan.org/pkg/algorithms}}
|
||||
}
|
||||
|
||||
@Manual{Heinz15,
|
||||
title = {The Listings Package},
|
||||
author = {Carsten Heinz and Brooks Moses and Jobst Hoffmann},
|
||||
year = 2015,
|
||||
month = jun,
|
||||
note = {\url{http://www.ctan.org/pkg/listings}}
|
||||
}
|
||||
|
||||
@Manual{Fear05,
|
||||
title = {Publication quality tables in {\LaTeX}},
|
||||
author = {Simon Fear},
|
||||
year = 2005,
|
||||
month = apr,
|
||||
note = {\url{http://www.ctan.org/pkg/booktabs}}
|
||||
}
|
||||
|
||||
@Manual{ACMIdentityStandards,
|
||||
title = {{ACM} Visual Identity Standards},
|
||||
organization = {Association for Computing Machinery},
|
||||
year = 2007,
|
||||
note = {\url{http://identitystandards.acm.org}}
|
||||
}
|
||||
|
||||
@Manual{Sommerfeldt13:Subcaption,
|
||||
title = {The subcaption package},
|
||||
author = {Axel Sommerfeldt},
|
||||
year = 2013,
|
||||
month = apr,
|
||||
note = {\url{http://www.ctan.org/pkg/subcaption}}
|
||||
}
|
||||
|
||||
@Manual{Nomencl,
|
||||
title = {A package to create a nomenclature},
|
||||
author = {Boris Veytsman and Bern Schandl and Lee Netherton
|
||||
and C. V. Radhakrishnan},
|
||||
year = 2005,
|
||||
month = sep,
|
||||
note = {\url{http://www.ctan.org/pkg/nomencl}}
|
||||
}
|
||||
|
||||
@Manual{Talbot16:Glossaries,
|
||||
title = {User Manual for glossaries.sty v4.44},
|
||||
author = {Nicola L. C. Talbot},
|
||||
year = 2019,
|
||||
month = dec,
|
||||
note = {\url{http://www.ctan.org/pkg/glossaries}}
|
||||
}
|
||||
|
||||
@Manual{Carlisle04:Textcase,
|
||||
title = {The \textsl{textcase} package},
|
||||
author = {David Carlisle},
|
||||
month = oct,
|
||||
year = 2004,
|
||||
note = {\url{http://www.ctan.org/pkg/textcase}}
|
||||
}
|
||||
|
||||
@Manual{Braams22:Babel,
|
||||
title = {Babel},
|
||||
author = {Johannes L. Braams and Javier Bezos},
|
||||
year = 2022,
|
||||
note = {\url{http://www.ctan.org/pkg/babel}}}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,30 +0,0 @@
|
||||
%
|
||||
% Doctrip file for acmart
|
||||
% This file is in public domain
|
||||
% $Id: acmart.ins,v 1.1 2015/11/23 22:42:55 boris Exp $
|
||||
%
|
||||
\def\batchfile{acmart.ins}
|
||||
\input docstrip
|
||||
\keepsilent
|
||||
\showprogress
|
||||
|
||||
|
||||
\askforoverwritefalse
|
||||
|
||||
\generate{%
|
||||
\file{acmart.cls}{\from{acmart.dtx}{class}}
|
||||
}
|
||||
|
||||
\obeyspaces
|
||||
\Msg{*****************************************************}%
|
||||
\Msg{* Congratulations! You successfully generated the *}%
|
||||
\Msg{* acmart package. *}%
|
||||
\Msg{* *}%
|
||||
\Msg{* Please move the file acmart.cls to where LaTeX *}%
|
||||
\Msg{* files are stored in your system. The manual is *}%
|
||||
\Msg{* acmart.pdf. *}%
|
||||
\Msg{* *}%
|
||||
\Msg{* The package is released under LPPL *}%
|
||||
\Msg{* *}%
|
||||
\Msg{* Happy TeXing! *}%
|
||||
\Msg{*****************************************************}%
|
@ -1,900 +0,0 @@
|
||||
\ProvidesFile{acmauthoryear.bbx}[2022-02-14 v0.1 biblatex bibliography style]
|
||||
|
||||
% Inherit a default style
|
||||
\RequireBibliographyStyle{authoryear-comp}
|
||||
|
||||
%%% New command definitions from trad-standard.bbx
|
||||
|
||||
\newcommand*{\newcommaunit}{\@ifstar\newcommaunitStar\newcommaunitNoStar}
|
||||
\newcommand*{\newcommaunitStar}{\setunit*{\addcomma\space}}
|
||||
\newcommand*{\newcommaunitNoStar}{\setunit{\addcomma\space}}
|
||||
|
||||
%%% Forward compatibility for date+extradate
|
||||
|
||||
\ifcsundef{ifbibmacroundef}{
|
||||
\ifcsundef{abx@macro@date+extradate}{ %%% For really really old biblatex that miss \ifbibmacroundef
|
||||
\blx@warning{bibmacro 'date+extradate' is missing.\MessageBreak
|
||||
Please consider updating your version of biblatex.\MessageBreak
|
||||
Using 'date+extrayear' instead}%
|
||||
\providebibmacro*{date+extradate}{\usebibmacro{date+extrayear}}
|
||||
}{}
|
||||
}
|
||||
{
|
||||
\ifbibmacroundef{date+extradate}{
|
||||
\blx@warning{bibmacro 'date+extradate' is missing.\MessageBreak
|
||||
Please consider updating your version of biblatex.\MessageBreak
|
||||
Using 'date+extrayear' instead}%
|
||||
\providebibmacro*{date+extradate}{\usebibmacro{date+extrayear}}
|
||||
}{}
|
||||
}
|
||||
|
||||
%%% Localisation strings for ACM
|
||||
|
||||
\DefineBibliographyStrings{american}{%
|
||||
mathesis = {Master's thesis},
|
||||
phdthesis = {Ph\adddot{}D\adddotspace Dissertation},
|
||||
editor = {(Ed\adddot)},
|
||||
editors = {(Eds\adddot)},
|
||||
edition = {ed\adddot},
|
||||
}
|
||||
|
||||
|
||||
|
||||
%%% Formatting for fields
|
||||
|
||||
%\DeclareFieldFormat
|
||||
% [article,inbook,incollection,inproceedings,patent,thesis,unpublished]
|
||||
% {title}{#1}
|
||||
\DeclareFieldFormat{pages}{#1}
|
||||
|
||||
\DeclareFieldFormat{numpages}{#1 pages}
|
||||
|
||||
\DeclareFieldFormat{number}{#1}
|
||||
|
||||
\DeclareFieldFormat{articleno}{Article #1}
|
||||
|
||||
\DeclareFieldFormat{key}{#1}
|
||||
|
||||
\DeclareFieldFormat{urldate}{Retrieved\space{}#1\space{}from}
|
||||
\DeclareFieldFormat{lastaccessed}{Retrieved\space{}#1\space{}from}
|
||||
|
||||
\DeclareFieldFormat{url}{\url{#1}}
|
||||
|
||||
\DeclareFieldFormat{edition}{%
|
||||
\printtext[parens]{\ifinteger{#1}
|
||||
{\mkbibordedition{#1}~\bibstring{edition}}
|
||||
{#1\isdot~\bibstring{edition}}}}
|
||||
|
||||
|
||||
% Handle urls field containing 'and' separated list of URLs
|
||||
% https://github.com/plk/biblatex/issues/229
|
||||
\DeclareListFormat{urls}{%
|
||||
\url{#1}%
|
||||
\ifthenelse{\value{listcount}<\value{liststop}}
|
||||
{\addcomma\space}
|
||||
{}}
|
||||
\renewbibmacro*{url}{\iffieldundef{url}{\printlist{urls}}{\printfield{url}}}
|
||||
|
||||
%%% Bibmacro definitions
|
||||
|
||||
\renewbibmacro*{translator+others}{%
|
||||
\ifboolexpr{
|
||||
test \ifusetranslator
|
||||
and
|
||||
not test {\ifnameundef{translator}}
|
||||
}
|
||||
{\printnames{translator}%
|
||||
\setunit{\addcomma\space}%
|
||||
\usebibmacro{translator+othersstrg}%
|
||||
\clearname{translator}}
|
||||
{\printfield{key}}}
|
||||
|
||||
\newbibmacro*{year}{%
|
||||
\iffieldundef{year}%
|
||||
{\printtext{[n.\ d.]}}%
|
||||
{\printfield{year}}%
|
||||
}
|
||||
|
||||
\renewbibmacro*{date}{\printtext[parens]{\printdate}}
|
||||
|
||||
|
||||
\renewbibmacro*{url+urldate}{\iffieldundef{urlyear}
|
||||
{\iffieldundef{lastaccessed}
|
||||
{}
|
||||
{\printfield{lastaccessed}%
|
||||
\setunit*{\addspace}}%
|
||||
}
|
||||
{\usebibmacro{urldate}%
|
||||
\setunit*{\addspace}}%
|
||||
\usebibmacro{url}%
|
||||
}
|
||||
|
||||
\renewbibmacro*{journal+issuetitle}{%
|
||||
\usebibmacro{journal}%
|
||||
\setunit*{\addcomma\space}%
|
||||
\iffieldundef{series}
|
||||
{}
|
||||
{\newunit%
|
||||
\printfield{series}%
|
||||
\setunit{\addspace}}%
|
||||
\usebibmacro{volume+number+date+pages+eid}%
|
||||
\newcommaunit%
|
||||
% \setunit{\addspace}%
|
||||
\usebibmacro{issue-issue}%
|
||||
\setunit*{\addcolon\space}%
|
||||
\usebibmacro{issue}%
|
||||
\newunit}
|
||||
|
||||
|
||||
|
||||
\newbibmacro*{volume+number+date+pages+eid}{%
|
||||
\printfield{volume}%
|
||||
\setunit*{\addcomma\space}%
|
||||
\printfield{number}%
|
||||
\setunit*{\addcomma\space}%
|
||||
\printfield{articleno}
|
||||
\setunit{\addcomma\space}
|
||||
\usebibmacro{date-ifmonth}
|
||||
\setunit{\addcomma\space}%
|
||||
\iffieldundef{pages}%
|
||||
{\printfield{numpages}}%
|
||||
{\printfield{pages}}%
|
||||
\newcommaunit%
|
||||
\printfield{eid}}%
|
||||
|
||||
\renewbibmacro*{chapter+pages}{%
|
||||
\printfield{chapter}%
|
||||
\setunit{\bibpagespunct}%
|
||||
\iffieldundef{pages}%
|
||||
{\printfield{numpages}}%
|
||||
{\printfield{pages}}%
|
||||
\newunit}
|
||||
|
||||
\renewbibmacro*{editor+others}{%
|
||||
\ifboolexpr{
|
||||
test \ifuseeditor
|
||||
and
|
||||
not test {\ifnameundef{editor}}
|
||||
}
|
||||
{\printnames{editor}%
|
||||
\setunit{\addcomma\space}%
|
||||
\usebibmacro{editor+othersstrg}%
|
||||
\clearname{editor}}
|
||||
{\iflistundef{organization}{}{\printlist{organization}}}
|
||||
\usebibmacro{date+extradate}
|
||||
}
|
||||
|
||||
|
||||
\newbibmacro*{issue-issue}{%
|
||||
\iffieldundef{issue}%
|
||||
{}%
|
||||
{\printfield{issue}%
|
||||
\setunit*{\addcomma\space}%
|
||||
\usebibmacro{date-ifmonth}%
|
||||
}%
|
||||
\newunit}
|
||||
|
||||
|
||||
|
||||
|
||||
\newbibmacro*{maintitle+booktitle+series+number}{%
|
||||
\iffieldundef{maintitle}
|
||||
{}
|
||||
{\usebibmacro{maintitle}%
|
||||
\newunit\newblock
|
||||
\iffieldundef{volume}
|
||||
{}
|
||||
{\printfield{volume}%
|
||||
\printfield{part}%
|
||||
\setunit{\addcolon\space}}}%
|
||||
\usebibmacro{booktitle}%
|
||||
\setunit*{\addspace}
|
||||
\printfield[parens]{series}%
|
||||
\setunit*{\addspace}%
|
||||
\printfield{number}%
|
||||
\setunit*{\addcomma\space}%
|
||||
\printfield{articleno}
|
||||
\newunit
|
||||
}
|
||||
|
||||
\renewbibmacro*{booktitle}{%
|
||||
\ifboolexpr{
|
||||
test {\iffieldundef{booktitle}}
|
||||
and
|
||||
test {\iffieldundef{booksubtitle}}
|
||||
}
|
||||
{}
|
||||
{\printtext[booktitle]{%
|
||||
\printfield[titlecase]{booktitle}%
|
||||
\iffieldundef{booksubtitle}{}{
|
||||
\setunit{\subtitlepunct}%
|
||||
\printfield[titlecase]{booksubtitle}}%
|
||||
}%
|
||||
}%
|
||||
\printfield{booktitleaddon}}
|
||||
|
||||
\renewbibmacro*{volume+number+eid}{%
|
||||
\printfield{volume}%
|
||||
\setunit*{\addcomma\space}%
|
||||
\printfield{number}%
|
||||
\setunit*{\addcomma\space}%
|
||||
\printfield{articleno}
|
||||
\setunit{\addcomma\space}%
|
||||
\printfield{eid}}
|
||||
|
||||
|
||||
\renewbibmacro*{publisher+location+date}{%
|
||||
\printlist{publisher}%
|
||||
\setunit*{\addcomma\space}%
|
||||
\printlist{location}%
|
||||
\setunit*{\addcomma\space}%
|
||||
\usebibmacro{date-ifmonth}%
|
||||
\newunit}
|
||||
|
||||
|
||||
\newbibmacro{date-ifmonth}{%
|
||||
\iffieldundef{month}{}{%
|
||||
\usebibmacro{date}
|
||||
}%
|
||||
}
|
||||
|
||||
|
||||
\renewbibmacro*{institution+location+date}{%
|
||||
\printlist{school}%
|
||||
\setunit*{\addcomma\space}%
|
||||
\printlist{institution}%
|
||||
\setunit*{\addcomma\space}%
|
||||
\printlist{location}%
|
||||
\setunit*{\addcomma\space}%
|
||||
\usebibmacro{date-ifmonth}%
|
||||
\newunit}
|
||||
|
||||
|
||||
\renewbibmacro*{periodical}{%
|
||||
\iffieldundef{title}
|
||||
{}
|
||||
{\printtext[title]{%
|
||||
\printfield[titlecase]{title}%
|
||||
\setunit{\subtitlepunct}%
|
||||
\printfield[titlecase]{subtitle}}}%
|
||||
\newunit%
|
||||
\usebibmacro{journal}}
|
||||
|
||||
\renewbibmacro*{issue+date}{%
|
||||
\iffieldundef{issue}
|
||||
{\usebibmacro{date}}
|
||||
{\printfield{issue}%
|
||||
\setunit*{\addspace}%
|
||||
\usebibmacro{date}}%
|
||||
\newunit}
|
||||
|
||||
\renewbibmacro*{title+issuetitle}{%
|
||||
\usebibmacro{periodical}%
|
||||
\setunit*{\addspace}%
|
||||
\iffieldundef{series}
|
||||
{}
|
||||
{\newunit
|
||||
\printfield{series}%
|
||||
\setunit{\addspace}}%
|
||||
\printfield{volume}%
|
||||
\setunit*{\addcomma\space}%
|
||||
\printfield{number}%
|
||||
\setunit*{\addcomma\space}%
|
||||
\printfield{articleno}
|
||||
\setunit{\addcomma\space}%
|
||||
\printfield{eid}%
|
||||
\setunit{\addspace}%
|
||||
\usebibmacro{issue+date}%
|
||||
\setunit{\addcolon\space}%
|
||||
\usebibmacro{issue}%
|
||||
\newunit}
|
||||
|
||||
\renewbibmacro*{doi+eprint+url}{%
|
||||
\iftoggle{bbx:url}
|
||||
{\iffieldundef{doi}{
|
||||
\usebibmacro{url+urldate}
|
||||
}{\iffieldundef{distinctURL}
|
||||
{}
|
||||
{\usebibmacro{url+urldate}}
|
||||
}
|
||||
}%
|
||||
\newunit\newblock
|
||||
\iftoggle{bbx:eprint}
|
||||
{\usebibmacro{eprint}}
|
||||
{}%
|
||||
\newunit\newblock
|
||||
\iftoggle{bbx:doi}
|
||||
{\printfield{doi}}
|
||||
{}}
|
||||
|
||||
|
||||
%%% Definitions for drivers (alphabetical)
|
||||
|
||||
|
||||
|
||||
\DeclareBibliographyDriver{article}{%
|
||||
\usebibmacro{bibindex}%
|
||||
\usebibmacro{begentry}%
|
||||
\usebibmacro{author/translator+others}%
|
||||
\setunit{\labelnamepunct}\newblock%
|
||||
\usebibmacro{title}%
|
||||
\newunit%
|
||||
\printlist{language}%
|
||||
\newunit\newblock%
|
||||
\usebibmacro{byauthor}%
|
||||
\newunit\newblock%
|
||||
\usebibmacro{bytranslator+others}%
|
||||
\newunit\newblock%
|
||||
\printfield{version}%
|
||||
\newunit\newblock%
|
||||
\usebibmacro{journal+issuetitle}%
|
||||
\newunit%
|
||||
\usebibmacro{byeditor+others}%
|
||||
\newunit%
|
||||
\printfield{note}%
|
||||
\newunit\newblock%
|
||||
\iftoggle{bbx:isbn}
|
||||
{\printfield{isbn}}
|
||||
{}%
|
||||
\newunit\newblock%
|
||||
\usebibmacro{doi+eprint+url}%
|
||||
\newunit\newblock%
|
||||
\usebibmacro{addendum+pubstate}%
|
||||
\setunit{\bibpagerefpunct}\newblock
|
||||
\usebibmacro{pageref}%
|
||||
\newunit\newblock%
|
||||
\usebibmacro{related}%
|
||||
\usebibmacro{finentry}}
|
||||
|
||||
|
||||
|
||||
\DeclareBibliographyDriver{book}{%
|
||||
\usebibmacro{bibindex}%
|
||||
\usebibmacro{begentry}%
|
||||
\usebibmacro{author/editor+others/translator+others}%
|
||||
\setunit{\labelnamepunct}\newblock
|
||||
\usebibmacro{maintitle+title}%
|
||||
\newunit%
|
||||
\printlist{language}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byauthor}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byeditor+others}%
|
||||
\newunit\newblock
|
||||
\printfield{edition}%
|
||||
\newunit
|
||||
\usebibmacro{series+number}%
|
||||
\iffieldundef{maintitle}
|
||||
{\printfield{volume}%
|
||||
\printfield{part}}
|
||||
{}%
|
||||
\newunit
|
||||
\newunit\newblock
|
||||
\printfield{volumes}%
|
||||
\newunit\newblock
|
||||
\printfield{note}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{publisher+location+date}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{chapter+pages}%
|
||||
\newunit
|
||||
\printfield{pagetotal}%
|
||||
\newunit\newblock
|
||||
\iftoggle{bbx:isbn}
|
||||
{\printfield{isbn}}
|
||||
{}%
|
||||
\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}}
|
||||
{}%
|
||||
\usebibmacro{finentry}}
|
||||
|
||||
|
||||
|
||||
\DeclareBibliographyDriver{inbook}{%
|
||||
\usebibmacro{bibindex}%
|
||||
\usebibmacro{begentry}%
|
||||
\iffieldundef{author}%
|
||||
{\usebibmacro{byeditor+others}}%
|
||||
{\usebibmacro{author/translator+others}}%
|
||||
\setunit{\labelnamepunct}\newblock
|
||||
\usebibmacro{title}%
|
||||
\newunit
|
||||
\printlist{language}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byauthor}%
|
||||
\newunit\newblock
|
||||
% \usebibmacro{in:}%
|
||||
\usebibmacro{bybookauthor}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{maintitle+booktitle}%
|
||||
\newunit\newblock
|
||||
\iffieldundef{author}{}%if undef then we already printed editor
|
||||
{\usebibmacro{byeditor+others}}%
|
||||
\newunit\newblock
|
||||
\printfield{edition}%
|
||||
\newunit
|
||||
\iffieldundef{maintitle}
|
||||
{\printfield{volume}%
|
||||
\printfield{part}}
|
||||
{}%
|
||||
\newunit
|
||||
\printfield{volumes}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{series+number}%
|
||||
\newunit\newblock
|
||||
\printfield{note}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{publisher+location+date}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{chapter+pages}%
|
||||
\newunit\newblock
|
||||
\iftoggle{bbx:isbn}
|
||||
{\printfield{isbn}}
|
||||
{}%
|
||||
\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}}
|
||||
{}%
|
||||
\usebibmacro{finentry}}
|
||||
|
||||
|
||||
|
||||
\DeclareBibliographyDriver{incollection}{%
|
||||
\usebibmacro{bibindex}%
|
||||
\usebibmacro{begentry}%
|
||||
\usebibmacro{author/translator+others}%
|
||||
\setunit{\labelnamepunct}\newblock
|
||||
\usebibmacro{title}%
|
||||
\newunit
|
||||
\printlist{language}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byauthor}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{in:}%
|
||||
\usebibmacro{maintitle+booktitle}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{series+number}%
|
||||
\newunit\newblock
|
||||
\printfield{edition}%
|
||||
\newunit
|
||||
\iffieldundef{maintitle}
|
||||
{\printfield{volume}%
|
||||
\printfield{part}}
|
||||
{}%
|
||||
\newunit
|
||||
\printfield{volumes}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byeditor+others}%
|
||||
\newunit\newblock
|
||||
\printfield{note}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{publisher+location+date}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{chapter+pages}%
|
||||
\newunit\newblock
|
||||
\iftoggle{bbx:isbn}
|
||||
{\printfield{isbn}}
|
||||
{}%
|
||||
\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}}
|
||||
{}%
|
||||
\usebibmacro{finentry}}
|
||||
|
||||
|
||||
|
||||
\DeclareBibliographyDriver{inproceedings}{%
|
||||
\usebibmacro{bibindex}%
|
||||
\usebibmacro{begentry}%
|
||||
\usebibmacro{author/translator+others}%
|
||||
\setunit{\labelnamepunct}\newblock
|
||||
\usebibmacro{title}%
|
||||
\newunit
|
||||
\printlist{language}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byauthor}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{in:}%
|
||||
\usebibmacro{maintitle+booktitle+series+number}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{event+venue+date}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byeditor+others}%
|
||||
\newunit\newblock
|
||||
\iffieldundef{maintitle}
|
||||
{\printfield{volume}%
|
||||
\printfield{part}}
|
||||
{}%
|
||||
\newunit
|
||||
\printfield{volumes}%
|
||||
\newunit\newblock
|
||||
\printfield{note}%
|
||||
\newunit\newblock
|
||||
\printlist{organization}%
|
||||
\newunit
|
||||
\usebibmacro{publisher+location+date}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{chapter+pages}%
|
||||
\newunit\newblock
|
||||
\iftoggle{bbx:isbn}
|
||||
{\printfield{isbn}}
|
||||
{}%
|
||||
\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}}
|
||||
{}%
|
||||
\usebibmacro{finentry}}
|
||||
|
||||
|
||||
|
||||
\DeclareBibliographyDriver{manual}{%
|
||||
\usebibmacro{bibindex}%
|
||||
\usebibmacro{begentry}%
|
||||
\usebibmacro{author/editor+others}%
|
||||
\setunit{\labelnamepunct}\newblock
|
||||
\usebibmacro{title}%
|
||||
\newunit
|
||||
\printlist{language}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byauthor}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byeditor}%
|
||||
\newunit\newblock
|
||||
\printfield{edition}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{series+number}%
|
||||
\newunit\newblock
|
||||
\printfield{type}%
|
||||
\newunit
|
||||
\printfield{version}%
|
||||
\newunit
|
||||
\printfield{note}%
|
||||
\newunit\newblock
|
||||
\printlist{organization}%
|
||||
\newunit
|
||||
\usebibmacro{publisher+location+date}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{chapter+pages}%
|
||||
\newunit
|
||||
\printfield{pagetotal}%
|
||||
\newunit\newblock
|
||||
\iftoggle{bbx:isbn}
|
||||
{\printfield{isbn}}
|
||||
{}%
|
||||
\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}}
|
||||
{}%
|
||||
\usebibmacro{finentry}}
|
||||
|
||||
|
||||
|
||||
\DeclareBibliographyDriver{misc}{%
|
||||
\usebibmacro{bibindex}%
|
||||
\usebibmacro{begentry}%
|
||||
\usebibmacro{author/editor+others/translator+others}%
|
||||
\setunit{\labelnamepunct}\newblock
|
||||
\usebibmacro{title}%
|
||||
\newunit
|
||||
\printlist{language}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byauthor}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byeditor+others}%
|
||||
\newunit\newblock
|
||||
\printfield{howpublished}%
|
||||
\newunit\newblock
|
||||
\printfield{type}%
|
||||
\newunit
|
||||
\printfield{version}%
|
||||
\newunit
|
||||
\printfield{note}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{organization+location+date}%
|
||||
\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}}
|
||||
{}%
|
||||
\usebibmacro{finentry}}
|
||||
|
||||
|
||||
|
||||
\DeclareBibliographyDriver{online}{%
|
||||
\usebibmacro{bibindex}%
|
||||
\usebibmacro{begentry}%
|
||||
\usebibmacro{author/editor+others/translator+others}%
|
||||
\setunit{\labelnamepunct}\newblock
|
||||
\usebibmacro{title}%
|
||||
\newunit
|
||||
\printlist{language}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byauthor}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byeditor+others}%
|
||||
\newunit\newblock
|
||||
\printfield{version}%
|
||||
\newunit
|
||||
\printfield{note}%
|
||||
\newunit\newblock
|
||||
\printlist{organization}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{date-ifmonth}%
|
||||
\newunit\newblock
|
||||
\iftoggle{bbx:eprint}
|
||||
{\usebibmacro{eprint}}
|
||||
{}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{url+urldate}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{addendum+pubstate}%
|
||||
\setunit{\bibpagerefpunct}\newblock
|
||||
\usebibmacro{pageref}%
|
||||
\newunit\newblock
|
||||
\iftoggle{bbx:related}
|
||||
{\usebibmacro{related:init}%
|
||||
\usebibmacro{related}}
|
||||
{}%
|
||||
\usebibmacro{finentry}}
|
||||
|
||||
|
||||
|
||||
\DeclareFieldFormat[patent]{number}{Patent No.~#1}
|
||||
|
||||
\DeclareBibliographyDriver{patent}{%
|
||||
\usebibmacro{bibindex}%
|
||||
\usebibmacro{begentry}%
|
||||
\usebibmacro{author}%
|
||||
\setunit{\labelnamepunct}\newblock
|
||||
\usebibmacro{title}%
|
||||
\newunit
|
||||
\printlist{language}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byauthor}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{date}%
|
||||
\newunit\newblock
|
||||
\printfield{type}%
|
||||
\setunit*{\addspace}%
|
||||
\printfield{number}%
|
||||
\iflistundef{location}
|
||||
{}
|
||||
{\setunit*{\addspace}%
|
||||
\printtext[parens]{%
|
||||
\printlist[][-\value{listtotal}]{location}}}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byholder}%
|
||||
\newunit\newblock
|
||||
\printfield{note}%
|
||||
\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}}
|
||||
{}%
|
||||
\usebibmacro{finentry}}
|
||||
|
||||
|
||||
|
||||
\DeclareBibliographyDriver{periodical}{%
|
||||
\usebibmacro{bibindex}%
|
||||
\usebibmacro{begentry}%
|
||||
\usebibmacro{editor}%
|
||||
\setunit{\labelnamepunct}\newblock
|
||||
\usebibmacro{title+issuetitle}%
|
||||
\newunit
|
||||
\printlist{language}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byeditor}%
|
||||
\newunit\newblock
|
||||
\printfield{note}%
|
||||
\newunit\newblock
|
||||
\iftoggle{bbx:isbn}
|
||||
{\printfield{issn}}
|
||||
{}%
|
||||
\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}}
|
||||
{}%
|
||||
\usebibmacro{finentry}}
|
||||
|
||||
|
||||
|
||||
\DeclareBibliographyDriver{report}{%
|
||||
\usebibmacro{bibindex}%
|
||||
\usebibmacro{begentry}%
|
||||
\usebibmacro{author}%
|
||||
\setunit{\labelnamepunct}\newblock
|
||||
\usebibmacro{title}%
|
||||
\newunit
|
||||
\printlist{language}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byauthor}%
|
||||
\newunit\newblock
|
||||
\printfield{type}%
|
||||
\setunit*{\addspace}%
|
||||
\printfield{number}%
|
||||
\newunit\newblock
|
||||
\printfield{version}%
|
||||
\newunit
|
||||
\printfield{note}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{institution+location+date}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{chapter+pages}%
|
||||
\newunit
|
||||
\printfield{pagetotal}%
|
||||
\newunit\newblock
|
||||
\iftoggle{bbx:isbn}
|
||||
{\printfield{isrn}}
|
||||
{}%
|
||||
\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}}
|
||||
{}%
|
||||
\usebibmacro{finentry}}
|
||||
|
||||
|
||||
|
||||
\DeclareBibliographyDriver{thesis}{%
|
||||
\usebibmacro{bibindex}%
|
||||
\usebibmacro{begentry}%
|
||||
\usebibmacro{author}%
|
||||
\setunit{\labelnamepunct}\newblock
|
||||
\usebibmacro{title}%
|
||||
\newunit
|
||||
\printlist{language}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byauthor}%
|
||||
\newunit\newblock
|
||||
\printfield{type}%
|
||||
\newunit
|
||||
\usebibmacro{institution+location+date}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{chapter+pages}%
|
||||
\newunit
|
||||
\printfield{pagetotal}%
|
||||
\newunit\newblock
|
||||
\iftoggle{bbx:isbn}
|
||||
{\printfield{isbn}}
|
||||
{}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{doi+eprint+url}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{addendum+pubstate}%
|
||||
\setunit{\bibpagerefpunct}\newblock
|
||||
\usebibmacro{pageref}%
|
||||
\newunit\newblock
|
||||
\printfield{note}%
|
||||
\newunit\newblock
|
||||
\iftoggle{bbx:related}
|
||||
{\usebibmacro{related:init}%
|
||||
\usebibmacro{related}}
|
||||
{}%
|
||||
\usebibmacro{finentry}}
|
||||
|
||||
%
|
||||
% Include support for software entries
|
||||
%
|
||||
\blx@inputonce{software.bbx}{biblatex style for software}{}{}{}{}
|
||||
|
||||
%
|
||||
% Handle ACM specific ArtifactSoftware entry exactly as the software entry (a soft alias will not work)
|
||||
%
|
||||
\DeclareStyleSourcemap{
|
||||
\maps[datatype=bibtex]{
|
||||
\map{
|
||||
\step[typesource=artifactsoftware,typetarget=software]
|
||||
\step[typesource=artifactdataset,typetarget=dataset]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
%%% Compatibility with ACM bibtex formatting
|
||||
|
||||
|
||||
%
|
||||
% Show given name first in the reference list
|
||||
%
|
||||
\DeclareNameAlias{sortname}{given-family}
|
||||
|
||||
%
|
||||
% Produce a bibliography with small font size
|
||||
%
|
||||
\renewcommand*{\bibfont}{\bibliofont\footnotesize}
|
||||
|
||||
%
|
||||
% Remove parentheses from date+extradate
|
||||
%
|
||||
\RequirePackage{xpatch}
|
||||
\xpatchbibmacro{date+extradate}{%
|
||||
\printtext[parens]%
|
||||
}{%
|
||||
\newblock\setunit*{.\space}%
|
||||
\printtext%
|
||||
}{}{}
|
||||
|
||||
|
||||
%%% Set option values for ACM style
|
||||
|
||||
\ExecuteBibliographyOptions{
|
||||
dashed=false, % Do not use dashes for bibliography items with the same set of authors
|
||||
labeldate=year,
|
||||
abbreviate=true,
|
||||
dateabbrev=true,
|
||||
isbn=true,
|
||||
doi=true,
|
||||
urldate=comp,
|
||||
url=true,
|
||||
maxbibnames=9,
|
||||
maxcitenames=2,
|
||||
backref=false,
|
||||
sorting=nty,
|
||||
halid=true,
|
||||
swhid=true,
|
||||
swlabels=true,
|
||||
vcs=true,
|
||||
license=false,
|
||||
language=american
|
||||
}
|
@ -1,219 +0,0 @@
|
||||
\ProvidesFile{acmauthoryear.cbx}[2022-02-14 v0.1]
|
||||
|
||||
\RequireCitationStyle{authoryear-comp}
|
||||
\RequirePackage{xpatch}
|
||||
|
||||
%
|
||||
% Hyperlink citations like acmart natbib implementation
|
||||
%
|
||||
% From https://tex.stackexchange.com/a/27615/133551
|
||||
|
||||
% Combine label and labelyear links
|
||||
\xpatchbibmacro{cite}
|
||||
{\usebibmacro{cite:label}%
|
||||
\setunit{\printdelim{nonameyeardelim}}%
|
||||
\usebibmacro{cite:labeldate+extradate}}
|
||||
{\printtext[bibhyperref]{%
|
||||
\DeclareFieldAlias{bibhyperref}{default}%
|
||||
\usebibmacro{cite:label}%
|
||||
\setunit{\printdelim{nonameyeardelim}}%
|
||||
\usebibmacro{cite:labeldate+extradate}}}
|
||||
{}
|
||||
{\PackageWarning{biblatex-patch}
|
||||
{Failed to patch cite bibmacro}}
|
||||
|
||||
% Include labelname in labelyear link
|
||||
\xpatchbibmacro{cite}
|
||||
{\printnames{labelname}%
|
||||
\setunit{\printdelim{nameyeardelim}}%
|
||||
\usebibmacro{cite:labeldate+extradate}}
|
||||
{\printtext[bibhyperref]{%
|
||||
\DeclareFieldAlias{bibhyperref}{default}%
|
||||
\printnames{labelname}%
|
||||
\setunit{\printdelim{nameyeardelim}}%
|
||||
\usebibmacro{cite:labeldate+extradate}}}
|
||||
{}
|
||||
{\PackageWarning{biblatex-patch}
|
||||
{Failed to patch cite bibmacro}}
|
||||
|
||||
\renewbibmacro*{textcite}{%
|
||||
\iffieldequals{namehash}{\cbx@lasthash}
|
||||
{\iffieldundef{shorthand}
|
||||
{\ifthenelse{\iffieldequals{labelyear}{\cbx@lastyear}\AND
|
||||
\(\value{multicitecount}=0\OR\iffieldundef{postnote}\)}
|
||||
{\setunit{\addcomma}%
|
||||
\usebibmacro{cite:extradate}}
|
||||
{\setunit{\compcitedelim}%
|
||||
\usebibmacro{cite:labeldate+extradate}%
|
||||
\savefield{labelyear}{\cbx@lastyear}}}
|
||||
{\setunit{\compcitedelim}%
|
||||
\usebibmacro{cite:shorthand}%
|
||||
\global\undef\cbx@lastyear}}
|
||||
{\ifnameundef{labelname}
|
||||
{\iffieldundef{shorthand}
|
||||
{\usebibmacro{cite:label}%
|
||||
\setunit{%
|
||||
\global\booltrue{cbx:parens}%
|
||||
\printdelim{nonameyeardelim}\bibopenbracket}%
|
||||
\ifnumequal{\value{citecount}}{1}
|
||||
{\usebibmacro{prenote}}
|
||||
{}%
|
||||
\usebibmacro{cite:labeldate+extradate}}
|
||||
{\usebibmacro{cite:shorthand}}}
|
||||
{\printnames{labelname}%
|
||||
\setunit{%
|
||||
\global\booltrue{cbx:parens}%
|
||||
\printdelim{nameyeardelim}\bibopenbracket}%
|
||||
\ifnumequal{\value{citecount}}{1}
|
||||
{\usebibmacro{prenote}}
|
||||
{}%
|
||||
\iffieldundef{shorthand}
|
||||
{\iffieldundef{labelyear}
|
||||
{\usebibmacro{cite:label}}
|
||||
{\usebibmacro{cite:labeldate+extradate}}%
|
||||
\savefield{labelyear}{\cbx@lastyear}}
|
||||
{\usebibmacro{cite:shorthand}%
|
||||
\global\undef\cbx@lastyear}}%
|
||||
\stepcounter{textcitecount}%
|
||||
\savefield{namehash}{\cbx@lasthash}}%
|
||||
\setunit{%
|
||||
\ifbool{cbx:parens}
|
||||
{\bibclosebracket\global\boolfalse{cbx:parens}}
|
||||
{}%
|
||||
\textcitedelim}}
|
||||
|
||||
\xpatchbibmacro{textcite}
|
||||
{\printnames{labelname}}
|
||||
{\printtext[bibhyperref]{\printnames{labelname}}}
|
||||
{}
|
||||
{\PackageWarning{biblatex-patch}
|
||||
{Failed to patch textcite bibmacro}}
|
||||
|
||||
\renewbibmacro*{textcite:postnote}{%
|
||||
\usebibmacro{postnote}%
|
||||
\ifthenelse{\value{multicitecount}=\value{multicitetotal}}
|
||||
{\setunit{}%
|
||||
\printtext{%
|
||||
\ifbool{cbx:parens}
|
||||
{\bibclosebracket\global\boolfalse{cbx:parens}}
|
||||
{}}}
|
||||
{\setunit{%
|
||||
\ifbool{cbx:parens}
|
||||
{\bibclosebracket\global\boolfalse{cbx:parens}}
|
||||
{}%
|
||||
\textcitedelim}}}
|
||||
|
||||
% NEW
|
||||
\newbibmacro*{citeauthor}{%
|
||||
\ifnameundef{labelname}
|
||||
{\iffieldundef{shorthand}
|
||||
{\printtext[bibhyperref]{%
|
||||
\usebibmacro{cite:label}}%
|
||||
\setunit{%
|
||||
\global\booltrue{cbx:parens}%
|
||||
\printdelim{nonameyeardelim}\bibopenbracket}%
|
||||
\ifnumequal{\value{citecount}}{1}
|
||||
{\usebibmacro{prenote}}
|
||||
{}%
|
||||
\printtext[bibhyperref]{\usebibmacro{cite:labeldate+extradate}}}
|
||||
{\printtext[bibhyperref]{\usebibmacro{cite:shorthand}}}}
|
||||
\printtext[bibhyperref]{\printnames{labelname}}}
|
||||
|
||||
%
|
||||
% Put brackets around citations
|
||||
%
|
||||
|
||||
\DeclareCiteCommand{\cite}[\mkbibbrackets]
|
||||
{\usebibmacro{cite:init}%
|
||||
\usebibmacro{prenote}}
|
||||
{\usebibmacro{citeindex}%
|
||||
\usebibmacro{cite}}
|
||||
{}
|
||||
{\usebibmacro{postnote}}
|
||||
|
||||
\DeclareCiteCommand*{\cite}[\mkbibbrackets]
|
||||
{\usebibmacro{cite:init}%
|
||||
\usebibmacro{prenote}}
|
||||
{\usebibmacro{citeindex}%
|
||||
\usebibmacro{citeyear}}
|
||||
{}
|
||||
{\usebibmacro{postnote}}
|
||||
|
||||
\DeclareCiteCommand{\parencite}[\mkbibbrackets]
|
||||
{\usebibmacro{cite:init}%
|
||||
\usebibmacro{prenote}}
|
||||
{\usebibmacro{citeindex}%
|
||||
\usebibmacro{cite}}
|
||||
{}
|
||||
{\usebibmacro{postnote}}
|
||||
|
||||
\DeclareCiteCommand*{\parencite}[\mkbibbrackets]
|
||||
{\usebibmacro{cite:init}%
|
||||
\usebibmacro{prenote}}
|
||||
{\usebibmacro{citeindex}%
|
||||
\usebibmacro{citeyear}}
|
||||
{}
|
||||
{\usebibmacro{postnote}}
|
||||
|
||||
\DeclareMultiCiteCommand{\parencites}[\mkbibbrackets]{\parencite}
|
||||
{\setunit{\multicitedelim}}
|
||||
|
||||
\DeclareCiteCommand{\footcite}[\mkbibfootnote]
|
||||
{\usebibmacro{cite:init}%
|
||||
\usebibmacro{prenote}}
|
||||
{\usebibmacro{citeindex}%
|
||||
\usebibmacro{cite}}
|
||||
{}
|
||||
{\usebibmacro{postnote}}
|
||||
|
||||
\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext]
|
||||
{\usebibmacro{cite:init}%
|
||||
\usebibmacro{prenote}}
|
||||
{\usebibmacro{citeindex}%
|
||||
\usebibmacro{cite}}
|
||||
{}
|
||||
{\usebibmacro{postnote}}
|
||||
|
||||
\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibbrackets\mkbibfootnote]
|
||||
{\usebibmacro{cite:init}%
|
||||
\usebibmacro{prenote}}
|
||||
{\usebibmacro{citeindex}%
|
||||
\usebibmacro{cite}}
|
||||
{}
|
||||
{\usebibmacro{postnote}}
|
||||
|
||||
\DeclareMultiCiteCommand{\smartcites}[\iffootnote\mkbibbrackets\mkbibfootnote]
|
||||
{\smartcite}{\setunit{\multicitedelim}}
|
||||
|
||||
\DeclareCiteCommand{\citeauthor}
|
||||
{\usebibmacro{cite:init}%
|
||||
\usebibmacro{prenote}}
|
||||
{\usebibmacro{citeindex}%
|
||||
\usebibmacro{citeauthor}}
|
||||
{}
|
||||
{\usebibmacro{postnote}}
|
||||
|
||||
\DeclareCiteCommand{\citeyear}
|
||||
{\usebibmacro{cite:init}%
|
||||
\usebibmacro{prenote}}
|
||||
{\usebibmacro{citeindex}%
|
||||
\usebibmacro{citeyear}}
|
||||
{}
|
||||
{\usebibmacro{postnote}}
|
||||
|
||||
\DeclareCiteCommand{\citeyearpar}[\mkbibbrackets]
|
||||
{\usebibmacro{cite:init}%
|
||||
\usebibmacro{prenote}}
|
||||
{\usebibmacro{citeindex}%
|
||||
\usebibmacro{citeyear}}
|
||||
{}
|
||||
{\usebibmacro{postnote}}
|
||||
|
||||
%
|
||||
% Provide aliases for natbib-compatible commands
|
||||
%
|
||||
\newcommand*{\citep}{\parencite}
|
||||
\newcommand*{\citet}{\textcite}
|
||||
% add others here
|
||||
|
||||
\endinput
|
@ -1,33 +0,0 @@
|
||||
% Teach biblatex about numpages field
|
||||
\DeclareDatamodelFields[type=field, datatype=literal]{numpages}
|
||||
\DeclareDatamodelEntryfields{numpages}
|
||||
|
||||
% Teach biblatex about articleno field
|
||||
\DeclareDatamodelFields[type=field, datatype=literal]{articleno}
|
||||
\DeclareDatamodelEntryfields{articleno}
|
||||
|
||||
% Teach biblatex about urls field
|
||||
\DeclareDatamodelFields[type=list, datatype=uri]{urls}
|
||||
\DeclareDatamodelEntryfields{urls}
|
||||
|
||||
% Teach biblatex about school field
|
||||
\DeclareDatamodelFields[type=list, datatype=literal]{school}
|
||||
\DeclareDatamodelEntryfields[thesis]{school}
|
||||
|
||||
\DeclareDatamodelFields[type=field, datatype=literal]{key}
|
||||
\DeclareDatamodelEntryfields{key}
|
||||
|
||||
% Teach biblatex about lastaccessed field
|
||||
\DeclareDatamodelFields[type=field,datatype=literal]{lastaccessed}
|
||||
\DeclareDatamodelEntryfields{lastaccessed}
|
||||
|
||||
% Teach biblatex about distincturl field
|
||||
\DeclareDatamodelFields[type=field, datatype=literal]{distinctURL}
|
||||
\DeclareDatamodelEntryfields{distinctURL}
|
||||
|
||||
|
||||
%
|
||||
% include software data model from biblatex-software
|
||||
%
|
||||
|
||||
\blx@inputonce{software.dbx}{biblatex data model extension for software}{}{}{}{}
|
@ -1,885 +0,0 @@
|
||||
\ProvidesFile{acmnumeric.bbx}[2017-09-27 v0.1 biblatex bibliography style]
|
||||
|
||||
% Inherit a default style
|
||||
\RequireBibliographyStyle{trad-plain}
|
||||
|
||||
|
||||
|
||||
%%% Localisation strings for ACM
|
||||
|
||||
\DefineBibliographyStrings{american}{%
|
||||
mathesis = {Master's thesis},
|
||||
phdthesis = {Ph\adddot{}D\adddotspace Dissertation},
|
||||
editor = {(Ed\adddot)},
|
||||
editors = {(Eds\adddot)},
|
||||
edition = {ed\adddot},
|
||||
}
|
||||
|
||||
|
||||
|
||||
%%% Formatting for fields
|
||||
|
||||
%\DeclareFieldFormat
|
||||
% [article,inbook,incollection,inproceedings,patent,thesis,unpublished]
|
||||
% {title}{#1}
|
||||
\DeclareFieldFormat{pages}{#1}
|
||||
|
||||
\DeclareFieldFormat{numpages}{#1 pages}
|
||||
|
||||
\DeclareFieldFormat{number}{#1}
|
||||
|
||||
\DeclareFieldFormat{articleno}{Article #1}
|
||||
|
||||
\DeclareFieldFormat{key}{#1}
|
||||
|
||||
\DeclareFieldFormat{urldate}{Retrieved\space{}#1\space{}from}
|
||||
\DeclareFieldFormat{lastaccessed}{Retrieved\space{}#1\space{}from}
|
||||
|
||||
\DeclareFieldFormat{url}{\url{#1}}
|
||||
|
||||
\DeclareFieldFormat{edition}{%
|
||||
\printtext[parens]{\ifinteger{#1}
|
||||
{\mkbibordedition{#1}~\bibstring{edition}}
|
||||
{#1\isdot~\bibstring{edition}}}}
|
||||
|
||||
|
||||
% Handle urls field containing 'and' separated list of URLs
|
||||
% https://github.com/plk/biblatex/issues/229
|
||||
\DeclareListFormat{urls}{%
|
||||
\url{#1}%
|
||||
\ifthenelse{\value{listcount}<\value{liststop}}
|
||||
{\addcomma\space}
|
||||
{}}
|
||||
\renewbibmacro*{url}{\iffieldundef{url}{\printlist{urls}}{\printfield{url}}}
|
||||
|
||||
|
||||
|
||||
%%% Bibmacro definitions
|
||||
|
||||
\renewbibmacro*{translator+others}{%
|
||||
\ifboolexpr{
|
||||
test \ifusetranslator
|
||||
and
|
||||
not test {\ifnameundef{translator}}
|
||||
}
|
||||
{\printnames{translator}%
|
||||
\setunit{\addcomma\space}%
|
||||
\usebibmacro{translator+othersstrg}%
|
||||
\clearname{translator}}
|
||||
{\printfield{key}}}
|
||||
|
||||
\newbibmacro*{year}{%
|
||||
\iffieldundef{year}%
|
||||
{\printtext{[n.\ d.]}}%
|
||||
{\printfield{year}}%
|
||||
}
|
||||
|
||||
\renewbibmacro*{date}{\printtext[parens]{\printdate}}
|
||||
|
||||
|
||||
\renewbibmacro*{url+urldate}{\iffieldundef{urlyear}
|
||||
{\iffieldundef{lastaccessed}
|
||||
{}
|
||||
{\printfield{lastaccessed}%
|
||||
\setunit*{\addspace}}%
|
||||
}
|
||||
{\usebibmacro{urldate}%
|
||||
\setunit*{\addspace}}%
|
||||
\usebibmacro{url}%
|
||||
}
|
||||
|
||||
\renewbibmacro*{journal+issuetitle}{%
|
||||
\usebibmacro{journal}%
|
||||
\setunit*{\addcomma\space}%
|
||||
\iffieldundef{series}
|
||||
{}
|
||||
{\newunit%
|
||||
\printfield{series}%
|
||||
\setunit{\addspace}}%
|
||||
\usebibmacro{volume+number+date+pages+eid}%
|
||||
\newcommaunit%
|
||||
% \setunit{\addspace}%
|
||||
\usebibmacro{issue-issue}%
|
||||
\setunit*{\addcolon\space}%
|
||||
\usebibmacro{issue}%
|
||||
\newunit}
|
||||
|
||||
|
||||
|
||||
\newbibmacro*{volume+number+date+pages+eid}{%
|
||||
\printfield{volume}%
|
||||
\setunit*{\addcomma\space}%
|
||||
\printfield{number}%
|
||||
\setunit*{\addcomma\space}%
|
||||
\printfield{articleno}
|
||||
\setunit{\addcomma\space}
|
||||
\usebibmacro{date-ifmonth}
|
||||
\setunit{\addcomma\space}%
|
||||
\iffieldundef{pages}%
|
||||
{\printfield{numpages}}%
|
||||
{\printfield{pages}}%
|
||||
\newcommaunit%
|
||||
\printfield{eid}}%
|
||||
|
||||
\renewbibmacro*{chapter+pages}{%
|
||||
\printfield{chapter}%
|
||||
\setunit{\bibpagespunct}%
|
||||
\iffieldundef{pages}%
|
||||
{\printfield{numpages}}%
|
||||
{\printfield{pages}}%
|
||||
\newunit}
|
||||
|
||||
\renewbibmacro*{editor+others}{%
|
||||
\ifboolexpr{
|
||||
test \ifuseeditor
|
||||
and
|
||||
not test {\ifnameundef{editor}}
|
||||
}
|
||||
{\printnames{editor}%
|
||||
\setunit{\addcomma\space}%
|
||||
\usebibmacro{editor+othersstrg}%
|
||||
\clearname{editor}}
|
||||
{\iflistundef{organization}{}{\printlist{organization}}}}
|
||||
|
||||
|
||||
\newbibmacro*{issue-issue}{%
|
||||
\iffieldundef{issue}%
|
||||
{}%
|
||||
{\printfield{issue}%
|
||||
\setunit*{\addcomma\space}%
|
||||
\usebibmacro{date-ifmonth}%
|
||||
}%
|
||||
\newunit}
|
||||
|
||||
|
||||
|
||||
|
||||
\newbibmacro*{maintitle+booktitle+series+number}{%
|
||||
\iffieldundef{maintitle}
|
||||
{}
|
||||
{\usebibmacro{maintitle}%
|
||||
\newunit\newblock
|
||||
\iffieldundef{volume}
|
||||
{}
|
||||
{\printfield{volume}%
|
||||
\printfield{part}%
|
||||
\setunit{\addcolon\space}}}%
|
||||
\usebibmacro{booktitle}%
|
||||
\setunit*{\addspace}
|
||||
\printfield[parens]{series}%
|
||||
\setunit*{\addspace}%
|
||||
\printfield{number}%
|
||||
\setunit*{\addcomma\space}%
|
||||
\printfield{articleno}
|
||||
\newunit
|
||||
}
|
||||
|
||||
\renewbibmacro*{booktitle}{%
|
||||
\ifboolexpr{
|
||||
test {\iffieldundef{booktitle}}
|
||||
and
|
||||
test {\iffieldundef{booksubtitle}}
|
||||
}
|
||||
{}
|
||||
{\printtext[booktitle]{%
|
||||
\printfield[titlecase]{booktitle}%
|
||||
\iffieldundef{booksubtitle}{}{
|
||||
\setunit{\subtitlepunct}%
|
||||
\printfield[titlecase]{booksubtitle}}%
|
||||
}%
|
||||
}%
|
||||
\printfield{booktitleaddon}}
|
||||
|
||||
\renewbibmacro*{volume+number+eid}{%
|
||||
\printfield{volume}%
|
||||
\setunit*{\addcomma\space}%
|
||||
\printfield{number}%
|
||||
\setunit*{\addcomma\space}%
|
||||
\printfield{articleno}
|
||||
\setunit{\addcomma\space}%
|
||||
\printfield{eid}}
|
||||
|
||||
|
||||
\renewbibmacro*{publisher+location+date}{%
|
||||
\printlist{publisher}%
|
||||
\setunit*{\addcomma\space}%
|
||||
\printlist{location}%
|
||||
\setunit*{\addcomma\space}%
|
||||
\usebibmacro{date-ifmonth}%
|
||||
\newunit}
|
||||
|
||||
|
||||
\newbibmacro{date-ifmonth}{%
|
||||
\iffieldundef{month}{}{%
|
||||
\usebibmacro{date}
|
||||
}%
|
||||
}
|
||||
|
||||
|
||||
\renewbibmacro*{institution+location+date}{%
|
||||
\printlist{school}%
|
||||
\setunit*{\addcomma\space}%
|
||||
\printlist{institution}%
|
||||
\setunit*{\addcomma\space}%
|
||||
\printlist{location}%
|
||||
\setunit*{\addcomma\space}%
|
||||
\usebibmacro{date-ifmonth}%
|
||||
\newunit}
|
||||
|
||||
|
||||
\renewbibmacro*{periodical}{%
|
||||
\iffieldundef{title}
|
||||
{}
|
||||
{\printtext[title]{%
|
||||
\printfield[titlecase]{title}%
|
||||
\setunit{\subtitlepunct}%
|
||||
\printfield[titlecase]{subtitle}}}%
|
||||
\newunit%
|
||||
\usebibmacro{journal}}
|
||||
|
||||
\renewbibmacro*{issue+date}{%
|
||||
\iffieldundef{issue}
|
||||
{\usebibmacro{date}}
|
||||
{\printfield{issue}%
|
||||
\setunit*{\addspace}%
|
||||
\usebibmacro{date}}%
|
||||
\newunit}
|
||||
|
||||
\renewbibmacro*{title+issuetitle}{%
|
||||
\usebibmacro{periodical}%
|
||||
\setunit*{\addspace}%
|
||||
\iffieldundef{series}
|
||||
{}
|
||||
{\newunit
|
||||
\printfield{series}%
|
||||
\setunit{\addspace}}%
|
||||
\printfield{volume}%
|
||||
\setunit*{\addcomma\space}%
|
||||
\printfield{number}%
|
||||
\setunit*{\addcomma\space}%
|
||||
\printfield{articleno}
|
||||
\setunit{\addcomma\space}%
|
||||
\printfield{eid}%
|
||||
\setunit{\addspace}%
|
||||
\usebibmacro{issue+date}%
|
||||
\setunit{\addcolon\space}%
|
||||
\usebibmacro{issue}%
|
||||
\newunit}
|
||||
|
||||
\renewbibmacro*{doi+eprint+url}{%
|
||||
\iftoggle{bbx:url}
|
||||
{\iffieldundef{doi}{
|
||||
\usebibmacro{url+urldate}
|
||||
}{\iffieldundef{distinctURL}
|
||||
{}
|
||||
{\usebibmacro{url+urldate}}
|
||||
}
|
||||
}%
|
||||
\newunit\newblock
|
||||
\iftoggle{bbx:eprint}
|
||||
{\usebibmacro{eprint}}
|
||||
{}%
|
||||
\newunit\newblock
|
||||
\iftoggle{bbx:doi}
|
||||
{\printfield{doi}}
|
||||
{}}
|
||||
|
||||
|
||||
%%% Definitions for drivers (alphabetical)
|
||||
|
||||
|
||||
|
||||
\DeclareBibliographyDriver{article}{%
|
||||
\usebibmacro{bibindex}%
|
||||
\usebibmacro{begentry}%
|
||||
\usebibmacro{author/translator+others}%
|
||||
\setunit{\labelnamepunct}\newblock%
|
||||
\usebibmacro{year}%
|
||||
\newunit%
|
||||
\usebibmacro{title}%
|
||||
\newunit%
|
||||
\printlist{language}%
|
||||
\newunit\newblock%
|
||||
\usebibmacro{byauthor}%
|
||||
\newunit\newblock%
|
||||
\usebibmacro{bytranslator+others}%
|
||||
\newunit\newblock%
|
||||
\printfield{version}%
|
||||
\newunit\newblock%
|
||||
\usebibmacro{journal+issuetitle}%
|
||||
\newunit%
|
||||
\usebibmacro{byeditor+others}%
|
||||
\newunit%
|
||||
\printfield{note}%
|
||||
\newunit\newblock%
|
||||
\iftoggle{bbx:isbn}
|
||||
{\printfield{isbn}}
|
||||
{}%
|
||||
\newunit\newblock%
|
||||
\usebibmacro{doi+eprint+url}%
|
||||
\newunit\newblock%
|
||||
\usebibmacro{addendum+pubstate}%
|
||||
\setunit{\bibpagerefpunct}\newblock
|
||||
\usebibmacro{pageref}%
|
||||
\newunit\newblock%
|
||||
\usebibmacro{related}%
|
||||
\usebibmacro{finentry}}
|
||||
|
||||
|
||||
|
||||
\DeclareBibliographyDriver{book}{%
|
||||
\usebibmacro{bibindex}%
|
||||
\usebibmacro{begentry}%
|
||||
\usebibmacro{author/editor+others/translator+others}%
|
||||
\setunit{\labelnamepunct}\newblock
|
||||
\usebibmacro{year}%
|
||||
\newunit%
|
||||
\usebibmacro{maintitle+title}%
|
||||
\newunit%
|
||||
\printlist{language}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byauthor}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byeditor+others}%
|
||||
\newunit\newblock
|
||||
\printfield{edition}%
|
||||
\newunit
|
||||
\usebibmacro{series+number}%
|
||||
\iffieldundef{maintitle}
|
||||
{\printfield{volume}%
|
||||
\printfield{part}}
|
||||
{}%
|
||||
\newunit
|
||||
\newunit\newblock
|
||||
\printfield{volumes}%
|
||||
\newunit\newblock
|
||||
\printfield{note}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{publisher+location+date}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{chapter+pages}%
|
||||
\newunit
|
||||
\printfield{pagetotal}%
|
||||
\newunit\newblock
|
||||
\iftoggle{bbx:isbn}
|
||||
{\printfield{isbn}}
|
||||
{}%
|
||||
\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}}
|
||||
{}%
|
||||
\usebibmacro{finentry}}
|
||||
|
||||
|
||||
|
||||
\DeclareBibliographyDriver{inbook}{%
|
||||
\usebibmacro{bibindex}%
|
||||
\usebibmacro{begentry}%
|
||||
\iffieldundef{author}%
|
||||
{\usebibmacro{byeditor+others}}%
|
||||
{\usebibmacro{author/translator+others}}%
|
||||
\setunit{\labelnamepunct}\newblock
|
||||
\usebibmacro{year}
|
||||
\newunit\newblock
|
||||
\usebibmacro{title}%
|
||||
\newunit
|
||||
\printlist{language}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byauthor}%
|
||||
\newunit\newblock
|
||||
% \usebibmacro{in:}%
|
||||
\usebibmacro{bybookauthor}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{maintitle+booktitle}%
|
||||
\newunit\newblock
|
||||
\iffieldundef{author}{}%if undef then we already printed editor
|
||||
{\usebibmacro{byeditor+others}}%
|
||||
\newunit\newblock
|
||||
\printfield{edition}%
|
||||
\newunit
|
||||
\iffieldundef{maintitle}
|
||||
{\printfield{volume}%
|
||||
\printfield{part}}
|
||||
{}%
|
||||
\newunit
|
||||
\printfield{volumes}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{series+number}%
|
||||
\newunit\newblock
|
||||
\printfield{note}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{publisher+location+date}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{chapter+pages}%
|
||||
\newunit\newblock
|
||||
\iftoggle{bbx:isbn}
|
||||
{\printfield{isbn}}
|
||||
{}%
|
||||
\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}}
|
||||
{}%
|
||||
\usebibmacro{finentry}}
|
||||
|
||||
|
||||
|
||||
\DeclareBibliographyDriver{incollection}{%
|
||||
\usebibmacro{bibindex}%
|
||||
\usebibmacro{begentry}%
|
||||
\usebibmacro{author/translator+others}%
|
||||
\setunit{\labelnamepunct}\newblock
|
||||
\usebibmacro{year}
|
||||
\newunit\newblock
|
||||
\usebibmacro{title}%
|
||||
\newunit
|
||||
\printlist{language}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byauthor}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{in:}%
|
||||
\usebibmacro{maintitle+booktitle}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{series+number}%
|
||||
\newunit\newblock
|
||||
\printfield{edition}%
|
||||
\newunit
|
||||
\iffieldundef{maintitle}
|
||||
{\printfield{volume}%
|
||||
\printfield{part}}
|
||||
{}%
|
||||
\newunit
|
||||
\printfield{volumes}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byeditor+others}%
|
||||
\newunit\newblock
|
||||
\printfield{note}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{publisher+location+date}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{chapter+pages}%
|
||||
\newunit\newblock
|
||||
\iftoggle{bbx:isbn}
|
||||
{\printfield{isbn}}
|
||||
{}%
|
||||
\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}}
|
||||
{}%
|
||||
\usebibmacro{finentry}}
|
||||
|
||||
|
||||
|
||||
\DeclareBibliographyDriver{inproceedings}{%
|
||||
\usebibmacro{bibindex}%
|
||||
\usebibmacro{begentry}%
|
||||
\usebibmacro{author/translator+others}%
|
||||
\setunit{\labelnamepunct}\newblock
|
||||
\usebibmacro{year}
|
||||
\newunit\newblock
|
||||
\usebibmacro{title}%
|
||||
\newunit
|
||||
\printlist{language}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byauthor}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{in:}%
|
||||
\usebibmacro{maintitle+booktitle+series+number}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{event+venue+date}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byeditor+others}%
|
||||
\newunit\newblock
|
||||
\iffieldundef{maintitle}
|
||||
{\printfield{volume}%
|
||||
\printfield{part}}
|
||||
{}%
|
||||
\newunit
|
||||
\printfield{volumes}%
|
||||
\newunit\newblock
|
||||
\printfield{note}%
|
||||
\newunit\newblock
|
||||
\printlist{organization}%
|
||||
\newunit
|
||||
\usebibmacro{publisher+location+date}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{chapter+pages}%
|
||||
\newunit\newblock
|
||||
\iftoggle{bbx:isbn}
|
||||
{\printfield{isbn}}
|
||||
{}%
|
||||
\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}}
|
||||
{}%
|
||||
\usebibmacro{finentry}}
|
||||
|
||||
|
||||
|
||||
\DeclareBibliographyDriver{manual}{%
|
||||
\usebibmacro{bibindex}%
|
||||
\usebibmacro{begentry}%
|
||||
\usebibmacro{author/editor+others}%
|
||||
\setunit{\labelnamepunct}\newblock
|
||||
\usebibmacro{year}
|
||||
\newunit\newblock
|
||||
\usebibmacro{title}%
|
||||
\newunit
|
||||
\printlist{language}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byauthor}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byeditor}%
|
||||
\newunit\newblock
|
||||
\printfield{edition}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{series+number}%
|
||||
\newunit\newblock
|
||||
\printfield{type}%
|
||||
\newunit
|
||||
\printfield{version}%
|
||||
\newunit
|
||||
\printfield{note}%
|
||||
\newunit\newblock
|
||||
\printlist{organization}%
|
||||
\newunit
|
||||
\usebibmacro{publisher+location+date}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{chapter+pages}%
|
||||
\newunit
|
||||
\printfield{pagetotal}%
|
||||
\newunit\newblock
|
||||
\iftoggle{bbx:isbn}
|
||||
{\printfield{isbn}}
|
||||
{}%
|
||||
\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}}
|
||||
{}%
|
||||
\usebibmacro{finentry}}
|
||||
|
||||
|
||||
|
||||
\DeclareBibliographyDriver{misc}{%
|
||||
\usebibmacro{bibindex}%
|
||||
\usebibmacro{begentry}%
|
||||
\usebibmacro{author/editor+others/translator+others}%
|
||||
\setunit{\labelnamepunct}\newblock
|
||||
\usebibmacro{year}
|
||||
\newunit\newblock
|
||||
\usebibmacro{title}%
|
||||
\newunit
|
||||
\printlist{language}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byauthor}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byeditor+others}%
|
||||
\newunit\newblock
|
||||
\printfield{howpublished}%
|
||||
\newunit\newblock
|
||||
\printfield{type}%
|
||||
\newunit
|
||||
\printfield{version}%
|
||||
\newunit
|
||||
\printfield{note}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{organization+location+date}%
|
||||
\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}}
|
||||
{}%
|
||||
\usebibmacro{finentry}}
|
||||
|
||||
|
||||
|
||||
\DeclareBibliographyDriver{online}{%
|
||||
\usebibmacro{bibindex}%
|
||||
\usebibmacro{begentry}%
|
||||
\usebibmacro{author/editor+others/translator+others}%
|
||||
\setunit{\labelnamepunct}\newblock
|
||||
\usebibmacro{year}%
|
||||
\setunit{\labelnamepunct}\newblock
|
||||
\usebibmacro{title}%
|
||||
\newunit
|
||||
\printlist{language}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byauthor}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byeditor+others}%
|
||||
\newunit\newblock
|
||||
\printfield{version}%
|
||||
\newunit
|
||||
\printfield{note}%
|
||||
\newunit\newblock
|
||||
\printlist{organization}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{date-ifmonth}%
|
||||
\newunit\newblock
|
||||
\iftoggle{bbx:eprint}
|
||||
{\usebibmacro{eprint}}
|
||||
{}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{url+urldate}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{addendum+pubstate}%
|
||||
\setunit{\bibpagerefpunct}\newblock
|
||||
\usebibmacro{pageref}%
|
||||
\newunit\newblock
|
||||
\iftoggle{bbx:related}
|
||||
{\usebibmacro{related:init}%
|
||||
\usebibmacro{related}}
|
||||
{}%
|
||||
\usebibmacro{finentry}}
|
||||
|
||||
|
||||
|
||||
\DeclareFieldFormat[patent]{number}{Patent No.~#1}
|
||||
|
||||
\DeclareBibliographyDriver{patent}{%
|
||||
\usebibmacro{bibindex}%
|
||||
\usebibmacro{begentry}%
|
||||
\usebibmacro{author}%
|
||||
\setunit{\labelnamepunct}\newblock
|
||||
\usebibmacro{year}%
|
||||
\newunit
|
||||
\usebibmacro{title}%
|
||||
\newunit
|
||||
\printlist{language}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byauthor}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{date}%
|
||||
\newunit\newblock
|
||||
\printfield{type}%
|
||||
\setunit*{\addspace}%
|
||||
\printfield{number}%
|
||||
\iflistundef{location}
|
||||
{}
|
||||
{\setunit*{\addspace}%
|
||||
\printtext[parens]{%
|
||||
\printlist[][-\value{listtotal}]{location}}}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byholder}%
|
||||
\newunit\newblock
|
||||
\printfield{note}%
|
||||
\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}}
|
||||
{}%
|
||||
\usebibmacro{finentry}}
|
||||
|
||||
|
||||
|
||||
\DeclareBibliographyDriver{periodical}{%
|
||||
\usebibmacro{bibindex}%
|
||||
\usebibmacro{begentry}%
|
||||
\usebibmacro{editor}%
|
||||
\setunit{\labelnamepunct}\newblock
|
||||
\usebibmacro{year}
|
||||
\newunit
|
||||
\usebibmacro{title+issuetitle}%
|
||||
\newunit
|
||||
\printlist{language}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byeditor}%
|
||||
\newunit\newblock
|
||||
\printfield{note}%
|
||||
\newunit\newblock
|
||||
\iftoggle{bbx:isbn}
|
||||
{\printfield{issn}}
|
||||
{}%
|
||||
\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}}
|
||||
{}%
|
||||
\usebibmacro{finentry}}
|
||||
|
||||
|
||||
|
||||
\DeclareBibliographyDriver{report}{%
|
||||
\usebibmacro{bibindex}%
|
||||
\usebibmacro{begentry}%
|
||||
\usebibmacro{author}%
|
||||
\setunit{\labelnamepunct}\newblock
|
||||
\usebibmacro{year}
|
||||
\newunit
|
||||
\usebibmacro{title}%
|
||||
\newunit
|
||||
\printlist{language}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byauthor}%
|
||||
\newunit\newblock
|
||||
\printfield{type}%
|
||||
\setunit*{\addspace}%
|
||||
\printfield{number}%
|
||||
\newunit\newblock
|
||||
\printfield{version}%
|
||||
\newunit
|
||||
\printfield{note}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{institution+location+date}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{chapter+pages}%
|
||||
\newunit
|
||||
\printfield{pagetotal}%
|
||||
\newunit\newblock
|
||||
\iftoggle{bbx:isbn}
|
||||
{\printfield{isrn}}
|
||||
{}%
|
||||
\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}}
|
||||
{}%
|
||||
\usebibmacro{finentry}}
|
||||
|
||||
|
||||
|
||||
\DeclareBibliographyDriver{thesis}{%
|
||||
\usebibmacro{bibindex}%
|
||||
\usebibmacro{begentry}%
|
||||
\usebibmacro{author}%
|
||||
\setunit{\labelnamepunct}\newblock
|
||||
\usebibmacro{year}
|
||||
\newunit
|
||||
\usebibmacro{title}%
|
||||
\newunit
|
||||
\printlist{language}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{byauthor}%
|
||||
\newunit\newblock
|
||||
\printfield{type}%
|
||||
\newunit
|
||||
\usebibmacro{institution+location+date}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{chapter+pages}%
|
||||
\newunit
|
||||
\printfield{pagetotal}%
|
||||
\newunit\newblock
|
||||
\iftoggle{bbx:isbn}
|
||||
{\printfield{isbn}}
|
||||
{}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{doi+eprint+url}%
|
||||
\newunit\newblock
|
||||
\usebibmacro{addendum+pubstate}%
|
||||
\setunit{\bibpagerefpunct}\newblock
|
||||
\usebibmacro{pageref}%
|
||||
\newunit\newblock
|
||||
\printfield{note}%
|
||||
\newunit\newblock
|
||||
\iftoggle{bbx:related}
|
||||
{\usebibmacro{related:init}%
|
||||
\usebibmacro{related}}
|
||||
{}%
|
||||
\usebibmacro{finentry}}
|
||||
|
||||
%
|
||||
% Include support for software entries
|
||||
%
|
||||
\blx@inputonce{software.bbx}{biblatex style for software}{}{}{}{}
|
||||
|
||||
%
|
||||
% Handle ACM specific ArtifactSoftware entry exactly as the software entry (a soft alias will not work)
|
||||
%
|
||||
\DeclareStyleSourcemap{
|
||||
\maps[datatype=bibtex]{
|
||||
\map{
|
||||
\step[typesource=artifactsoftware,typetarget=software]
|
||||
\step[typesource=artifactdataset,typetarget=dataset]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
%
|
||||
% Show given name first in the reference list
|
||||
%
|
||||
\DeclareNameAlias{sortname}{given-family}
|
||||
|
||||
%
|
||||
% Produce a bibliography with small font size
|
||||
%
|
||||
\renewcommand*{\bibfont}{\bibliofont\footnotesize}
|
||||
|
||||
%%% Set option values for ACM style
|
||||
|
||||
\ExecuteBibliographyOptions{
|
||||
labeldate=year,
|
||||
abbreviate=true,
|
||||
dateabbrev=true,
|
||||
isbn=true,
|
||||
doi=true,
|
||||
urldate=comp,
|
||||
url=true,
|
||||
maxbibnames=9,
|
||||
maxcitenames=2,
|
||||
backref=false,
|
||||
sorting=nty,
|
||||
halid=true,
|
||||
swhid=true,
|
||||
swlabels=true,
|
||||
vcs=true,
|
||||
license=false,
|
||||
language=american
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
\ProvidesFile{acmnumeric.cbx}[2017-09-27 v0.1]
|
||||
|
||||
\RequireCitationStyle{numeric}
|
||||
|
||||
\endinput
|
@ -1,86 +0,0 @@
|
||||
@STRING{jan = "Jan."}
|
||||
@STRING{feb = "Feb."}
|
||||
@STRING{mar = "March"}
|
||||
@STRING{apr = "April"}
|
||||
@STRING{may = "May"}
|
||||
@STRING{jun = "June"}
|
||||
@STRING{jul = "July"}
|
||||
@STRING{aug = "Aug."}
|
||||
@STRING{sep = "Sept."}
|
||||
@STRING{oct = "Oct."}
|
||||
@STRING{nov = "Nov."}
|
||||
@STRING{dec = "Dec."}
|
||||
@STRING{cie = "ACM Computers in Entertainment"}
|
||||
@STRING{csur = "ACM Computing Surveys"}
|
||||
@STRING{dgov = "Digital Government: Research and Practice"}
|
||||
@STRING{dtrap = "Digital Threats: Research and Practice"}
|
||||
@STRING{health = "ACM Transactions on Computing for Healthcare"}
|
||||
@STRING{imwut = "PACM on Interactive, Mobile, Wearable and Ubiquitous Technologies"}
|
||||
@STRING{jacm = "Journal of the ACM"}
|
||||
@STRING{jdiq = "ACM Journal of Data and Information Quality"}
|
||||
@STRING{jea = "ACM Journal of Experimental Algorithmics"}
|
||||
@STRING{jeric = "ACM Journal of Educational Resources in Computing"}
|
||||
@STRING{jetc = "ACM Journal on Emerging Technologies in Computing Systems"}
|
||||
@STRING{jocch = "ACM Journal on Computing and Cultural Heritage"}
|
||||
@STRING{pacmcgit = "Proceedings of the ACM on Computer Graphics and Interactive Techniques"}
|
||||
@STRING{pacmhci = "PACM on Human-Computer Interaction"}
|
||||
@STRING{pacmpl = "PACM on Programming Languages"}
|
||||
@STRING{pomacs = "PACM on Measurement and Analysis of Computing Systems"}
|
||||
@STRING{taas = "ACM Transactions on Autonomous and Adaptive Systems"}
|
||||
@STRING{taccess = "ACM Transactions on Accessible Computing"}
|
||||
@STRING{taco = "ACM Transactions on Architecture and Code Optimization"}
|
||||
@STRING{talg = "ACM Transactions on Algorithms"}
|
||||
@STRING{tallip = "ACM Transactions on Asian and Low-Resource Language Information Processing"}
|
||||
@STRING{tap = "ACM Transactions on Applied Perception"}
|
||||
@STRING{tcps = "ACM Transactions on Cyber-Physical Systems"}
|
||||
@STRING{tds = "ACM/IMS Transactions on Data Science"}
|
||||
@STRING{teac = "ACM Transactions on Economics and Computation"}
|
||||
@STRING{tecs = "ACM Transactions on Embedded Computing Systems"}
|
||||
@STRING{telo = "ACM Transactions on Evolutionary Learning"}
|
||||
@STRING{thri = "ACM Transactions on Human-Robot Interaction"}
|
||||
@STRING{tiis = "ACM Transactions on Interactive Intelligent Systems"}
|
||||
@STRING{tiot = "ACM Transactions on Internet of Things"}
|
||||
@STRING{tissec = "ACM Transactions on Information and System Security"}
|
||||
@STRING{tist = "ACM Transactions on Intelligent Systems and Technology"}
|
||||
@STRING{tkdd = "ACM Transactions on Knowledge Discovery from Data"}
|
||||
@STRING{tmis = "ACM Transactions on Management Information Systems"}
|
||||
@STRING{toce = "ACM Transactions on Computing Education"}
|
||||
@STRING{tochi = "ACM Transactions on Computer-Human Interaction"}
|
||||
@STRING{tocl = "ACM Transactions on Computational Logic"}
|
||||
@STRING{tocs = "ACM Transactions on Computer Systems"}
|
||||
@STRING{toct = "ACM Transactions on Computation Theory"}
|
||||
@STRING{todaes = "ACM Transactions on Design Automation of Electronic Systems"}
|
||||
@STRING{tods = "ACM Transactions on Database Systems"}
|
||||
@STRING{tog = "ACM Transactions on Graphics"}
|
||||
@STRING{tois = "ACM Transactions on Information Systems"}
|
||||
@STRING{toit = "ACM Transactions on Internet Technology"}
|
||||
@STRING{tomacs = "ACM Transactions on Modeling and Computer Simulation"}
|
||||
@STRING{tomm = "ACM Transactions on Multimedia Computing, Communications and Applications"}
|
||||
@STRING{tompecs = "ACM Transactions on Modeling and Performance Evaluation of Computing Systems"}
|
||||
@STRING{toms = "ACM Transactions on Mathematical Software"}
|
||||
@STRING{topc = "ACM Transactions on Parallel Computing"}
|
||||
@STRING{toplas = "ACM Transactions on Programming Languages and Systems"}
|
||||
@STRING{tops = "ACM Transactions on Privacy and Security"}
|
||||
@STRING{tos = "ACM Transactions on Storage"}
|
||||
@STRING{tosem = "ACM Transactions on Software Engineering and Methodology"}
|
||||
@STRING{tosn = "ACM Transactions on Sensor Networks"}
|
||||
@STRING{tqc = "ACM Transactions on Quantum Computing"}
|
||||
@STRING{trets = "ACM Transactions on Reconfigurable Technology and Systems"}
|
||||
@STRING{tsas = "ACM Transactions on Spatial Algorithms and Systems"}
|
||||
@STRING{tsc = "ACM Transactions on Social Computing"}
|
||||
@STRING{tslp = "ACM Transactions on Speech and Language Processing"}
|
||||
@STRING{tweb = "ACM Transactions on the Web"}
|
||||
@STRING{acmcs = "ACM Computing Surveys"}
|
||||
@STRING{acta = "Acta Informatica"}
|
||||
@STRING{cacm = "Communications of the ACM"}
|
||||
@STRING{ibmjrd = "IBM Journal of Research and Development"}
|
||||
@STRING{ibmsj = "IBM Systems Journal"}
|
||||
@STRING{ieeese = "IEEE Transactions on Software Engineering"}
|
||||
@STRING{ieeetc = "IEEE Transactions on Computers"}
|
||||
@STRING{ieeetcad = "IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
|
||||
@STRING{ipl = "Information Processing Letters"}
|
||||
@STRING{jcss = "Journal of Computer and System Sciences"}
|
||||
@STRING{scp = "Science of Computer Programming"}
|
||||
@STRING{sicomp = "SIAM Journal on Computing"}
|
||||
@STRING{toois = "ACM Transactions on Office Information Systems"}
|
||||
@STRING{tcs = "Theoretical Computer Science"}
|
Binary file not shown.
Before Width: | Height: | Size: 19 KiB |
@ -1,87 +0,0 @@
|
||||
|
||||
@Article{ai_in_transport,
|
||||
AUTHOR = {Abduljabbar, Rusul and Dia, Hussein and Liyanage, Sohani and Bagloee, Saeed Asadi},
|
||||
TITLE = {Applications of Artificial Intelligence in Transport: An Overview},
|
||||
JOURNAL = {Sustainability},
|
||||
VOLUME = {11},
|
||||
YEAR = {2019},
|
||||
NUMBER = {1},
|
||||
ARTICLE-NUMBER = {189},
|
||||
URL = {https://www.mdpi.com/2071-1050/11/1/189},
|
||||
ISSN = {2071-1050},
|
||||
ABSTRACT = {The rapid pace of developments in Artificial Intelligence (AI) is providing unprecedented opportunities to enhance the performance of different industries and businesses, including the transport sector. The innovations introduced by AI include highly advanced computational methods that mimic the way the human brain works. The application of AI in the transport field is aimed at overcoming the challenges of an increasing travel demand, CO2 emissions, safety concerns, and environmental degradation. In light of the availability of a huge amount of quantitative and qualitative data and AI in this digital age, addressing these concerns in a more efficient and effective fashion has become more plausible. Examples of AI methods that are finding their way to the transport field include Artificial Neural Networks (ANN), Genetic algorithms (GA), Simulated Annealing (SA), Artificial Immune system (AIS), Ant Colony Optimiser (ACO) and Bee Colony Optimization (BCO) and Fuzzy Logic Model (FLM) The successful application of AI requires a good understanding of the relationships between AI and data on one hand, and transportation system characteristics and variables on the other hand. Moreover, it is promising for transport authorities to determine the way to use these technologies to create a rapid improvement in relieving congestion, making travel time more reliable to their customers and improve the economics and productivity of their vital assets. This paper provides an overview of the AI techniques applied worldwide to address transportation problems mainly in traffic management, traffic safety, public transportation, and urban mobility. The overview concludes by addressing the challenges and limitations of AI applications in transport.},
|
||||
DOI = {10.3390/su11010189}
|
||||
}
|
||||
|
||||
|
||||
@misc{ztm_dataset,
|
||||
title={ZTM timetables public data},
|
||||
year={2023},
|
||||
url={https://www.ztm.poznan.pl/pl/dla-deweloperow/index}
|
||||
}
|
||||
|
||||
@misc{go_csv,
|
||||
title={Go CSV parser},
|
||||
url={https://pkg.go.dev/encoding/csv}
|
||||
}
|
||||
|
||||
@article{scikit_learn,
|
||||
title={Scikit-learn: Machine Learning in {P}ython},
|
||||
author={Pedregosa, F. and Varoquaux, G. and Gramfort, A. and Michel, V.
|
||||
and Thirion, B. and Grisel, O. and Blondel, M. and Prettenhofer, P.
|
||||
and Weiss, R. and Dubourg, V. and Vanderplas, J. and Passos, A. and
|
||||
Cournapeau, D. and Brucher, M. and Perrot, M. and Duchesnay, E.},
|
||||
journal={Journal of Machine Learning Research},
|
||||
volume={12},
|
||||
pages={2825--2830},
|
||||
year={2011}
|
||||
}
|
||||
|
||||
@misc{tensorflow2015-whitepaper,
|
||||
title={ {TensorFlow}: Large-Scale Machine Learning on Heterogeneous Systems},
|
||||
url={https://www.tensorflow.org/},
|
||||
note={Software available from tensorflow.org},
|
||||
author={
|
||||
Mart\'{i}n~Abadi and
|
||||
Ashish~Agarwal and
|
||||
Paul~Barham and
|
||||
Eugene~Brevdo and
|
||||
Zhifeng~Chen and
|
||||
Craig~Citro and
|
||||
Greg~S.~Corrado and
|
||||
Andy~Davis and
|
||||
Jeffrey~Dean and
|
||||
Matthieu~Devin and
|
||||
Sanjay~Ghemawat and
|
||||
Ian~Goodfellow and
|
||||
Andrew~Harp and
|
||||
Geoffrey~Irving and
|
||||
Michael~Isard and
|
||||
Yangqing Jia and
|
||||
Rafal~Jozefowicz and
|
||||
Lukasz~Kaiser and
|
||||
Manjunath~Kudlur and
|
||||
Josh~Levenberg and
|
||||
Dandelion~Man\'{e} and
|
||||
Rajat~Monga and
|
||||
Sherry~Moore and
|
||||
Derek~Murray and
|
||||
Chris~Olah and
|
||||
Mike~Schuster and
|
||||
Jonathon~Shlens and
|
||||
Benoit~Steiner and
|
||||
Ilya~Sutskever and
|
||||
Kunal~Talwar and
|
||||
Paul~Tucker and
|
||||
Vincent~Vanhoucke and
|
||||
Vijay~Vasudevan and
|
||||
Fernanda~Vi\'{e}gas and
|
||||
Oriol~Vinyals and
|
||||
Pete~Warden and
|
||||
Martin~Wattenberg and
|
||||
Martin~Wicke and
|
||||
Yuan~Yu and
|
||||
Xiaoqiang~Zheng},
|
||||
year={2015},
|
||||
}
|
||||
|
Binary file not shown.
@ -1,276 +0,0 @@
|
||||
%%
|
||||
%% This is file `sample-sigplan.tex',
|
||||
%% generated with the docstrip utility.
|
||||
%%
|
||||
%% The original source files were:
|
||||
%%
|
||||
%% samples.dtx (with options: `sigplan')
|
||||
%%
|
||||
%% IMPORTANT NOTICE:
|
||||
%%
|
||||
%% For the copyright see the source file.
|
||||
%%
|
||||
%% Any modified versions of this file must be renamed
|
||||
%% with new filenames distinct from sample-sigplan.tex.
|
||||
%%
|
||||
%% For distribution of the original source see the terms
|
||||
%% for copying and modification in the file samples.dtx.
|
||||
%%
|
||||
%% This generated file may be distributed as long as the
|
||||
%% original source files, as listed above, are part of the
|
||||
%% same distribution. (The sources need not necessarily be
|
||||
%% in the same archive or directory.)
|
||||
%%
|
||||
%%
|
||||
%% Commands for TeXCount
|
||||
%TC:macro \cite [option:text,text]
|
||||
%TC:macro \citep [option:text,text]
|
||||
%TC:macro \citet [option:text,text]
|
||||
%TC:envir table 0 1
|
||||
%TC:envir table* 0 1
|
||||
%TC:envir tabular [ignore] word
|
||||
%TC:envir displaymath 0 word
|
||||
%TC:envir math 0 word
|
||||
%TC:envir comment 0 0
|
||||
%%
|
||||
%%
|
||||
%% The first command in your LaTeX source must be the \documentclass
|
||||
%% command.
|
||||
%%
|
||||
%% For submission and review of your manuscript please change the
|
||||
%% command to \documentclass[manuscript, screen, review]{acmart}.
|
||||
%%
|
||||
%% When submitting camera ready or to TAPS, please change the command
|
||||
%% to \documentclass[sigconf]{acmart} or whichever template is required
|
||||
%% for your publication.
|
||||
%%
|
||||
%%
|
||||
\documentclass[sigplan,screen]{acmart}
|
||||
|
||||
%%
|
||||
%% \BibTeX command to typeset BibTeX logo in the docs
|
||||
\AtBeginDocument{%
|
||||
\providecommand\BibTeX{{%
|
||||
Bib\TeX}}}
|
||||
|
||||
%% Rights management information. This information is sent to you
|
||||
%% when you complete the rights form. These commands have SAMPLE
|
||||
%% values in them; it is your responsibility as an author to replace
|
||||
%% the commands and values with those provided to you when you
|
||||
%% complete the rights form.
|
||||
\setcopyright{acmcopyright}
|
||||
\copyrightyear{2023}
|
||||
\acmYear{2023}
|
||||
\acmDOI{XXXXXXX.XXXXXXX}
|
||||
|
||||
%% These commands are for a PROCEEDINGS abstract or paper.
|
||||
\acmConference[SIGBOVIK '23]{The conference of the ACH Special Interest Group on Harry Quartet Bovik}{April 1, 2023}{Pittsburgh, Pennsylvania}
|
||||
%%
|
||||
%% Uncomment \acmBooktitle if the title of the proceedings is different
|
||||
%% from ``Proceedings of ...''!
|
||||
%%
|
||||
%%\acmBooktitle{Woodstock '18: ACM Symposium on Neural Gaze Detection,
|
||||
%% June 03--05, 2018, Woodstock, NY}
|
||||
\acmPrice{0}
|
||||
\acmISBN{978-1-4503-XXXX-X/18/06}
|
||||
|
||||
|
||||
%%
|
||||
%% Submission ID.
|
||||
%% Use this when submitting an article to a sponsored event. You'll
|
||||
%% receive a unique submission ID from the organizers
|
||||
%% of the event, and this ID should be used as the parameter to this command.
|
||||
%%\acmSubmissionID{123-A56-BU3}
|
||||
|
||||
%%
|
||||
%% For managing citations, it is recommended to use bibliography
|
||||
%% files in BibTeX format.
|
||||
%%
|
||||
%% You can then either use BibTeX with the ACM-Reference-Format style,
|
||||
%% or BibLaTeX with the acmnumeric or acmauthoryear sytles, that include
|
||||
%% support for advanced citation of software artefact from the
|
||||
%% biblatex-software package, also separately available on CTAN.
|
||||
%%
|
||||
%% Look at the sample-*-biblatex.tex files for templates showcasing
|
||||
%% the biblatex styles.
|
||||
%%
|
||||
|
||||
%%
|
||||
%% The majority of ACM publications use numbered citations and
|
||||
%% references. The command \citestyle{authoryear} switches to the
|
||||
%% "author year" style.
|
||||
%%
|
||||
%% If you are preparing content for an event
|
||||
%% sponsored by ACM SIGGRAPH, you must use the "author year" style of
|
||||
%% citations and references.
|
||||
%% Uncommenting
|
||||
%% the next command will enable that style.
|
||||
%%\citestyle{acmauthoryear}
|
||||
|
||||
\usepackage[binary-units]{siunitx}
|
||||
\usepackage{listings}
|
||||
|
||||
%%
|
||||
%% end of the preamble, start of the body of the document source.
|
||||
\begin{document}
|
||||
|
||||
%%
|
||||
%% The "title" command has an optional parameter,
|
||||
%% allowing the author to define a "short title" to be used in page headers.
|
||||
\title{Superseeding Public Transport Timetables With AI}
|
||||
|
||||
%%
|
||||
%% The "author" command and its associated commands are used to define
|
||||
%% the authors and their affiliations.
|
||||
%% Of note is the shared affiliation of the first two authors, and the
|
||||
%% "authornote" and "authornotemark" commands
|
||||
%% used to denote shared contribution to the research.
|
||||
\author{Robert Bendun}
|
||||
\email{robert@bendun.cc}
|
||||
\affiliation{%
|
||||
\institution{Adam Mickiewicz University}
|
||||
\city{Poznań}
|
||||
\country{Poland}
|
||||
}
|
||||
|
||||
%%
|
||||
%% The abstract is a short summary of the work to be presented in the
|
||||
%% article.
|
||||
\begin{abstract}
|
||||
Replacing public transportation information tables using AI and mechine learning with the goal of simplyfing embdeded device implementation, reducing internet traffic and carboon footprint by replacing live tram and bus data with one predicted by model trained on historic schedule information.
|
||||
\end{abstract}
|
||||
|
||||
%%
|
||||
%% The code below is generated by the tool at http://dl.acm.org/ccs.cfm.
|
||||
%% Please copy and paste the code instead of the example below.
|
||||
%%
|
||||
\begin{CCSXML}
|
||||
<ccs2012>
|
||||
<concept>
|
||||
<concept_id>10003456.10003457.10003567.10003569</concept_id>
|
||||
<concept_desc>Social and professional topics~Automation</concept_desc>
|
||||
<concept_significance>500</concept_significance>
|
||||
</concept>
|
||||
</ccs2012>
|
||||
\end{CCSXML}
|
||||
|
||||
\ccsdesc[500]{Social and professional topics~Automation}
|
||||
|
||||
%%
|
||||
%% Keywords. The author(s) should pick words that accurately describe
|
||||
%% the work being presented. Separate the keywords with commas.
|
||||
\keywords{neural networks, public transport}
|
||||
%% A "teaser" image appears between the author and affiliation
|
||||
%% information and the body of the document, and typically spans the
|
||||
%% page.
|
||||
\begin{teaserfigure}
|
||||
\includegraphics[width=\textwidth]{tablica-informacyjna}
|
||||
\caption{Information table with nearest departures}
|
||||
\Description{Enjoying the baseball game from the third-base
|
||||
seats. Ichiro Suzuki preparing to bat.}
|
||||
\label{fig:teaser}
|
||||
\end{teaserfigure}
|
||||
|
||||
\received{20 February 2007}
|
||||
\received[revised]{12 March 2009}
|
||||
\received[accepted]{5 June 2009}
|
||||
|
||||
%%
|
||||
%% This command processes the author and affiliation and title
|
||||
%% information and builds the first part of the formatted document.
|
||||
\maketitle
|
||||
|
||||
\section{Disclaimer}
|
||||
This article is written for educational purpose. Any and all opinions and information listed in this article should be considered as not representative of me, my university and my employer. Reader discretion is advised.
|
||||
|
||||
\section{Introduction}
|
||||
Public transportation systems are an essential part of modern city infrastructure, providing reliable and efficient transportation for millions of people every day.
|
||||
However, the reliability of public transport services can often be compromised due to a variety of factors such as traffic congestion, weather conditions, and unexpected events.
|
||||
|
||||
Devices showing nearest public transport arrivals on given stop (like one on figure \ref{fig:teaser}), often require Internet access, introducing unnessesary network traffic and increasing city carbon footprint.
|
||||
To combat climate change and reduce noise introduced by network traffic with devices syncing current tram and bus positions, change is required.
|
||||
|
||||
We propose to replace network-enabled embeded systems with networkless devices that contain prediction model described by this paper.
|
||||
By reducing complexity of device by reduction of it's capabilities we can reduce production costs and availability of new devices.
|
||||
We can additionally reduce device shown on figure \ref{fig:teaser} by displaying only the direction for the nearest tram or bus arrival.
|
||||
This allows to reduce problem into multiclass classification.
|
||||
|
||||
\section{Related work}
|
||||
Most of AI usage inside the public transportation context is concerned with optimization of schedules.
|
||||
Searching for work that uses AI in interaction between passenger and public transport system is rather difficult.
|
||||
|
||||
Strongest connection can be found with general AI in public transport articles, especially ones overwieving applications of AI in public transport \cite{ai_in_transport}.
|
||||
|
||||
\section{Method}
|
||||
|
||||
\subsection{Dataset}
|
||||
|
||||
Dataset from which train and test data were created is publicly accessible public transport schedule information of ZTM Poznań \cite{ztm_dataset}.
|
||||
Due to storage limit, few files from last few months are selected, resulting in \SI{400}{\mebi\byte} initial dataset size.
|
||||
Then data is transformed from CSV format to TSV format, which is more suitable for standard shell text utilities consumption. Utility is written in Go for both performance and ease of use thanks to builtin CSV parser \cite{go_csv}.
|
||||
|
||||
Next, data is normalized using hand-written tool in C++: data notation is changed from \texttt{HH:MM} format to floating point representation when span from \texttt{00:00} to \texttt{23:59} is mapped to span $ \left[0, 1\right] $.
|
||||
If row doesn't contain all required information then it's rejected.
|
||||
All columns that are not nessesary are removed.
|
||||
This results in \SI{176}{\mebi\byte} (originally \SI{400}{\mebi\byte}).
|
||||
|
||||
Training, validation and test data are extracted from normalized file using scikit-learn \cite{scikit_learn} function \texttt{train\_test\_split}.
|
||||
All classes in dataset are extracted from normalized dataset using standard POSIX utilities: \texttt{cut}, \texttt{uniq}, \texttt{sort}.
|
||||
|
||||
\subsection{Model}
|
||||
|
||||
Model is implemented using Tensorflow \cite{tensorflow2015-whitepaper} framework, both to develop and evaluate.
|
||||
Design of the model is driven by the computational capabilities of Lenovo Thinkpad x270 with i5-7300U processor and 8GB of RAM.
|
||||
|
||||
Model is constructed as shown below:
|
||||
\begin{lstlisting}[language=Python]
|
||||
from tf.keras import Sequential
|
||||
from tf.keras.leyers import Input, Dense
|
||||
|
||||
model = Sequential([
|
||||
Input(shape=(2,)),
|
||||
Dense(4*num_classes,activation='relu'),
|
||||
Dense(4*num_classes,activation='relu'),
|
||||
Dense(4*num_classes,activation='relu'),
|
||||
Dense(num_classes,activation='softmax')
|
||||
])
|
||||
\end{lstlisting}
|
||||
|
||||
Notable used activation function is softmax, defined as: $ \sigma(z)_i = \frac{e^{z_i}}{\sum_{j=1}^{K} e^{z_j}} $ for $ i = 1, \dots, K$ and $z = (z_1, \dots, z_K)$.
|
||||
|
||||
\section{Results}
|
||||
|
||||
Accuracy while training for 2 epochs, epoch size is 1024.
|
||||
|
||||
\begin{table}
|
||||
\caption{Accuracy of trained model}
|
||||
\label{tab:freq}
|
||||
\begin{tabular}{c}
|
||||
\toprule
|
||||
Accuracy\\
|
||||
\midrule
|
||||
$0.20598010947207804$ \\
|
||||
$0.20598010947207804$ \\
|
||||
$0.18560214941090175$ \\
|
||||
$0.19518890350138754$ \\
|
||||
$0.19516771079968306$ \\
|
||||
\bottomrule
|
||||
\end{tabular}
|
||||
\end{table}
|
||||
|
||||
Further evaluation and model training is required.
|
||||
|
||||
\section{Conclusions}
|
||||
Due to available computational power (or lack there off) any conclusions about the solution are limited.
|
||||
However, with model defined as above we can efficiently compress information - timetables storing required information for a month are \SI{62}{\mebi\byte} and stored model occupies only \SI{19}{\mebi\byte}.
|
||||
Due to greater space-efficiency of AI powered solution, test deployment may be tested in the near future.
|
||||
|
||||
%%
|
||||
%% The next two lines define the bibliography style to be used, and
|
||||
%% the bibliography file.
|
||||
\bibliographystyle{ACM-Reference-Format}
|
||||
\bibliography{article}
|
||||
|
||||
|
||||
\end{document}
|
||||
\endinput
|
File diff suppressed because it is too large
Load Diff
@ -1,27 +0,0 @@
|
||||
\def\batchfile{samples.ins}
|
||||
\input docstrip
|
||||
\keepsilent
|
||||
\showprogress
|
||||
|
||||
|
||||
\askforoverwritefalse
|
||||
|
||||
\generate{%
|
||||
\file{sample-manuscript.tex}{\from{samples.dtx}{manuscript}}
|
||||
\file{sample-acmsmall.tex}{\from{samples.dtx}{acmsmall}}
|
||||
\file{sample-acmsmall-submission.tex}{\from{samples.dtx}{acmsmall-submission}}
|
||||
\file{sample-acmsmall-biblatex.tex}{\from{samples.dtx}{acmsmall-biblatex}}
|
||||
\file{sample-acmlarge.tex}{\from{samples.dtx}{acmlarge}}
|
||||
\file{sample-acmtog.tex}{\from{samples.dtx}{acmtog}}
|
||||
\file{sample-sigconf.tex}{\from{samples.dtx}{sigconf}}
|
||||
\file{sample-sigconf-biblatex.tex}{\from{samples.dtx}{sigconf-biblatex}}
|
||||
\file{sample-authordraft.tex}{\from{samples.dtx}{authordraft}}
|
||||
\file{sample-xelatex.tex}{\from{samples.dtx}{sigconf}}
|
||||
\file{sample-lualatex.tex}{\from{samples.dtx}{sigconf}}
|
||||
\file{sample-sigplan.tex}{\from{samples.dtx}{sigplan}}
|
||||
\file{sample-acmsmall-conf.tex}{\from{samples.dtx}{acmsmall-conf}}
|
||||
\file{sample-sigconf-i13n.tex}{\from{samples.dtx}{sigconf-i13n}}
|
||||
\file{sample-acmengage.tex}{\from{samples.dtx}{acmengage}}
|
||||
\file{sample-acmcp.tex}{\from{samples.dtx}{acmcp}}
|
||||
}
|
||||
|
@ -1,145 +0,0 @@
|
||||
@softwareversion {delebecque:hal-02090402-condensed,
|
||||
title = {Scilab},
|
||||
author = {Delebecque, Fran{\c c}ois and Gomez, Claude and Goursat, Maurice
|
||||
and Nikoukhah, Ramine and Steer, Serge and Chancelier, Jean-Philippe},
|
||||
url = {https://www.scilab.org/},
|
||||
date = {1994-01},
|
||||
file = {https://hal.inria.fr/hal-02090402/file/scilab-1.1.tar.gz},
|
||||
institution = {Inria},
|
||||
license = {Scilab license},
|
||||
hal_id = {hal-02090402},
|
||||
hal_version = {v1},
|
||||
swhid = {swh:1:dir:1ba0b67b5d0c8f10961d878d91ae9d6e499d746a;
|
||||
origin=https://hal.archives-ouvertes.fr/hal-02090402},
|
||||
version = {1.1},
|
||||
note = {First Scilab version. It was distributed by anonymous ftp.},
|
||||
repository= {https://github.com/scilab/scilab},
|
||||
abstract = {Software for Numerical Computation freely distributed.}
|
||||
}
|
||||
@software {delebecque:hal-02090402,
|
||||
title = {Scilab},
|
||||
author = {Delebecque, Fran{\c c}ois and Gomez, Claude and Goursat, Maurice
|
||||
and Nikoukhah, Ramine and Steer, Serge and Chancelier, Jean-Philippe},
|
||||
date = {1994},
|
||||
institution = {Inria},
|
||||
license = {Scilab license},
|
||||
hal_id = {hal-02090402},
|
||||
hal_version = {v1},
|
||||
url = {https://www.scilab.org/},
|
||||
abstract = {Software for Numerical Computation freely distributed.},
|
||||
repository= {https://github.com/scilab/scilab},
|
||||
}
|
||||
|
||||
@softwareversion {delebecque:hal-02090402v1,
|
||||
version = {1.1},
|
||||
date = {1994-01},
|
||||
file = {https://hal.inria.fr/hal-02090402/file/scilab-1.1.tar.gz},
|
||||
swhid = {swh:1:dir:1ba0b67b5d0c8f10961d878d91ae9d6e499d746a;
|
||||
origin=https://hal.archives-ouvertes.fr/hal-02090402},
|
||||
note = {First Scilab version. It was distributed by anonymous ftp.},
|
||||
crossref = {delebecque:hal-02090402}
|
||||
}
|
||||
@software {cgal,
|
||||
title = {The Computational Geometry Algorithms Library},
|
||||
author = {{The CGAL Project}},
|
||||
editor = {{CGAL Editorial Board}},
|
||||
date = {1996},
|
||||
url = {https://cgal.org/}
|
||||
}
|
||||
|
||||
@softwareversion{cgal:5-0-2,
|
||||
crossref = {cgal},
|
||||
version = {{5.0.2}},
|
||||
url = {https://docs.cgal.org/5.02},
|
||||
date = {2020},
|
||||
swhid = {swh:1:rel:636541bbf6c77863908eae744610a3d91fa58855;
|
||||
origin=https://github.com/CGAL/cgal/}
|
||||
}
|
||||
|
||||
@softwaremodule{cgal:lp-gi-20a,
|
||||
crossref = {cgal:5-0-2},
|
||||
author = {Menelaos Karavelas},
|
||||
subtitle = {{2D} Voronoi Diagram Adaptor},
|
||||
license = {GPL},
|
||||
introducedin = {cgal:3-1},
|
||||
url = {https://doc.cgal.org/5.0.2/Manual/packages.html#PkgVoronoiDiagram2},
|
||||
}
|
||||
@softwaremodule{cgal:lp-gi-20a-condensed,
|
||||
title = {The Computational Geometry Algorithms Library},
|
||||
subtitle = {{2D} Voronoi Diagram Adaptor},
|
||||
author = {Menelaos Karavelas},
|
||||
editor = {{CGAL Editorial Board}},
|
||||
license = {GPL},
|
||||
version = {{5.0.2}},
|
||||
introducedin = {cgal:3-1},
|
||||
date = {2020},
|
||||
swhid = {swh:1:rel:636541bbf6c77863908eae744610a3d91fa58855;
|
||||
origin=https://github.com/CGAL/cgal/},
|
||||
url = {https://doc.cgal.org/5.0.2/Manual/packages.html#PkgVoronoiDiagram2},
|
||||
}
|
||||
@software {parmap,
|
||||
title = {The Parmap library},
|
||||
author = {Di Cosmo, Roberto and Marco Danelutto},
|
||||
date = {2012},
|
||||
institution = {{Inria} and {University of Paris} and {University of Pisa}},
|
||||
license = {LGPL-2.0},
|
||||
url = {https://rdicosmo.github.io/parmap/},
|
||||
repository= {https://github.com/rdicosmo/parmap},
|
||||
}
|
||||
|
||||
@softwareversion {parmap-1.1.1,
|
||||
crossref = {parmap},
|
||||
date = {2020},
|
||||
version = {1.1.1},
|
||||
swhid = {swh:1:rel:373e2604d96de4ab1d505190b654c5c4045db773;
|
||||
origin=https://github.com/rdicosmo/parmap;
|
||||
visit=swh:1:snp:2a6c348c53eb77d458f24c9cbcecaf92e3c45615},
|
||||
}
|
||||
|
||||
@codefragment {simplemapper,
|
||||
subtitle = {Core mapping routine},
|
||||
swhid = {swh:1:cnt:43a6b232768017b03da934ba22d9cc3f2726a6c5;
|
||||
origin=https://github.com/rdicosmo/parmap;
|
||||
visit=swh:1:snp:2a6c348c53eb77d458f24c9cbcecaf92e3c45615;
|
||||
anchor=swh:1:rel:373e2604d96de4ab1d505190b654c5c4045db773;
|
||||
path=/src/parmap.ml;
|
||||
lines=192-228},
|
||||
crossref = {parmap-1.1.1}
|
||||
}
|
||||
@codefragment {simplemapper-condensed,
|
||||
title = {The Parmap library},
|
||||
author = {Di Cosmo, Roberto and Marco Danelutto},
|
||||
date = {2020},
|
||||
institution = {{Inria} and {University of Paris} and {University of Pisa}},
|
||||
license = {LGPL-2.0},
|
||||
url = {https://rdicosmo.github.io/parmap/},
|
||||
repository= {https://github.com/rdicosmo/parmap},
|
||||
version = {1.1.1},
|
||||
subtitle = {Core mapping routine},
|
||||
swhid = {swh:1:cnt:43a6b232768017b03da934ba22d9cc3f2726a6c5;
|
||||
origin=https://github.com/rdicosmo/parmap;
|
||||
visit=swh:1:snp:2a6c348c53eb77d458f24c9cbcecaf92e3c45615;
|
||||
anchor=swh:1:rel:373e2604d96de4ab1d505190b654c5c4045db773;
|
||||
path=/src/parmap.ml;
|
||||
lines=192-228}
|
||||
}
|
||||
|
||||
@article{ad-wood-2003,
|
||||
author = {Christopher Anderson and Sophia Drossopoulou},
|
||||
title = {{BabyJ}: from Object Based to Class Based Programming via Types},
|
||||
journal = {{WOOD}},
|
||||
volume = {82},
|
||||
number = {7},
|
||||
pages = {53--81},
|
||||
year = {2003}
|
||||
}
|
||||
|
||||
@softwareversion{gf-tag-sound-repo,
|
||||
title={tag-sound},
|
||||
author={Ben Greenman and Matthias Felleisen},
|
||||
swhid={swh:1:dir:cd0b0abeee707e57cd699e2e2ebd075da8ebf1f7;origin=https://github.com/nuprl/tag-sound;visit=swh:1:snp:7967bc0abee8bf3bfffb9252207a07b73538525a;anchor=swh:1:rev:4cc09ca228947a99c8f4ac45eefb76e96ee96e53},
|
||||
repository={https://github.com/nuprl/tag-sound},
|
||||
version={4cc09ca},
|
||||
date={2020}
|
||||
}
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 413 KiB |
@ -1,15 +1,15 @@
|
||||
#!/usr/bin/env python3
|
||||
from sklearn.preprocessing import LabelEncoder
|
||||
import pandas as pd
|
||||
import tensorflow as tf
|
||||
from sklearn.preprocessing import LabelEncoder
|
||||
|
||||
pd.set_option('display.float_format', lambda x: '%.5f' % x)
|
||||
|
||||
le = LabelEncoder()
|
||||
le.fit([x.strip() for x in pd.read_csv('./stop_times.categories.tsv', sep='\t')['stop_headsign'].to_numpy()])
|
||||
|
||||
def load_data(path: str, le: LabelEncoder):
|
||||
train = pd.read_csv(path, sep='\t', dtype={ 'departure_time': float, 'stop_id': str, 'stop_headsign': str })
|
||||
def load_data(path: str, le: LabelEncoder, open_file):
|
||||
train = pd.read_csv(open_file(path), sep='\t', dtype={ 'departure_time': float, 'stop_id': str, 'stop_headsign': str })
|
||||
|
||||
departure_time = train['departure_time'].to_numpy()
|
||||
stop_id = train['stop_id'].to_numpy()
|
||||
@ -23,7 +23,7 @@ def load_data(path: str, le: LabelEncoder):
|
||||
num_classes = len(le.classes_)
|
||||
|
||||
|
||||
def train(epochs: int):
|
||||
def train(epochs: int, open_file, add_artifact):
|
||||
global le
|
||||
|
||||
model = tf.keras.Sequential([
|
||||
@ -38,18 +38,19 @@ def train(epochs: int):
|
||||
loss=tf.keras.losses.SparseCategoricalCrossentropy(),
|
||||
metrics=['accuracy'])
|
||||
|
||||
train_x, train_y, _ = load_data('./stop_times.train.tsv', le)
|
||||
train_x, train_y, _ = load_data('./stop_times.train.tsv', le, open_file)
|
||||
train_x = tf.convert_to_tensor(train_x, dtype=tf.float32)
|
||||
train_y = tf.convert_to_tensor(train_y)
|
||||
|
||||
valid_x, valid_y, _ = load_data('./stop_times.valid.tsv', le)
|
||||
valid_x, valid_y, _ = load_data('./stop_times.valid.tsv', le, open_file)
|
||||
valid_x = tf.convert_to_tensor(valid_x, dtype=tf.float32)
|
||||
valid_y = tf.convert_to_tensor(valid_y)
|
||||
|
||||
model.fit(train_x, train_y, validation_data=(valid_x, valid_y), epochs=epochs, batch_size=1024)
|
||||
history = model.fit(train_x, train_y, validation_data=(valid_x, valid_y), epochs=epochs, batch_size=1024)
|
||||
model.save('model.keras')
|
||||
add_artifact('model.keras', history.history)
|
||||
|
||||
if __name__ == "__main__":
|
||||
import sys
|
||||
epochs = int('2' if len(sys.argv) != 2 else sys.argv[1])
|
||||
train(epochs)
|
||||
train(epochs, lambda x: x, lambda _1, _2: ())
|
||||
|
21
src/tf_train_sacred.py
Normal file
21
src/tf_train_sacred.py
Normal file
@ -0,0 +1,21 @@
|
||||
from tf_train import *
|
||||
from sacred import Experiment
|
||||
from sacred.observers import MongoObserver
|
||||
|
||||
ex = Experiment('s452639')
|
||||
ex.observers.append(MongoObserver(url="mongodb://admin:IUM_2021@172.17.0.1:27017", db_name='sacred'))
|
||||
|
||||
@ex.config
|
||||
def params():
|
||||
epochs = 2
|
||||
|
||||
@ex.automain
|
||||
def train_sacred(epochs: int):
|
||||
def postprocess(artifact_path, history):
|
||||
ex.add_artifact(artifact_path)
|
||||
|
||||
for name, values in history.items():
|
||||
for value in values:
|
||||
ex.log_scalar(name, value)
|
||||
|
||||
train(epochs, lambda path: ex.open_resource(path), postprocess)
|
@ -1,17 +0,0 @@
|
||||
FROM ubuntu:22.04
|
||||
|
||||
RUN apt update && apt install -y vim make python3 python3-pip python-is-python3 gcc g++ golang wget unzip git
|
||||
RUN pip install pandas matplotlib scikit-learn tensorflow
|
||||
|
||||
RUN mkdir /ium
|
||||
COPY .. /ium
|
||||
|
||||
WORKDIR /ium/src/
|
||||
|
||||
RUN wget https://bendun.students.wmi.amu.edu.pl/stop_times.train.tsv
|
||||
RUN wget https://bendun.students.wmi.amu.edu.pl/stop_times.valid.tsv
|
||||
RUN wget https://bendun.students.wmi.amu.edu.pl/stop_times.categories.tsv
|
||||
|
||||
VOLUME /github/workspace/
|
||||
|
||||
ENTRYPOINT ["/ium/train-action/entrypoint.sh"]
|
@ -1,5 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
cd /ium/src
|
||||
python3 tf_train.py "$1"
|
||||
cp /ium/src/model.keras /github/workspace/
|
@ -1,12 +0,0 @@
|
||||
name: Train
|
||||
description: 'Train model'
|
||||
inputs:
|
||||
epochs:
|
||||
description: 'Number of epochs'
|
||||
required: true
|
||||
default: '2'
|
||||
runs:
|
||||
using: 'docker'
|
||||
image: 'Dockerfile'
|
||||
args:
|
||||
- ${{ inputs.epochs }}
|
@ -32,7 +32,7 @@ node {
|
||||
flatten: true,
|
||||
target: 'src/'
|
||||
|
||||
sh 'cd src; python tf_train.py $EPOCHS'
|
||||
sh "cd src; python tf_train_sacred.py with epochs=${params.EPOCHS}"
|
||||
archiveArtifacts artifacts: 'src/model.keras', followSymlinks: false
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user