commit c9f1f3fc19ed3d1cbd9c42512e6c8a681631b532 Author: Wojtek Date: Sun Jan 26 19:01:08 2020 +0000 init diff --git a/.cookiecutter.yml b/.cookiecutter.yml new file mode 100644 index 0000000..6dace34 --- /dev/null +++ b/.cookiecutter.yml @@ -0,0 +1,7 @@ +default_context: + thesis_type: 'msc' + thesis_surname: 'smolak' + thesis_author: 'Wojciech Smolak' + thesis_title: 'Wyszukiwanie pełnotekstowe w archiwalnych nagraniach audiowizualnych' + thesis_locale: 'pl_PL' + amu_id: 's333949' diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1725277 --- /dev/null +++ b/.gitignore @@ -0,0 +1,154 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# pycharm configs +.idea + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# pyenv +.python-version + +# celery beat schedule file +celerybeat-schedule + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ + +#Intellij +vcs.xml + +# data generated by parser +/data + +# autogenerated +/docs/source/reference/ + +# docs output +/docs/build/ + +# Caches +/.cache + +# Emacs +\#*\# +.\#* + +# JetBrains +.idea + +# Temporary +*~ + +*.aux +*.nav +*.toc +*.log +*.out +*.blg +*.bbl +*.synctex.gz +*.fdb_latexmk +*.fls +*.prv +*.idx +*.lof +*.lot +*.brf +/auto +smolak.pdf +smolak.zip +autozoil.xml +stats.txt +abstract.txt diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..980bac9 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,64 @@ +pipeline { + + agent { label 'tau2013z' } + + stages { + + stage ('get-autozoil') { + steps { + checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'autozoil']], submoduleCfg: [], userRemoteConfigs: [[url: 'https://gitlab.com/filipg/autozoil.git']]]) + } + } + + stage ('build-pdf') { + steps { + sh """ +bash build.sh +""" + } + + post { + always { + archiveArtifacts artifacts: 'smolak.pdf', fingerprint: true + archiveArtifacts artifacts: 'stats.txt', fingerprint: true + + plot csvFileName: 'stats.txt', + csvSeries: [[ + file: 'stats.txt', + exclusionValues: '', + displayTableFlag: false, + inclusionFlag: 'OFF', + url: '']], + group: 'Plot Group', + title: 'Plot Title', + style: 'line', + exclZero: false, + keepRecords: false, + logarithmic: false, + numBuilds: '', + useDescr: false, + yaxis: '', + yaxisMaximum: '', + yaxisMinimum: '' + } + } + + } + + stage ('autozoil') { + steps { + sh """ +AUTOZOIL_DIR=autozoil bash check.sh +""" + } + + post { + always { + archiveArtifacts artifacts: 'autozoil.xml', fingerprint: true + junit 'autozoil.xml' + } + } + } + + } +} diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..efe7dca --- /dev/null +++ b/Makefile @@ -0,0 +1,43 @@ +SHELL=/bin/bash + +THESIS_ID=smolak + +all: $(THESIS_ID).pdf stats.txt + +source-pack: $(THESIS_ID).zip + +CONTENT_TEX_SOURCES=$(filter-out $(THESIS_ID).tex metadata.tex preamble.tex, $(wildcard *.tex)) + +CURRENT_DIR=$(shell pwd) +AUTOZOIL_DIR?=/opt/autozoil +AUTOZOIL_LOCALE=pl_PL + +CONTENT_TEX_SOURCES_WITH_DIR := $(addprefix $(CURRENT_DIR)/, $(CONTENT_TEX_SOURCES)) +SCOREFILES=$(shell perl extract-score-files.pl $(CONTENT_TEX_SOURCES)) + +clean_latex_stuff=rm -rf *.aux *.nav *.toc *.log *.out *.blg *.bbl autozoil.xml $(THESIS_ID).pdf $(THESIS_ID).zip + +stats.txt: $(THESIS_ID).pdf helpers/stats.sh + bash helpers/stats.sh $< > $@ + cat $@ + +$(THESIS_ID).pdf: $(THESIS_ID).tex preamble.tex metadata.tex $(CONTENT_TEX_SOURCES) bibliography.bib $(SCOREFILES) + pdflatex -halt-on-error $< + bibtex $(THESIS_ID) + pdflatex -halt-on-error $< + pdflatex -halt-on-error $< + +scores/%.txt: + mkdir -p scores + curl "https://gonito.net/api/txt/score/"$* -o $@ + +autozoil.xml: $(CONTENT_TEX_SOURCES) + cd $(AUTOZOIL_DIR) && set -o pipefail && ./autozoil --locale $(AUTOZOIL_LOCALE) $(CONTENT_TEX_SOURCES_WITH_DIR) --format xml --alt-log-file $(CURRENT_DIR)/$(THESIS_ID).log > $(CURRENT_DIR)/autozoil.xml + +$(THESIS_ID).zip: + $(clean_latex_stuff) + rm -rf *~ + zip -r $@ . -x '*.git*' '*.zip' + +clean: + $(clean_latex_stuff) diff --git a/README.md b/README.md new file mode 100644 index 0000000..ad9b1b9 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +Master's thesis diff --git a/appendix.tex b/appendix.tex new file mode 100644 index 0000000..f2aaf7c --- /dev/null +++ b/appendix.tex @@ -0,0 +1,17 @@ + +% +% Załączniki (opcjonalnie): +\appendix +\chapter{Tytuł załącznika jeden} + +Treść załącznika jeden. Treść załącznika jeden. Treść załącznika jeden +Treść załącznika jeden. Treść załącznika jeden. +Treść załącznika +jeden\index{żółw}\index{źdźbło}\index{zebra}. + +\chapter{Tytuł załącznika dwa} + +Treść załącznika dwa. Treść załącznika dwa. Treść załącznika dwa +Treść załącznika dwa. Treść załącznika dwa. +Treść załącznika dwa\index{system XML}. + diff --git a/autozoil-via-docker.sh b/autozoil-via-docker.sh new file mode 100755 index 0000000..a386f85 --- /dev/null +++ b/autozoil-via-docker.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +docker run -v $(pwd):/link -it loxygen/autozoil /opt/autozoil/autozoil --locale en_US /link/main.tex --alt-log-file /link/smolak.log diff --git a/bibliography.bib b/bibliography.bib new file mode 100644 index 0000000..6863e5e --- /dev/null +++ b/bibliography.bib @@ -0,0 +1,1153 @@ + + +@incollection { gonito2016, + title = {Gonito.net -- Open Platform for Research Competition, Cooperation and Reproducibility}, + author = "Grali{\'n}ski, Filip and Jaworski, Rafa{\l} and Borchmann, {\L}ukasz and Wierzcho{\'n}, Piotr", + editor = "Branco, António and Calzolari , Nicoletta and Choukri, Khalid", + booktitle = {Proceedings of the 4REAL Workshop: Workshop on Research Results Reproducibility and Resources Citation in Science and Technology of Language}, + year = "2016", + pages = "13-20" +} + +@inproceedings{stanislawek-etal-2019-named, + title = "Named Entity Recognition - Is There a Glass Ceiling?", + author = "Stanislawek, Tomasz and + Wr{\'o}blewska, Anna and + W{\'o}jcicka, Alicja and + Ziembicki, Daniel and + Biecek, Przemyslaw", + booktitle = "Proceedings of the 23rd Conference on Computational Natural Language Learning (CoNLL)", + month = nov, + year = "2019", + address = "Hong Kong, China", + publisher = "Association for Computational Linguistics", + url = "https://www.aclweb.org/anthology/K19-1058", + doi = "10.18653/v1/K19-1058", + pages = "624--633", + abstract = "Recent developments in Named Entity Recognition (NER) have resulted in better and better models. However, is there a glass ceiling? Do we know which types of errors are still hard or even impossible to correct? In this paper, we present a detailed analysis of the types of errors in state-of-the-art machine learning (ML) methods. Our study illustrates weak and strong points of the Stanford, CMU, FLAIR, ELMO and BERT models, as well as their shared limitations. We also introduce new techniques for improving annotation, training process, and for checking model quality and stability.", +} + +@misc{borchmann2019searching, + title={Searching for Legal Clauses by Analogy. Few-shot Semantic Retrieval Shared Task}, + author={Łukasz Borchmann and Dawid Wiśniewski and Andrzej Gretkowski and Izabela Kosmala and Dawid Jurkiewicz and Łukasz Szałkiewicz and Gabriela Pałka and Karol Kaczmarek and Agnieszka Kaliska and Filip Graliński}, + year={2019}, + eprint={1911.03911}, + archivePrefix={arXiv}, + primaryClass={cs.CL} +} + +@inproceedings{gralinski-etal-2019-geval, + title = "{GE}val: Tool for Debugging {NLP} Datasets and Models", + author = "Grali{\'n}ski, Filip and + Wr{\'o}blewska, Anna and + Stanis{\l}awek, Tomasz and + Grabowski, Kamil and + G{\'o}recki, Tomasz", + booktitle = "Proceedings of the 2019 ACL Workshop BlackboxNLP: Analyzing and Interpreting Neural Networks for NLP", + month = aug, + year = "2019", + address = "Florence, Italy", + publisher = "Association for Computational Linguistics", + url = "https://www.aclweb.org/anthology/W19-4826", + pages = "254--262", + abstract = "This paper presents a simple but general and effective method to debug the output of machine learning (ML) supervised models, including neural networks. The algorithm looks for features that lower the evaluation metric in such a way that it cannot be ascribed to chance (as measured by their p-values). Using this method {--} implemented as MLEval tool {--} you can find: (1) anomalies in test sets, (2) issues in preprocessing, (3) problems in the ML model itself. It can give you an insight into what can be improved in the datasets and/or the model. The same method can be used to compare ML models or different versions of the same model. We present the tool, the theory behind it and use cases for text-based models of various types.", +} + +@inproceedings{Borchmann2018, +title = {Approaching nested named entity recognition with parallel LSTM-CRFs}, +author = {Łukasz Borchmann and Andrzej Gretkowski and Filip Graliński}, +editor = {Maciej Ogrodniczuk and Łukasz Kobyliński}, +url = {http://www.borchmann.pl/wp-content/uploads/2018/10/borchmann-lukasz.pdf}, +year = {2018}, +date = {2018-10-19}, +booktitle = {Proceedings of the PolEval 2018 Workshop}, +pages = {63-73}, +publisher = {Institute of Computer Science, Polish Academy of Science}, +address = {Warszawa}, +keywords = {}, +pubstate = {published}, +tppubtype = {inproceedings} +} + + +@article{DBLP:journals/corr/HewlettLJPFHKB16, + author = {Daniel Hewlett and + Alexandre Lacoste and + Llion Jones and + Illia Polosukhin and + Andrew Fandrianto and + Jay Han and + Matthew Kelcey and + David Berthelot}, + title = "{WikiReading: {A} Novel Large-scale Language Understanding Task over + Wikipedia}", + journal = {CoRR}, + volume = {abs/1608.03542}, + year = {2016}, + url = {http://arxiv.org/abs/1608.03542}, + archivePrefix = {arXiv}, + eprint = {1608.03542}, + timestamp = {Mon, 13 Aug 2018 16:46:41 +0200}, + biburl = {https://dblp.org/rec/bib/journals/corr/HewlettLJPFHKB16}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} + +@inproceedings{byte-level2018kenter, + title={Byte-level Machine Reading across Morphologically Varied Languages}, + author={Tom Kenter and Llion Jones and Daniel Hewlett}, + booktitle={Proceedings of the The Thirty-Second AAAI Conference on Artificial Intelligence (AAAI-18)}, + year={2018} +} + +@article{DBLP:journals/corr/SutskeverVL14, + author = {Ilya Sutskever and + Oriol Vinyals and + Quoc V. Le}, + title = "{Sequence to Sequence Learning with Neural Networks}", + journal = {CoRR}, + volume = {abs/1409.3215}, + year = {2014}, + url = {http://arxiv.org/abs/1409.3215}, + archivePrefix = {arXiv}, + eprint = {1409.3215}, + timestamp = {Mon, 13 Aug 2018 16:48:06 +0200}, + biburl = {https://dblp.org/rec/bib/journals/corr/SutskeverVL14}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} + +@article{DBLP:journals/corr/abs-1811-04284, + author = {Hainan Xu and + Shuoyang Ding and + Shinji Watanabe}, + title = "{Improving End-to-end Speech Recognition with Pronunciation-assisted + Sub-word Modeling}", + journal = {CoRR}, + volume = {abs/1811.04284}, + year = {2018}, + url = {http://arxiv.org/abs/1811.04284}, + archivePrefix = {arXiv}, + eprint = {1811.04284}, + timestamp = {Fri, 23 Nov 2018 12:43:51 +0100}, + biburl = {https://dblp.org/rec/bib/journals/corr/abs-1811-04284}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} + +@inproceedings{holt-chisholm-2018-extracting, + title = "Extracting structured data from invoices", + author = "Holt, Xavier and + Chisholm, Andrew", + booktitle = "Proceedings of the Australasian Language Technology Association Workshop 2018", + month = dec, + year = "2018", + address = "Dunedin, New Zealand", + url = "https://www.aclweb.org/anthology/U18-1006", + pages = "53--59", + abstract = "Business documents encode a wealth of information in a format tailored to human consumption {--} i.e. aesthetically disbursed natural language text, graphics and tables. We address the task of extracting key fields (e.g. the amount due on an invoice) from a wide-variety of potentially unseen document formats. In contrast to traditional template driven extraction systems, we introduce a content-driven machine-learning approach which is both robust to noise and generalises to unseen document formats. In a comparison of our approach with alternative invoice extraction systems, we observe an absolute accuracy gain of 20{\textbackslash}{\%} across compared fields, and a 25{\textbackslash}{\%}{--}94{\textbackslash}{\%} reduction in extraction latency.", +} + +@article{DBLP:journals/corr/abs-1907-11692, + author = {Yinhan Liu and + Myle Ott and + Naman Goyal and + Jingfei Du and + Mandar Joshi and + Danqi Chen and + Omer Levy and + Mike Lewis and + Luke Zettlemoyer and + Veselin Stoyanov}, + title = "{RoBERTa: {A} Robustly Optimized {BERT} Pretraining Approach}", + journal = {CoRR}, + volume = {abs/1907.11692}, + year = {2019}, + url = {http://arxiv.org/abs/1907.11692}, + archivePrefix = {arXiv}, + eprint = {1907.11692}, + timestamp = {Thu, 01 Aug 2019 08:59:33 +0200}, + biburl = {https://dblp.org/rec/bib/journals/corr/abs-1907-11692}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} + + +@article{ke2018focused, + title={Focused hierarchical rnns for conditional sequence processing}, + author={Ke, Nan Rosemary and Zolna, Konrad and Sordoni, Alessandro and Lin, Zhouhan and Trischler, Adam and Bengio, Yoshua and Pineau, Joelle and Charlin, Laurent and Pal, Chris}, + journal={arXiv preprint arXiv:1806.04342}, + year={2018} +} + + +@article{DBLP:journals/corr/abs-1901-02860, + author = {Zihang Dai and + Zhilin Yang and + Yiming Yang and + Jaime G. Carbonell and + Quoc V. Le and + Ruslan Salakhutdinov}, + title = "{Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context}", + journal = {CoRR}, + volume = {abs/1901.02860}, + year = {2019}, + url = {http://arxiv.org/abs/1901.02860}, + archivePrefix = {arXiv}, + eprint = {1901.02860}, + timestamp = {Fri, 01 Feb 2019 13:39:59 +0100}, + biburl = {https://dblp.org/rec/bib/journals/corr/abs-1901-02860}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} + +@article{DBLP:journals/corr/abs-1906-08237, + author = {Zhilin Yang and + Zihang Dai and + Yiming Yang and + Jaime G. Carbonell and + Ruslan Salakhutdinov and + Quoc V. Le}, + title = "{XLNet: Generalized Autoregressive Pretraining for Language Understanding}", + journal = {CoRR}, + volume = {abs/1906.08237}, + year = {2019}, + url = {http://arxiv.org/abs/1906.08237}, + archivePrefix = {arXiv}, + eprint = {1906.08237}, + timestamp = {Mon, 24 Jun 2019 17:28:45 +0200}, + biburl = {https://dblp.org/rec/bib/journals/corr/abs-1906-08237}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} + +@article{DBLP:journals/corr/abs-1907-06170, + author = {Marcin Junczys{-}Dowmunt}, + title = "{Microsoft Translator at {WMT} 2019: Towards Large-Scale Document-Level + Neural Machine Translation}", + journal = {CoRR}, + volume = {abs/1907.06170}, + year = {2019}, + url = {http://arxiv.org/abs/1907.06170}, + archivePrefix = {arXiv}, + eprint = {1907.06170}, + timestamp = {Wed, 17 Jul 2019 10:27:36 +0200}, + biburl = {https://dblp.org/rec/bib/journals/corr/abs-1907-06170}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} + +@inproceedings{akbik2018coling, + title={Contextual String Embeddings for Sequence Labeling}, + author={Akbik, Alan and Blythe, Duncan and Vollgraf, Roland}, + booktitle = {{COLING} 2018, 27th International Conference on Computational Linguistics}, + pages = {1638--1649}, + year = {2018} +} + + +@article{luo2019named, + title={Named Entity Recognition Only from Word Embeddings}, + author={Luo, Ying and Zhao, Hai and Zhan, Junlang}, + journal={arXiv preprint arXiv:1909.00164}, + year={2019} +} + +@article{tu2018learning, + title={Learning to remember translation history with a continuous cache}, + author={Tu, Zhaopeng and Liu, Yang and Shi, Shuming and Zhang, Tong}, + journal={Transactions of the Association for Computational Linguistics}, + volume={6}, + pages={407--420}, + year={2018}, + publisher={MIT Press} +} + +@article{miculicich2018document, + title={Document-level neural machine translation with hierarchical attention networks}, + author={Miculicich, Lesly and Ram, Dhananjay and Pappas, Nikolaos and Henderson, James}, + journal={arXiv preprint arXiv:1809.01576}, + year={2018} +} + +@article{DBLP:journals/corr/abs-1907-05242, + author = {Guillaume Lample and + Alexandre Sablayrolles and + Marc'Aurelio Ranzato and + Ludovic Denoyer and + Herv{\'{e}} J{\'{e}}gou}, + title = "{Large Memory Layers with Product Keys}", + journal = {CoRR}, + volume = {abs/1907.05242}, + year = {2019}, + url = {http://arxiv.org/abs/1907.05242}, + archivePrefix = {arXiv}, + eprint = {1907.05242}, + timestamp = {Wed, 17 Jul 2019 10:27:36 +0200}, + biburl = {https://dblp.org/rec/bib/journals/corr/abs-1907-05242}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} + + +@article{DBLP:journals/corr/abs-1907-01686, + author = {Xin Zhang and + An Yang and + Sujian Li and + Yizhong Wang}, + title = {Machine Reading Comprehension: a Literature Review}, + journal = {CoRR}, + volume = {abs/1907.01686}, + year = {2019}, + url = {http://arxiv.org/abs/1907.01686}, + archivePrefix = {arXiv}, + eprint = {1907.01686}, + timestamp = {Mon, 08 Jul 2019 14:12:33 +0200}, + biburl = {https://dblp.org/rec/bib/journals/corr/abs-1907-01686}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} + +@article{DBLP:journals/corr/abs-1810-04805, + author = {Jacob Devlin and + Ming{-}Wei Chang and + Kenton Lee and + Kristina Toutanova}, + title = "{{BERT:} Pre-training of Deep Bidirectional Transformers for Language + Understanding}", + journal = {CoRR}, + volume = {abs/1810.04805}, + year = {2018}, + url = {http://arxiv.org/abs/1810.04805}, + archivePrefix = {arXiv}, + eprint = {1810.04805}, + timestamp = {Tue, 30 Oct 2018 20:39:56 +0100}, + biburl = {https://dblp.org/rec/bib/journals/corr/abs-1810-04805}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} + + +@article{DBLP:journals/corr/abs-1809-08799, + author = {Anoop R. Katti and + Christian Reisswig and + Cordula Guder and + Sebastian Brarda and + Steffen Bickel and + Johannes H{\"{o}}hne and + Jean Baptiste Faddoul}, + title = {Chargrid: Towards Understanding 2D Documents}, + journal = {CoRR}, + volume = {abs/1809.08799}, + year = {2018}, + url = {http://arxiv.org/abs/1809.08799}, + archivePrefix = {arXiv}, + eprint = {1809.08799}, + timestamp = {Fri, 05 Oct 2018 11:34:52 +0200}, + biburl = {https://dblp.org/rec/bib/journals/corr/abs-1809-08799}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} + +@article{DBLP:journals/corr/HamiltonYL17, + author = {William L. Hamilton and + Rex Ying and + Jure Leskovec}, + title = {Inductive Representation Learning on Large Graphs}, + journal = {CoRR}, + volume = {abs/1706.02216}, + year = {2017}, + url = {http://arxiv.org/abs/1706.02216}, + archivePrefix = {arXiv}, + eprint = {1706.02216}, + timestamp = {Mon, 13 Aug 2018 16:46:12 +0200}, + biburl = {https://dblp.org/rec/bib/journals/corr/HamiltonYL17}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} + +@article{DBLP:journals/corr/abs-1810-00826, + author = {Keyulu Xu and + Weihua Hu and + Jure Leskovec and + Stefanie Jegelka}, + title = {How Powerful are Graph Neural Networks?}, + journal = {CoRR}, + volume = {abs/1810.00826}, + year = {2018}, + url = {http://arxiv.org/abs/1810.00826}, + archivePrefix = {arXiv}, + eprint = {1810.00826}, + timestamp = {Tue, 30 Oct 2018 10:49:09 +0100}, + biburl = {https://dblp.org/rec/bib/journals/corr/abs-1810-00826}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} + +@inproceedings{matuschek2008measuring, + title={Measuring text similarity with dynamic time warping}, + author={Matuschek, Michael and Schl{\"u}ter, Tim and Conrad, Stefan}, + booktitle={Proceedings of the 2008 international symposium on Database engineering \& applications}, + pages={263--267}, + year={2008}, + organization={ACM} +} + +@article{simonyan2014very, + title={Very deep convolutional networks for large-scale image recognition}, + author={Simonyan, Karen and Zisserman, Andrew}, + journal={arXiv preprint arXiv:1409.1556}, + year={2014} +} + +@article{lecun2015lenet, + title={LeNet-5, convolutional neural networks}, + author={LeCun, Yann and others}, + journal={URL: http://yann. lecun. com/exdb/lenet}, + volume={20}, + pages={5}, + year={2015} +} + +@article{bergstra2012random, + title={Random Search for Hyper-Parameter Optimization}, + author={Bergstra, James and Bengio, Yoshua}, + journal={Journal of Machine Learning Research}, + volume={13}, + pages={281--305}, + year={2012} +} + +@incollection{hinton2012practical, + title={A practical guide to training restricted Boltzmann machines}, + author={Hinton, Geoffrey E}, + booktitle={Neural networks: Tricks of the trade}, + pages={599--619}, + year={2012}, + publisher={Springer} +} + +@book{hedges2014statistical, + title={Statistical methods for meta-analysis}, + author={Hedges, Larry V and Olkin, Ingram}, + year={2014}, + publisher={Academic press} +} + +@inproceedings{koehn2004statistical, + title={Statistical significance tests for machine translation evaluation}, + author={Koehn, Philipp}, + booktitle={Proceedings of the 2004 conference on empirical methods in natural language processing}, + pages={388--395}, + year={2004} +} + +@article{DBLP:journals/corr/abs-1904-01685, + author = {Jeremy Nixon and + Mike Dusenberry and + Linchuan Zhang and + Ghassen Jerfel and + Dustin Tran}, + title = {Measuring Calibration in Deep Learning}, + journal = {CoRR}, + volume = {abs/1904.01685}, + year = {2019}, + url = {http://arxiv.org/abs/1904.01685}, + archivePrefix = {arXiv}, + eprint = {1904.01685}, + timestamp = {Wed, 24 Apr 2019 12:21:25 +0200}, + biburl = {https://dblp.org/rec/bib/journals/corr/abs-1904-01685}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} + +@article{settles2012active, + title={Active learning}, + author={Settles, Burr}, + journal={Synthesis Lectures on Artificial Intelligence and Machine Learning}, + volume={6}, + number={1}, + pages={1--114}, + year={2012}, + publisher={Morgan \& Claypool Publishers} +} + +@incollection{NIPS2017_7062, +title = {A Unified Approach to Interpreting Model Predictions}, +author = {Lundberg, Scott M and Lee, Su-In}, +booktitle = {Advances in Neural Information Processing Systems 30}, +editor = {I. Guyon and U. V. Luxburg and S. Bengio and H. Wallach and R. Fergus and S. Vishwanathan and R. Garnett}, +pages = {4765--4774}, +year = {2017}, +publisher = {Curran Associates, Inc.}, +url = {http://papers.nips.cc/paper/7062-a-unified-approach-to-interpreting-model-predictions.pdf} +} + +@article{austin2014graphical, + title={Graphical assessment of internal and external calibration of logistic regression models by using loess smoothers}, + author={Austin, Peter C and Steyerberg, Ewout W}, + journal={Statistics in medicine}, + volume={33}, + number={3}, + pages={517--535}, + year={2014}, + publisher={Wiley Online Library} +} + +@article{lan2019albert, + title={ALBERT: A Lite BERT for Self-supervised Learning of Language Representations}, + author={Lan, Zhenzhong and Chen, Mingda and Goodman, Sebastian and Gimpel, Kevin and Sharma, Piyush and Soricut, Radu}, + journal={arXiv preprint arXiv:1909.11942}, + year={2019} +} + +@article{jiao2019tinybert, + title={TinyBERT: Distilling BERT for Natural Language Understanding}, + author={Jiao, Xiaoqi and Yin, Yichun and Shang, Lifeng and Jiang, Xin and Chen, Xiao and Li, Linlin and Wang, Fang and Liu, Qun}, + journal={arXiv preprint arXiv:1909.10351}, + year={2019} +} + +@article{wiewel2019localizing, + title={Localizing Catastrophic Forgetting in Neural Networks}, + author={Wiewel, Felix and Yang, Bin}, + journal={arXiv preprint arXiv:1906.02568}, + year={2019} +} + +@article{hinton2015distilling, + title={Distilling the knowledge in a neural network}, + author={Hinton, Geoffrey and Vinyals, Oriol and Dean, Jeff}, + journal={arXiv preprint arXiv:1503.02531}, + year={2015} +} + +@article{hubara2017quantized, + title={Quantized neural networks: Training neural networks with low precision weights and activations}, + author={Hubara, Itay and Courbariaux, Matthieu and Soudry, Daniel and El-Yaniv, Ran and Bengio, Yoshua}, + journal={The Journal of Machine Learning Research}, + volume={18}, + number={1}, + pages={6869--6898}, + year={2017}, + publisher={JMLR. org} +} + +@article{bao2019few, + title={Few-shot Text Classification with Distributional Signatures}, + author={Bao, Yujia and Wu, Menghua and Chang, Shiyu and Barzilay, Regina}, + journal={arXiv preprint arXiv:1908.06039}, + year={2019} +} + +@article{DBLP:journals/corr/NarayanGCS17, + author = {Shashi Narayan and + Claire Gardent and + Shay B. Cohen and + Anastasia Shimorina}, + title = {Split and Rephrase}, + journal = {CoRR}, + volume = {abs/1707.06971}, + year = {2017}, + url = {http://arxiv.org/abs/1707.06971}, + archivePrefix = {arXiv}, + eprint = {1707.06971}, + timestamp = {Mon, 13 Aug 2018 16:48:49 +0200}, + biburl = {https://dblp.org/rec/bib/journals/corr/NarayanGCS17}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} + +@article{DBLP:journals/corr/abs-1906-01038, + author = {Christina Niklaus and + Matthias Cetto and + Andr{\'{e}} Freitas and + Siegfried Handschuh}, + title = {Transforming Complex Sentences into a Semantic Hierarchy}, + journal = {CoRR}, + volume = {abs/1906.01038}, + year = {2019}, + url = {http://arxiv.org/abs/1906.01038}, + archivePrefix = {arXiv}, + eprint = {1906.01038}, + timestamp = {Thu, 13 Jun 2019 13:36:00 +0200}, + biburl = {https://dblp.org/rec/bib/journals/corr/abs-1906-01038}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} + +@inproceedings{goldberger2005neighbourhood, + title={Neighbourhood components analysis}, + author={Goldberger, Jacob and Hinton, Geoffrey E and Roweis, Sam T and Salakhutdinov, Ruslan R}, + booktitle={Advances in neural information processing systems}, + pages={513--520}, + year={2005} +} + +@article{hyvarinen2000independent, + title={Independent component analysis: algorithms and applications}, + author={Hyv{\"a}rinen, Aapo and Oja, Erkki}, + journal={Neural networks}, + volume={13}, + number={4-5}, + pages={411--430}, + year={2000}, + publisher={Elsevier} +} + +@article{DBLP:journals/corr/abs-1804-00079, + author = {Sandeep Subramanian and + Adam Trischler and + Yoshua Bengio and + Christopher J. Pal}, + title = {Learning General Purpose Distributed Sentence Representations via + Large Scale Multi-task Learning}, + journal = {CoRR}, + volume = {abs/1804.00079}, + year = {2018}, + url = {http://arxiv.org/abs/1804.00079}, + archivePrefix = {arXiv}, + eprint = {1804.00079}, + timestamp = {Mon, 13 Aug 2018 16:47:55 +0200}, + biburl = {https://dblp.org/rec/bib/journals/corr/abs-1804-00079}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} + +@article{DBLP:journals/corr/ConneauKSBB17, + author = {Alexis Conneau and + Douwe Kiela and + Holger Schwenk and + Lo{\"{\i}}c Barrault and + Antoine Bordes}, + title = {Supervised Learning of Universal Sentence Representations from Natural + Language Inference Data}, + journal = {CoRR}, + volume = {abs/1705.02364}, + year = {2017}, + url = {http://arxiv.org/abs/1705.02364}, + archivePrefix = {arXiv}, + eprint = {1705.02364}, + timestamp = {Mon, 13 Aug 2018 16:48:46 +0200}, + biburl = {https://dblp.org/rec/bib/journals/corr/ConneauKSBB17}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} + + + +@proceedings{2019:3322640, + title = {ICAIL '19: Proceedings of the Seventeenth International Conference on Artificial Intelligence and Law}, + year = {2019}, + isbn = {978-1-4503-6754-7}, + location = {Montreal, QC, Canada}, + publisher = {ACM}, + address = {New York, NY, USA}, +key = {{$\!\!$}} , +} + + +@article{GOODMAN2001403, +title = "A bit of progress in language modeling", +journal = "Computer Speech \& Language", +volume = "15", +number = "4", +pages = "403-434", +year = "2001", +issn = "0885-2308", +doi = "10.1006/csla.2001.0174", +OPTurl = "http://www.sciencedirect.com/science/article/pii/S0885230801901743", +author = "Joshua T. Goodman" +} + +@article{DBLP:journals/corr/cs-CL-9905001, + author = {Rebecca Hwa}, + title = {Supervised Grammar Induction Using Training Data with Limited Constituent Information}, + journal = {CoRR}, + volume = {cs.CL/9905001}, + note = {Version 1}, + year = {1999}, + url = {http://arxiv.org/abs/cs.CL/9905001}, + timestamp = {Wed, 07 Jun 2017 14:41:01 +0200}, + biburl = {https://dblp.org/rec/bib/journals/corr/cs-CL-9905001}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} + +@book{Jurafsky+Martin:2009a, + author = {Jurafsky, Daniel and Martin, James H.}, + title = {Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition}, + publisher = {Pearson Prentice Hall}, + year = 2009, + edition = {Second} +} + +@inproceedings{Maxwell2008ConceptAC, + title={Concept and Context in Legal Information Retrieval}, + author={K. Tamsin Maxwell and Burkhard Schafer}, + booktitle={JURIX}, + year={2008} +} + +@misc{41224, +title = {Efficient Estimation of Word Representations in Vector Space}, +author = {Tomas Mikolov and Kai Chen and Greg S. Corrado and Jeffrey Dean}, +year = {2013}, +URL = {http://arxiv.org/abs/1301.3781} +} + +@misc{wieting2019training, + title={No Training Required: Exploring Random Encoders for Sentence Classification}, + author={John Wieting and Douwe Kiela}, + year={2019}, + eprint={1901.10444}, + archivePrefix={arXiv}, + primaryClass={cs.CL} +} + +@inproceedings{jiao-etal-2018-convolutional, + title = "Convolutional Neural Network for Universal Sentence Embeddings", + author = "Jiao, Xiaoqi and + Wang, Fang and + Feng, Dan", + booktitle = "Proceedings of the 27th International Conference on Computational Linguistics", + month = aug, + year = "2018", + address = "Santa Fe, New Mexico, USA", + publisher = "Association for Computational Linguistics", + url = "https://www.aclweb.org/anthology/C18-1209", + pages = "2470--2481", + abstract = "This paper proposes a simple CNN model for creating general-purpose sentence embeddings that can transfer easily across domains and can also act as effective initialization for downstream tasks. Recently, averaging the embeddings of words in a sentence has proven to be a surprisingly successful and efficient way of obtaining sentence embeddings. However, these models represent a sentence, only in terms of features of words or uni-grams in it. In contrast, our model (CSE) utilizes both features of words and n-grams to encode sentences, which is actually a generalization of these bag-of-words models. The extensive experiments demonstrate that CSE performs better than average models in transfer learning setting and exceeds the state of the art in supervised learning setting by initializing the parameters with the pre-trained sentence embeddings.", +} + +@misc{zhang2018learning, + title={Learning Universal Sentence Representations with Mean-Max Attention Autoencoder}, + author={Minghua Zhang and Yunfang Wu and Weikang Li and Wei Li}, + year={2018}, + eprint={1809.06590}, + archivePrefix={arXiv}, + primaryClass={cs.CL} +} + +@misc{conneau2017supervised, + title={Supervised Learning of Universal Sentence Representations from Natural Language Inference Data}, + author={Alexis Conneau and Douwe Kiela and Holger Schwenk and Loic Barrault and Antoine Bordes}, + year={2017}, + eprint={1705.02364}, + archivePrefix={arXiv}, + primaryClass={cs.CL} +} + +@article{DBLP:journals/corr/abs-1804-00079, + author = {Sandeep Subramanian and + Adam Trischler and + Yoshua Bengio and + Christopher J. Pal}, + title = {Learning General Purpose Distributed Sentence Representations via + Large Scale Multi-task Learning}, + journal = {CoRR}, + volume = {abs/1804.00079}, + year = {2018}, + url = {http://arxiv.org/abs/1804.00079}, + archivePrefix = {arXiv}, + eprint = {1804.00079}, + timestamp = {Mon, 13 Aug 2018 16:47:55 +0200}, + biburl = {https://dblp.org/rec/bib/journals/corr/abs-1804-00079}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} + +@incollection{NIPS2015_5950, +title = {Skip-Thought Vectors}, +author = {Kiros, Ryan and Zhu, Yukun and Salakhutdinov, Ruslan R and Zemel, Richard and Urtasun, Raquel and Torralba, Antonio and Fidler, Sanja}, +booktitle = {Advances in Neural Information Processing Systems 28}, +editor = {C. Cortes and N. D. Lawrence and D. D. Lee and M. Sugiyama and R. Garnett}, +pages = {3294--3302}, +year = {2015}, +publisher = {Curran Associates, Inc.}, +url = {http://papers.nips.cc/paper/5950-skip-thought-vectors.pdf} +} + +@misc{ionescu2019vector, + title="{Vector of Locally-Aggregated Word Embeddings (VLAWE): A Novel Document-level Representation}", + author={Radu Tudor Ionescu and Andrei M. Butnaru}, + year={2019}, + eprint={1902.08850}, + archivePrefix={arXiv}, + primaryClass={cs.CL} +} + +@article{Yang2018ZerotrainingSE, + title={Zero-training Sentence Embedding via Orthogonal Basis}, + author={Ziyi Yang and Chenguang Zhu and Weizhu Chen}, + journal={ArXiv}, + year={2018}, + volume={abs/1810.00438} +} + +@misc{shen2018baseline, + title={Baseline Needs More Love: On Simple Word-Embedding-Based Models and Associated Pooling Mechanisms}, + author={Dinghan Shen and Guoyin Wang and Wenlin Wang and Martin Renqiang Min and Qinliang Su and Yizhe Zhang and Chunyuan Li and Ricardo Henao and Lawrence Carin}, + year={2018}, + eprint={1805.09843}, + archivePrefix={arXiv}, + primaryClass={cs.CL} +} + +@article{DBLP:journals/corr/abs-1902-06423, + author = {Florian Mai and + Lukas Galke and + Ansgar Scherp}, + title = {{CBOW} Is Not All You Need: Combining {CBOW} with the Compositional + Matrix Space Model}, + journal = {CoRR}, + volume = {abs/1902.06423}, + year = {2019}, + url = {http://arxiv.org/abs/1902.06423}, + archivePrefix = {arXiv}, + eprint = {1902.06423}, + timestamp = {Tue, 21 May 2019 18:03:37 +0200}, + biburl = {https://dblp.org/rec/bib/journals/corr/abs-1902-06423}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} + +@article{DBLP:journals/corr/abs-1809-04262, + author = {Rashmi Nagpal and + Chetna Wadhwa and + Mallika Gupta and + Samiulla Shaikh and + Sameep Mehta and + Vikram Goyal}, + title = {Extracting Fairness Policies from Legal Documents}, + journal = {CoRR}, + volume = {abs/1809.04262}, + year = {2018}, + url = {http://arxiv.org/abs/1809.04262}, + archivePrefix = {arXiv}, + eprint = {1809.04262}, + timestamp = {Fri, 05 Oct 2018 11:34:52 +0200}, + biburl = {https://dblp.org/rec/bib/journals/corr/abs-1809-04262}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} + +@ARTICLE {doi:10.1080/00437956.1954.11659520, + author = "Zellig S. Harris", + title = "Distributional Structure", + journal = "WORD", + year = "1954", + volume = "10", + number = "2-3", + pages = "146-162", + publisher = "Routledge", + doi = "10.1080/00437956.1954.11659520", +} + + +@article{Halko:2011:FSR:2078879.2078881, + author = {Halko, N. and Martinsson, P. G. and Tropp, J. A.}, + title = {Finding Structure with Randomness: Probabilistic Algorithms for Constructing Approximate Matrix Decompositions}, + journal = {SIAM Rev.}, + issue_date = {May 2011}, + volume = {53}, + number = {2}, + month = may, + year = {2011}, + issn = {0036-1445}, + pages = {217--288}, + numpages = {72}, + url = {http://dx.doi.org/10.1137/090771806}, + doi = {10.1137/090771806}, + acmid = {2078881}, + publisher = {Society for Industrial and Applied Mathematics}, + address = {Philadelphia, PA, USA}, + keywords = {Johnson-Lindenstrauss lemma, dimension reduction, eigenvalue decomposition, interpolative decomposition, matrix approximation, parallel algorithm, pass-efficient algorithm, principal component analysis, random matrix, randomized algorithm, rank-revealing QR factorization, singular value decomposition, streaming algorithm}, +} + +@book{books/daglib/0031897, + added-at = {2013-10-06T00:00:00.000+0200}, + author = {Büttcher, Stefan and Clarke, Charles L. A. and Cormack, Gordon V.}, + biburl = {https://www.bibsonomy.org/bibtex/2e679957b4a1bdf252c3a33296397f434/dblp}, + ee = {http://mitpress.mit.edu/books/information-retrieval}, + interhash = {8aba6a7cd5e81a4c68dc1d6c9102fe7b}, + intrahash = {e679957b4a1bdf252c3a33296397f434}, + isbn = {978-0-262-02651-2}, + keywords = {dblp}, + pages = {I-XXIV, 1-606}, + publisher = {MIT Press}, + timestamp = {2013-10-08T11:35:46.000+0200}, + title = {Information Retrieval - Implementing and Evaluating Search Engines.}, + year = 2010 +} + +@article{Wolf2019HuggingFacesTS, + title="{HuggingFace's Transformers: State-of-the-art Natural Language Processing}", + author={Thomas Wolf and Lysandre Debut and Victor Sanh and Julien Chaumond and Clement Delangue and Anthony Moi and Pierric Cistac and Tim Rault and R'emi Louf and Morgan Funtowicz and Jamie Brew}, + journal={ArXiv}, + year={2019}, + volume={abs/1910.03771} +} + +@misc{gillick2018endtoend, + title={End-to-End Retrieval in Continuous Space}, + author={Daniel Gillick and Alessandro Presta and Gaurav Singh Tomar}, + year={2018}, + eprint={1811.08008}, + archivePrefix={arXiv}, + primaryClass={cs.IR} +} + +@misc{almarwani2019efficient, + title={Efficient Sentence Embedding using Discrete Cosine Transform}, + author={Nada Almarwani and Hanan Aldarmaki and Mona Diab}, + year={2019}, + eprint={1909.03104}, + archivePrefix={arXiv}, + primaryClass={cs.CL} +} + +@misc{wu2018word, + title="{Word Mover's Embedding: From Word2Vec to Document Embedding}", + author={Lingfei Wu and Ian E. H. Yen and Kun Xu and Fangli Xu and Avinash Balakrishnan and Pin-Yu Chen and Pradeep Ravikumar and Michael J. Witbrock}, + year={2018}, + eprint={1811.01713}, + archivePrefix={arXiv}, + primaryClass={cs.CL} +} + +@misc{yang2019xlnet, + abstract = {With the capability of modeling bidirectional contexts, denoising +autoencoding based pretraining like BERT achieves better performance than +pretraining approaches based on autoregressive language modeling. However, +relying on corrupting the input with masks, BERT neglects dependency between +the masked positions and suffers from a pretrain-finetune discrepancy. In light +of these pros and cons, we propose XLNet, a generalized autoregressive +pretraining method that (1) enables learning bidirectional contexts by +maximizing the expected likelihood over all permutations of the factorization +order and (2) overcomes the limitations of BERT thanks to its autoregressive +formulation. Furthermore, XLNet integrates ideas from Transformer-XL, the +state-of-the-art autoregressive model, into pretraining. Empirically, XLNet +outperforms BERT on 20 tasks, often by a large margin, and achieves +state-of-the-art results on 18 tasks including question answering, natural +language inference, sentiment analysis, and document ranking.}, + added-at = {2019-07-03T19:07:32.000+0200}, + author = {Yang, Zhilin and Dai, Zihang and Yang, Yiming and Carbonell, Jaime and Salakhutdinov, Ruslan and Le, Quoc V.}, + biburl = {https://www.bibsonomy.org/bibtex/2b758258da935db4bc1a57b5f6c9d94c6/deepforce}, + description = {[1906.08237] XLNet: Generalized Autoregressive Pretraining for Language Understanding}, + interhash = {cd85caa3241071a53ea5c86eadae8de8}, + intrahash = {b758258da935db4bc1a57b5f6c9d94c6}, + keywords = {language_modeling nlp tpu transfer_learning}, + note = {cite arxiv:1906.08237Comment: Pretrained models and code are available at https://github.com/zihangdai/xlnet}, + timestamp = {2019-07-03T19:07:32.000+0200}, + title = "{XLNet: Generalized Autoregressive Pretraining for Language Understanding}", + url = {http://arxiv.org/abs/1906.08237}, + year = 2019 +} + + +@InProceedings{conneau2018xnli, + author = "Conneau, Alexis + and Rinott, Ruty + and Lample, Guillaume + and Williams, Adina + and Bowman, Samuel R. + and Schwenk, Holger + and Stoyanov, Veselin", + title = "{XNLI: Evaluating Cross-lingual Sentence Representations}", + booktitle = "Proceedings of the 2018 Conference on Empirical Methods + in Natural Language Processing", + year = "2018", + publisher = "Association for Computational Linguistics", + location = "Brussels, Belgium", +} + +@inproceedings{Radford2018ImprovingLU, + title={Improving Language Understanding by Generative Pre-Training}, + author={Alec Radford}, + year={2018} +} + +@inproceedings{reimers-2019-sentence-bert, + title = "{Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks}", + author = "Reimers, Nils and Gurevych, Iryna", + booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing", + month = "11", + year = "2019", + publisher = "Association for Computational Linguistics", + url = "http://arxiv.org/abs/1908.10084", +} + +@INPROCEEDINGS{Pennington14glove:global, + author = {Jeffrey Pennington and Richard Socher and Christopher D. Manning}, + title = "{Glove: Global vectors for word representation}", + booktitle = {In EMNLP}, + year = {2014} +} + +@inproceedings{Kano2017OverviewOC, + title="{Overview of COLIEE 2017}", + author={Yoshinobu Kano and Mi Young Kim and Randy Goebel and Ken Satoh}, + booktitle={COLIEE@ICAIL}, + year={2017} +} + +@inproceedings{snli:emnlp2015, + Author = {Bowman, Samuel R. and Angeli, Gabor and Potts, Christopher and Manning, Christopher D.}, + Booktitle = {Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing (EMNLP)}, + Publisher = {Association for Computational Linguistics}, + Title = {A large annotated corpus for learning natural language inference}, + Year = {2015} +} + +@inproceedings{Williams2017ABC, + title={A Broad-Coverage Challenge Corpus for Sentence Understanding through Inference}, + author={Adina Williams and Nikita Nangia and Samuel R. Bowman}, + booktitle={NAACL-HLT}, + year={2017} +} + +@inproceedings{Peters:2018, + author={Peters, Matthew E. and Neumann, Mark and Iyyer, Mohit and Gardner, Matt and Clark, Christopher and Lee, Kenton and Zettlemoyer, Luke}, + title={Deep contextualized word representations}, + booktitle={Proc. of NAACL}, + year={2018} +} + +@inproceedings{Wang2019GeneralizingFA, + title={Generalizing from a Few Examples: A Survey on Few-Shot Learning}, + author={Yaqing Wang and Quanming Yao and James Kwok and Lionel M. Ni}, + year={2019} +} + +@article{DBLP:journals/corr/VaswaniSPUJGKP17, + author = {Ashish Vaswani and + Noam Shazeer and + Niki Parmar and + Jakob Uszkoreit and + Llion Jones and + Aidan N. Gomez and + Lukasz Kaiser and + Illia Polosukhin}, + title = {Attention Is All You Need}, + journal = {CoRR}, + volume = {abs/1706.03762}, + year = {2017}, + url = {http://arxiv.org/abs/1706.03762}, + archivePrefix = {arXiv}, + eprint = {1706.03762}, + timestamp = {Mon, 13 Aug 2018 16:48:37 +0200}, + biburl = {https://dblp.org/rec/bib/journals/corr/VaswaniSPUJGKP17}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} + +@article{arora2017asimple, + author = {Sanjeev Arora and Yingyu Liang and Tengyu Ma}, + title = {A Simple but Tough-to-Beat Baseline for Sentence Embeddings}, + booktitle = {International Conference on Learning Representations}, + year = {2017} +} + + +@inproceedings{zhao2019moverscore, + title = "{MoverScore: Text Generation Evaluating with Contextualized Embeddings and Earth Mover Distance}", + month = {August}, + year = {2019}, + author = {Zhao, Wei and Peyrard, Maxime and Liu, Fei and Gao, Yang and Meyer, Christian M. and Eger, Steffen}, + address = {Hong Kong, China}, + publisher = {Association for Computational Linguistics}, + booktitle = {Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing}, +} + + +@article{gpt2, + added-at = {2019-02-27T03:35:25.000+0100}, + author = {Radford, Alec and Wu, Jeffrey and Child, Rewon and Luan, David and Amodei, Dario and Sutskever, Ilya}, + biburl = {https://www.bibsonomy.org/bibtex/2b30710316a8cfbae687672ea1f85c193/kirk86}, + description = {Language Models are Unsupervised Multitask Learners}, + interhash = {ce8168300081d74707849ed488e2a458}, + intrahash = {b30710316a8cfbae687672ea1f85c193}, + keywords = {learning multitask}, + timestamp = {2019-02-27T03:35:25.000+0100}, + title = {Language Models are Unsupervised Multitask Learners}, + url = {https://d4mucfpksywv.cloudfront.net/better-language-models/language-models.pdf}, + year = 2018 +} + +@article{lample2019cross, + title={Cross-lingual Language Model Pretraining}, + author={Lample, Guillaume and Conneau, Alexis}, + journal={arXiv preprint arXiv:1901.07291}, + year={2019} +} + +@InProceedings{pmlr-v37-kusnerb15, + title = {From Word Embeddings To Document Distances}, + author = {Matt Kusner and Yu Sun and Nicholas Kolkin and Kilian Weinberger}, + booktitle = {Proceedings of the 32nd International Conference on Machine Learning}, + pages = {957--966}, + year = {2015}, + editor = {Francis Bach and David Blei}, + volume = {37}, + series = {Proceedings of Machine Learning Research}, + address = {Lille, France}, + month = {07--09 Jul}, + publisher = {PMLR}, + pdf = {http://proceedings.mlr.press/v37/kusnerb15.pdf}, + url = {http://proceedings.mlr.press/v37/kusnerb15.html}, + abstract = {We present the Word Mover’s Distance (WMD), a novel distance function between text documents. Our work is based on recent results in word embeddings that learn semantically meaningful representations for words from local co-occurrences in sentences. The WMD distance measures the dissimilarity between two text documents as the minimum amount of distance that the embedded words of one document need to "travel" to reach the embedded words of another document. We show that this distance metric can be cast as an instance of the Earth Mover’s Distance, a well studied transportation problem for which several highly efficient solvers have been developed. Our metric has no hyperparameters and is straight-forward to implement. Further, we demonstrate on eight real world document classification data sets, in comparison with seven state-of-the-art baselines, that the WMD metric leads to unprecedented low k-nearest neighbor document classification error rates.} +} + +@inproceedings{Rabelo:2019:CST:3322640.3326741, + author = {Rabelo, Juliano and Kim, Mi-Young and Goebel, Randy}, + title = {Combining Similarity and Transformer Methods for Case Law Entailment}, + booktitle = {Proceedings of the Seventeenth International Conference on Artificial Intelligence and Law}, + series = {ICAIL '19}, + year = {2019}, + isbn = {978-1-4503-6754-7}, + location = {Montreal, QC, Canada}, + pages = {290--296}, + numpages = {7}, + url = {http://doi.acm.org/10.1145/3322640.3326741}, + doi = {10.1145/3322640.3326741}, + acmid = {3326741}, + publisher = {ACM}, + address = {New York, NY, USA}, + keywords = {binary classification, document similarity, imbalanced datasets, legal textual entailment}, +} + +@article{DBLP:journals/corr/abs-1803-11175, + author = {Daniel Cer and + Yinfei Yang and + Sheng{-}yi Kong and + Nan Hua and + Nicole Limtiaco and + Rhomni St. John and + Noah Constant and + Mario Guajardo{-}Cespedes and + Steve Yuan and + Chris Tar and + Yun{-}Hsuan Sung and + Brian Strope and + Ray Kurzweil}, + title = {Universal Sentence Encoder}, + journal = {CoRR}, + volume = {abs/1803.11175}, + year = {2018}, + url = {http://arxiv.org/abs/1803.11175}, + archivePrefix = {arXiv}, + eprint = {1803.11175}, + timestamp = {Mon, 13 Aug 2018 16:46:40 +0200}, + biburl = {https://dblp.org/rec/bib/journals/corr/abs-1803-11175}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} + +@article{senin2008dynamic, + title={Dynamic time warping algorithm review}, + author={Senin, Pavel}, + year={2008}, + publisher={Citeseer} +} + +@incollection{Sakoe:1990:DPA:108235.108244, + author = {Sakoe, Hiroaki and Chiba, Seibi}, + chapter = {Dynamic Programming Algorithm Optimization for Spoken Word Recognition}, + title = {Readings in Speech Recognition}, + editor = {Waibel, Alex and Lee, Kai-Fu}, + year = {1990}, + isbn = {1-55860-124-4}, + pages = {159--165}, + numpages = {7}, + url = {http://dl.acm.org/citation.cfm?id=108235.108244}, + acmid = {108244}, + publisher = {Morgan Kaufmann Publishers Inc.}, + address = {San Francisco, CA, USA}, +} + +@article{muller2007dynamic, + title={Dynamic time warping}, + author={M{\"u}ller, Meinard}, + journal={Information retrieval for music and motion}, + pages={69--84}, + year={2007}, + publisher={Springer} +} + diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..e759040 --- /dev/null +++ b/build.sh @@ -0,0 +1,3 @@ +#!/bin/bash -xe + +make diff --git a/check.sh b/check.sh new file mode 100755 index 0000000..872cfaa --- /dev/null +++ b/check.sh @@ -0,0 +1,3 @@ +#!/bin/bash -xe + +make autozoil.xml diff --git a/extract-score-files.pl b/extract-score-files.pl new file mode 100755 index 0000000..0e76344 --- /dev/null +++ b/extract-score-files.pl @@ -0,0 +1,20 @@ +#!/usr/bin/perl + +use strict; + +my %found = (); + +for my $filepath (@ARGV) { + open(my $ih, '<', $filepath); + binmode($ih, ':utf8'); + + while (my $line=<$ih>) { + while ($line =~ m<\\gonito(?:barescore|score|entry)\{([^\}]+)\}>g) { + $found{$1} = 1; + } + } + + close($ih); +} + +print join(" ", map { "scores/${_}.txt" } sort keys %found); diff --git a/helpers/fixidx.sed b/helpers/fixidx.sed new file mode 100644 index 0000000..767a8d5 --- /dev/null +++ b/helpers/fixidx.sed @@ -0,0 +1,48 @@ +# +# Autor: Rafał Nowak (www.rafalnowak.pl) +# Data : 22.03.2009 +# +# Poniższy plik zawiera skrypt dla programu sed. +# Służy on do zamiany pewnych instrukcji wygenerowanych +# przez program LaTeX'a na polskie znaki krytyczne +# kodowane zgodnie ze standarderm ISO-8859-2, tzw. Latin2. +# +# Skrypt ten ma zastosowanie przy tworzeniu polskiego +# skorowidza dla dokumentów składanych przez LaTeX'a, +# gdzie pliki źródłowe (*.tex) są kodowane w standardzie +# unicode UTF-8. +# +# Przykładowe użycie: +# > latex dokument.tex +# > sed -f skrypt.sed dokument.idx | ./plmindex -L PL-latin2 | iconv --from-code=ISO-8859-2 --to-code=UTF-8 > dokument.ind +# > latex dokument.tex +# +# W powyższym przykładzie: +# skrypt.sed - jest nazwą tego pliku (skryptu dla sed'a) +# plmindex - to program przygotowany przez Włodzimierza +# Macewicza to prawidłowego sortowania +# słów w celu utworzenia skorowidza +# iconv - to program który konwertuje otrzymany +# indeks z powrotem do kodowania UTF-8 +# W wyniku otrzymujemy plik dokument.ind zgodny z UTF-8 +# i prawidłowo posortowanymi słowami. +# +s/\\IeC\ {\\k\ a}/ą/g +s/\\IeC\ {\\k\ A}/Ą/g +s/\\IeC\ {\\k\ e}/ę/g +s/\\IeC\ {\\k\ E}/Ę/g +s/\\IeC\ {\\'c}/ć/g +s/\\IeC\ {\\'C}/Ć/g +s/\\IeC\ {\\l\ }/ł/g +s/\\IeC\ {\\L\ }/Ł/g +s/\\IeC\ {\\'n}/ń/g +s/\\IeC\ {\\'N}/Ń/g +s/\\IeC\ {\\'o}/ó/g +s/\\IeC\ {\\'O}/Ó/g +s/\\IeC\ {\\'s}/ś/g +s/\\IeC\ {\\'S}/Ś/g +s/\\IeC\ {\\'z}/ź/g +s/\\IeC\ {\\'Z}/Ź/g +s/\\IeC\ {\\\.z}/ż/g +s/\\IeC\ {\\\.Z}/Ż/g +s/\\nobreakspace\ \ {}/~/g diff --git a/helpers/pdf-to-plain-text.sh b/helpers/pdf-to-plain-text.sh new file mode 100755 index 0000000..ec797ad --- /dev/null +++ b/helpers/pdf-to-plain-text.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +pdftotext "$1" - | grep '[^[:space:]]' | egrep '[a-zA-Z]{2}' | perl -pne 's/\f//g;' diff --git a/helpers/stats.sh b/helpers/stats.sh new file mode 100755 index 0000000..9783c52 --- /dev/null +++ b/helpers/stats.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +here_dir=$(dirname "$0") + +pdf_file="$1" + +if [[ "$pdf_file" == "" ]] +then + >&2 echo "no file given" + exit 1 +fi + +perl -e 'print "PHYSICAL PAGES\tCHARACTERS WITH SPACES\tSTANDARD PAGES\n"' +pages=$(pdfinfo "$1" | perl -ne 'print "$1\n" if /Pages:\s+(\d+)/') +chars=$(bash $here_dir/pdf-to-plain-text.sh "$1" | wc -m) +spages=$(echo "scale=1; $chars / 1800.0" | bc) +echo "$pages $chars $spages" diff --git a/helpers/synchro.sh b/helpers/synchro.sh new file mode 100755 index 0000000..b245bc8 --- /dev/null +++ b/helpers/synchro.sh @@ -0,0 +1,24 @@ +#!/bin/bash -xe + +. helpers/vars + +if [[ "$OVERLEAF_GIT_URL" == "" ]] +then + >&2 echo "Please set OVERLEAF_GIT_URL in `helpers/vars`" + exit 1 +fi + +if [[ -e .git && ! -z "$(git status --untracked-files=no --porcelain)" ]]; then + >&2 echo "Uncommited changes, commit your changes first" + exit 1 +fi + +git remote add overleaf "$OVERLEAF_GIT_URL" || git remote set-url overleaf "$OVERLEAF_GIT_URL" + +git config credential.helper "cache --timeout=10000000" + +git pull origin master +git pull overleaf master + +git push overleaf master +git push origin master diff --git a/helpers/vars b/helpers/vars new file mode 100644 index 0000000..1982ef5 --- /dev/null +++ b/helpers/vars @@ -0,0 +1,2 @@ +# to be included with . +OVERLEAF_GIT_URL= diff --git a/install-hooks.sh b/install-hooks.sh new file mode 100755 index 0000000..aee894e --- /dev/null +++ b/install-hooks.sh @@ -0,0 +1,4 @@ +#!/bin/bash -xe + +cp hooks/pre-push .git/hooks/pre-push +chmod 700 .git/hooks/pre-push diff --git a/main.tex b/main.tex new file mode 100644 index 0000000..f0c1834 --- /dev/null +++ b/main.tex @@ -0,0 +1,59 @@ + +% +% Wstęp +\introduction + +Aczkolwiek w~ciągu ostatnich lat skład tekstu wspomagany +komputerowo całkowicie wyeliminował stosowanie tradycyjnych technik +drukarskich, to podobny \code{Gimmel\dbr ::Parser\dbr::ElementSpecification}, proces w~przypadku publikacji elektronicznych +czyli publikacji, które w~ogóle nie wykorzystują papieru, a~nośnikem +informacji staje się ekran komputera nie jest obserwowany. + +Formatowanie wizualne, powstało z~myślą o~przygotowaniu publikacji do +druku i~dlatego nie może sprostać nowym potrzebom, które stwarza +postęp techniki. Coraz większą rolę odgrywają dziś elektroniczne +repozytoria, bazy danych, publikacje na CD-Romach oraz WWW. Wypływa +też stąd ważny wniosek, że tworzenie dokumentów według paradygmatu +WYSIWYG nie jest efektywne i~stopniowo należy oczekiwać powstawania, +wdrażania i~rozpowszechniania się systemów opartych na paradygmacie +\emph{formatowania strukturalnego}. + +W~dokumencie formatowanym strukturalnie oznaczana jest struktura +dokumentu a~nie określany jego wygląd. Zwróćmy uwagę, że układ +graficzny jest pochodną struktury, tj. nadajemy jednolity wygląd +tytułom rozdziałów, śródtytułów, przypisów, jednakowo wyróżniamy +wyliczenia itp. Układ graficzny jak już wspominano może ulegać zmianie +(np. wraz z~rozpowszechnianiem się nowych technologii wydawniczych) +ale treść i~struktura raczej nie, np. Biblia Gutenberga widziana z~tej +perspektywy nie zmieniła się wcale. + +% Na końcu tytułów, śródtytułów, tytułów rysunków i tabel +% _nie_ umieszcza się kropki +\chapter{Wprowadzenie do standardów SGML/XML} + +\code{} +\\\\ +\code{//BBB[normalize-space(text()) = "czwarty"]} + +SGML~\cite{Goldfarb} jest to \emph{metajęzyk} służący do opisywania +struktury i~zawartości dokumentów (standard ISO 8879). Do +podstawowych zalet takiego podejścia należy: +\begin{itemize} +\item +jest to międzynarodowy +standard dostępny na wielu platformach sprzętowo{\dywiz}systemowych; +\item +jest to +język opisu \emph{każdego\/} dokumentu, o~praktycznie nieograniczonych +możliwościach (\emph{rozszerzalność\/}) +\item +umożliwia powtórne +wykorzystywanie dokumentów, także w sposób inny od poprzedniego +(np. tradycyjna książka i~dokument multimedialny utworzony z~tego +samego dokumentu SGML-owego). +\end{itemize} +\lstset{emph={square},emphstyle=\color{red}} +\begin{lstlisting} +square +\end{lstlisting} + diff --git a/metadata.tex b/metadata.tex new file mode 100644 index 0000000..3f866fc --- /dev/null +++ b/metadata.tex @@ -0,0 +1,27 @@ + +% Opcjonalnie identyfikator dokumentu (drukowany tylko z włączoną opcją `brudnopis'): +\nrwersji {0.1} + +% Dane autora(ów): +\author {Walenty Szczęsny} +\nralbumu {rr000000001} +\email {walenty@szczesny.com.pl} + +\author {Monika A.~Szczęsna-Woś} +\nralbumu {rr000000002} + +% Tytuł pracy: +\title {Dokumenty strukturalne: teoria i~zastosowania} + +% Kierunek, tj. katedra/instytut promotora: +\kierunek {Informatyka Ekonomiczna} + +% Rok obrony: +\date {2001} + +% Jeżeli nie podano miejsca zostanie wpisany `Sopot' +\miejsce {Wejherowo} + +% Tytuł naukowy, imię i nazwisko promotora: +\opiekun {dra hab. Jan Kowalski} + diff --git a/papalike.bst b/papalike.bst new file mode 100644 index 0000000..7c613f9 --- /dev/null +++ b/papalike.bst @@ -0,0 +1,1106 @@ + +% Spolonizowane `na szybko' +% ------------------------- +% +% BibTeX `apalike' bibliography style (24-Jan-88 version) +% Adapted from the `alpha' style, version 0.99a; for BibTeX version 0.99a. +% Copyright (C) 1988, all rights reserved. +% Copying of this file is allowed, provided that if you make any changes at all +% you name it something other than `apalike.bst'. +% This restriction helps ensure that all copies are identical. +% Differences between this style and `alpha' are generally heralded by a `%'. +% The file btxbst.doc has the documentation for alpha.bst. +% +% This style should be used with the `apalike' LaTeX style (apalike.sty). +% \cite's come out like "(Jones, 1986)" in the text but there are no labels +% in the bibliography, and something like "(1986)" comes out immediately +% after the author. Author (and editor) names appear as last name, comma, +% initials. A `year' field is required for every entry, and so is either +% an author (or in some cases, an editor) field or a key field. +% +% Editorial note: +% Many journals require a style like `apalike', but I strongly, strongly, +% strongly recommend that you not use it if you have a choice---use something +% like `plain' instead. Mary-Claire van Leunen (A Handbook for Scholars, +% Knopf, 1979) argues convincingly that a style like `plain' encourages better +% writing than one like `apalike'. Furthermore the strongest arguments for +% using an author-date style like `apalike'---that it's "the most practical" +% (The Chicago Manual of Style, University of Chicago Press, thirteenth +% edition, 1982, pages 400--401)---fall flat on their face with the new +% computer-typesetting technology. For instance page 401 anachronistically +% states "The chief disadvantage of [a style like `plain'] is that additions +% or deletions cannot be made after the manuscript is typed without changing +% numbers in both text references and list." LaTeX sidesteps the disadvantage. +% +% History: +% 15-sep-86 (SK,OP) Original version, by Susan King and Oren Patashnik. +% 10-nov-86 (OP) Truncated the sort.key$ string to the correct length +% in bib.sort.order to eliminate error message. +% 24-jan-88 (OP) Updated for BibTeX version 0.99a, from alpha.bst 0.99a; +% apalike now sorts by author, then year, then title; +% THIS `apalike' VERSION DOES NOT WORK WITH BIBTEX 0.98i. + +ENTRY + { address + author + booktitle + chapter + edition + editor + howpublished + institution + journal + key +% month not used in apalike + note + number + organization + pages + publisher + school + series + title + type + volume + year + } + {} + { label extra.label sort.label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { s t } + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +% apalike needs this function because +% the year has special punctuation; +% apalike ignores the month +FUNCTION {output.year.check} +{ year empty$ + { "empty year in " cite$ * warning$ } + { write$ + " (" year * extra.label * ")" * + mid.sentence 'output.state := + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[" write$ + label write$ + "]{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "{\em " swap$ * "}" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := % last name first + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { " i~inni" * } + { " i " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names } + if$ +} + +FUNCTION {format.key} % this function is just for apalike +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { editor format.names + editor num.names$ #1 > + { ", editors" * } + { ", editor" * } + if$ + } + if$ +} + +FUNCTION {format.title} +{ title empty$ + { "" } + { title "t" change.case$ } + if$ +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {format.btitle} +{ title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { "volume" volume tie.or.space.connect + series empty$ + 'skip$ + { " of " * series emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { output.state mid.sentence = + { "number" } + { "Number" } + if$ + number tie.or.space.connect + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { " in " * series * } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { output.state mid.sentence = + { edition "l" change.case$ " edition" * } + { edition "t" change.case$ " edition" * } + if$ + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { "pages" pages n.dashify tie.or.space.connect } + { "page" pages tie.or.space.connect } + if$ + } + if$ +} + +FUNCTION {format.vol.num.pages} +{ volume field.or.null + number empty$ + 'skip$ + { "(" number * ")" * * + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { ":" * pages n.dashify * } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "chapter" } + { type "l" change.case$ } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { "In " booktitle emphasize * } + { "In " format.editors * ", " * booktitle emphasize * } + if$ + } + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { "Technical Report" } + 'type + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ "In" % this is for apalike + " \cite{" * crossref * "}" * +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "In " + } + { "Volume" volume tie.or.space.connect + " of " * + } + if$ + "\cite{" * crossref * "}" * % this is for apalike +} + +FUNCTION {format.incoll.inproc.crossref} +{ "In" % this is for apalike + " \cite{" * crossref * "}" * +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output % special for + output.year.check % apalike + new.block + format.title "title" output.check + new.block + crossref missing$ + { journal emphasize "journal" output.check + format.vol.num.pages output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + output.year.check % special for apalike + new.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + new.block + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output % special for + output.year.check % apalike + new.block + format.title "title" output.check + new.block + howpublished output + address output + new.block + note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + output.year.check % special for apalike + new.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.chapter.pages "chapter and pages" output.check + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + new.block + note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + author format.key output % special for + output.year.check % apalike + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.chapter.pages output + new.sentence + publisher "publisher" output.check + address output + format.edition output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output % special for + output.year.check % apalike + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.pages output + address output % for apalike + new.sentence % there's no year + organization output % here so things + publisher output % are simpler + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output % special for + output.year.check % apalike + new.block + format.btitle "title" output.check + organization address new.block.checkb + organization output + address output + format.edition output + new.block + note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output % special for + output.year.check % apalike + new.block + format.title "title" output.check + new.block + "praca magisterska" format.thesis.type output.nonnull + school "school" output.check + address output + new.block + note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output % special for + output.year.check % apalike + new.block + format.title output + new.block + howpublished output + new.block + note output + fin.entry +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output % special for + output.year.check % apalike + new.block + format.btitle "title" output.check + new.block + "rozprawa doktorska" format.thesis.type output.nonnull + school "school" output.check + address output + new.block + note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors output + editor format.key output % special for + output.year.check % apalike + new.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + address output % for apalike + new.sentence % we always output + organization output % a nonempty organization + publisher output % here + new.block + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output % special for + output.year.check % apalike + new.block + format.title "title" output.check + new.block + format.tr.number output.nonnull + institution "institution" output.check + address output + new.block + note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output % special for + output.year.check % apalike + new.block + format.title "title" output.check + new.block + note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } + +MACRO {jan} {"January"} + +MACRO {feb} {"February"} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"October"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} + +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +% There are three apalike cases: one person (Jones), +% two (Jones and de~Bruijn), and more (Jones et~al.). +% This function is much like format.crossref.editors. +% +FUNCTION {format.lab.names} +{ 's := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ " i~inni" * } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " i~inni" * } + { " i " * s #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key % apalike uses the whole key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key % apalike uses the whole key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key % apalike uses the whole key, no organization + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.label} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label % apalike ignores organization + 'author.key.label % for labeling and sorting + if$ + } + if$ + ", " % these three lines are + * % for apalike, which + year field.or.null purify$ #-1 #4 substring$ % uses all four digits + * + 'label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ % apalike uses initials + s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := % <= here + nameptr numnames = t "others" = and + { "i~inni" * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} + +% apalike uses two sorting passes; the first one sets the +% labels so that the `a's, `b's, etc. can be computed; +% the second pass puts the references in "correct" order. +% The presort function is for the first pass. It computes +% label, sort.label, and title, and then concatenates. +FUNCTION {presort} +{ calc.label + label sortify + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ % for + 'sort.label := % apalike + sort.label % style + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT % by label, sort.label, title---for final label calculation + +STRINGS { last.label next.extra } % apalike labels are only for the text; + +INTEGERS { last.extra.num } % there are none in the bibliography + +FUNCTION {initialize.extra.label.stuff} % and hence there is no `longest.label' +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := +} + +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + label extra.label * 'label := + extra.label 'next.extra := +} + +EXECUTE {initialize.extra.label.stuff} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +% Now that the label is right we sort for real, +% on sort.label then year then title. This is +% for the second sorting pass. +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {bib.sort.order} + +SORT % by sort.label, year, title---giving final bibliography order + +FUNCTION {begin.bib} +{ preamble$ empty$ % no \etalchar in apalike + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{}" write$ newline$ % no labels in apalike +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} + diff --git a/plain-pl.bst b/plain-pl.bst new file mode 100644 index 0000000..52f59bf --- /dev/null +++ b/plain-pl.bst @@ -0,0 +1,1099 @@ + +% BibTeX standard bibliography style `plain' + % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09. + % Copyright (C) 1985, all rights reserved. + % Copying of this file is authorized only if either + % (1) you make absolutely no changes to your copy, including name, or + % (2) if you do make changes, you name it something other than + % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst. + % This restriction helps ensure that all standard styles are identical. + % The file btxbst.doc has the documentation for this style. + +ENTRY + { address + author + booktitle + chapter + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + } + {} + { label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { s t } + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {new.sentence.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "{\em " swap$ * "}" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { numnames #2 > + { " " * } + 'skip$ + if$ + t "others" = + { " i~inni" * } + { " i " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { editor format.names + editor num.names$ #1 > + { ", editors" * } + { ", editor" * } + if$ + } + if$ +} + +FUNCTION {format.title} +{ title empty$ + { "" } + { title "t" change.case$ } + if$ +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {format.date} +{ year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + month + } + if$ + } + { month empty$ + 'year + { month " " * year * } + if$ + } + if$ +} + +FUNCTION {format.btitle} +{ title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { "tom" volume tie.or.space.connect + series empty$ + 'skip$ + { " of " * series emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { output.state mid.sentence = + { "number" } + { "Number" } + if$ + number tie.or.space.connect + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { " in " * series * } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { output.state mid.sentence = + { edition "l" change.case$ ". edycja" * } + { edition "t" change.case$ ". edycja" * } + if$ + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { "s.~" pages n.dashify tie.or.space.connect } + { "stron" pages tie.or.space.connect } + if$ + } + if$ +} + +FUNCTION {format.vol.num.pages} +{ volume field.or.null + number empty$ + 'skip$ + { "(" number * ")" * * + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { ":" * pages n.dashify * } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "chapter" } + { type "l" change.case$ } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { "W: " booktitle emphasize * } + { "W: " format.editors * ", " * booktitle emphasize * } + if$ + } + if$ +} + +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and + key empty$ not and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { "Raport techniczny" } + 'type + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ key empty$ + { journal empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" + } + { "W: {\em " journal * "\/}" * } + if$ + } + { "W: " key * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.crossref.editor} +{ editor #1 "{vv~}{ll}" format.name$ + editor num.names$ duplicate$ + #2 > + { pop$ " et~al." * } + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al." * } + { " and " * editor #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "W: " + } + { "Tom" volume tie.or.space.connect + " of " * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { "{\em " * series * "\/}" * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { booktitle empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + "" + } + { "W: {\em " booktitle * "\/}" * } + if$ + } + { "W: " key * } + if$ + } + { "W: " format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { journal emphasize "journal" output.check + format.vol.num.pages output + format.date "year" output.check + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + new.block + format.title "title" output.check + howpublished address new.block.checkb + howpublished output + address output + format.date output + new.block + note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.chapter.pages "chapter and pages" output.check + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.chapter.pages output + new.sentence + publisher "publisher" output.check + address output + format.edition output + format.date "year" output.check + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.pages output + address empty$ + { organization publisher new.sentence.checkb + organization output + publisher output + format.date "year" output.check + } + { address output.nonnull + format.date "year" output.check + new.sentence + organization output + publisher output + } + if$ + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization empty$ + 'skip$ + { organization output.nonnull + address output + } + if$ + } + { format.authors output.nonnull } + if$ + new.block + format.btitle "title" output.check + author empty$ + { organization empty$ + { address new.block.checka + address output + } + 'skip$ + if$ + } + { organization address new.block.checkb + organization output + address output + } + if$ + format.edition output + format.date output + new.block + note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + "Praca magisterska" format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + title howpublished new.block.checkb + format.title output + howpublished new.block.checka + howpublished output + format.date output + new.block + note output + fin.entry + empty.misc.check +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + new.block + format.btitle "title" output.check + new.block + "Rozprawa doktorska" format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization output } + { format.editors output.nonnull } + if$ + new.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + address empty$ + { editor empty$ + { publisher new.sentence.checka } + { organization publisher new.sentence.checkb + organization output + } + if$ + publisher output + format.date "year" output.check + } + { address output.nonnull + format.date "year" output.check + new.sentence + editor empty$ + 'skip$ + { organization output } + if$ + publisher output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + format.tr.number output.nonnull + institution "institution" output.check + address output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + note "note" output.check + format.date output + fin.entry +} + +FUNCTION {default.type} { misc } + +MACRO {jan} {"Styczeń"} + +MACRO {feb} {"Luty"} + +MACRO {mar} {"Marzec"} + +MACRO {apr} {"Kwiecień"} + +MACRO {may} {"Maj"} + +MACRO {jun} {"Czerwiec"} + +MACRO {jul} {"Lipiec"} + +MACRO {aug} {"Sierpień"} + +MACRO {sep} {"Wrzesień"} + +MACRO {oct} {"Październik"} + +MACRO {nov} {"Listopad"} + +MACRO {dec} {"Grudzień"} + +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ + s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { "et al" * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.organization.sort} +{ author empty$ + { organization empty$ + { key empty$ + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.organization.sort} +{ editor empty$ + { organization empty$ + { key empty$ + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.organization.sort + { type$ "manual" = + 'author.organization.sort + 'author.sort + if$ + } + if$ + } + if$ + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +STRINGS { longest.label } + +INTEGERS { number.label longest.label.width } + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} + +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} + +EXECUTE {initialize.longest.label} + +ITERATE {longest.label.pass} + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" longest.label * "}" * write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} + diff --git a/preamble.tex b/preamble.tex new file mode 100644 index 0000000..db19218 --- /dev/null +++ b/preamble.tex @@ -0,0 +1,5 @@ + +% +% Miejsce na deklaracje własnych poleceń: +\newcommand{\filename}[1]{\texttt{#1}} + diff --git a/smolak.tex b/smolak.tex new file mode 100644 index 0000000..eeee982 --- /dev/null +++ b/smolak.tex @@ -0,0 +1,64 @@ + + +\documentclass[skorowidz,autorrok,backref,xodstep]{wmimgr} + +\usepackage{listings} +\usepackage{color} +\usepackage{alltt} +\usepackage{floatrow} +\usepackage{hyphenat} +\usepackage{url} + +\newcommand\dbr{\discretionary{}{}{}} + +\input{preamble} + +\input{metadata} + + +% Cytowanie przez numer (standard): +%\bibliographystyle{plain} +% +% Jeżeli cytowanie autor-rok to np.: +\bibliographystyle{papalike} +% +% Inne sposoby +%\bibliographystyle{abbrv} %% standard +%\bibliographystyle{acm} %% ACM transactions... +%\bibliographystyle{elsart-harv} %% dziwaczny %% + +%%% zakomentuj \iffalse ... \fi (ostatnie, zaznaczone //pdfscreen) jeżeli chcesz włączyć pakiet pdfscreen: +\def\SITI{SI/TI} %%% +\def\ISTI{SI/TI} %%% +\def\UTAUT{UTAUT} %%% + +\begin{document} + +%% +\nocite{beebe,p.perl} %% dołącza niecytowane +%%\nocite{*} %% ** dołącza wszystko ** + + +% Tytuł/spis treści +\maketitle + +\input{main} + +\input{appendix} + +%\include bib.tex +\bibliography{bibliography} + +% +% Spis tabel (jeżeli jest potrzebny): +\listoftables +% +% Spis rysunków (jeżeli jest potrzebny): +\listoffigures + +% +% Skorowidz (opcjonalnie) +\printindex + +\end{document} + diff --git a/uam.png b/uam.png new file mode 100644 index 0000000..a06d2d7 Binary files /dev/null and b/uam.png differ diff --git a/wmimgr.cls b/wmimgr.cls new file mode 100644 index 0000000..0119ba9 --- /dev/null +++ b/wmimgr.cls @@ -0,0 +1,427 @@ + +% Klasa dokument\'ow do sk{\l}adu prac magisterskich/licencjackich +% na wydziale Matematyki i Informatyki UAM +% Klasę oparto na analogicznej klasie stworzonej Wydziale +% Zarz\k{a}dzania Uniwersytetu Gda\'nskiego (wersja 1.10): +% http://gnu.univ.gda.pl/~tomasz/prog/tex/wzmgr/wzmgr.html +% Ta klasa była z kolei oparta na klasie opracowanej +% przez Marcina Woli\'nskiego. + +\def\ThisClassVersionId{v1.0} +% +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{wmimgr}[2009/06/19 \ThisClassVersionId, Praca magisterska] + +\def\@baseclass{report} +\def\@rodzajpracy{magisterska} +\def\@BInterlinia{\relax} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\@baseclass}} +\PassOptionsToClass{a4paper,openany,11pt}{\@baseclass} +% +\newif\if@wmimgrauthoryear +\DeclareOption{autorrok}{\@wmimgrauthoryeartrue} +\newif\if@wmimgrbackref \DeclareOption{backref}{\@wmimgrbackreftrue} +\newif\if@oswiadczenie \DeclareOption{oswiadczenie}{\@oswiadczenietrue} +\DeclareOption{licencjacka}{\def\@rodzajpracy{licencjacka}} +\DeclareOption{skorowidz}{\input{makeidx.sty}\makeindex} +\DeclareOption{palatino}{\input{tgpagella.sty}} +\DeclareOption{tgpagella}{\input{tgpagella.sty}} +\DeclareOption{twoside}{\PassOptionsToClass{twoside}{\@baseclass}} +% opcja `brudnopis' jest poprawiona -- teraz wykorzystuje pakiet `prelim2e' +\DeclareOption{brudnopis}{\AtEndOfClass{\input{prelim2e.sty}% + \renewcommand{\PrelimWords}{\ThisDocVersionId}\linespread{1.0}}} +\DeclareOption{xodstep}{\AtEndOfClass{\linespread{1.3}}} +\ProcessOptions +% +\LoadClass{\@baseclass} +% +\usepackage{graphicx} +\usepackage{polski} +\usepackage[utf8]{inputenc} +%% +\if@wmimgrbackref + \usepackage[breaklinks,pagebackref]{hyperref}\else + \usepackage[breaklinks]{hyperref} \fi + \if@wmimgrauthoryear + \typeout{*** Cytowanie autor-rok ***}\RequirePackage[numbers]{natbib}\fi +% +% +\textwidth\paperwidth +\advance\textwidth -55mm +\oddsidemargin-1in +\advance\oddsidemargin 30mm +\evensidemargin-1in +\advance\evensidemargin 25mm +\topmargin -1in +\advance\topmargin 25mm +\setlength\textheight{48\baselineskip} +\addtolength\textheight{\topskip} +\marginparwidth15mm +% +\widowpenalty999999 +\tolerance450 +\pretolerance250 +\hfuzz=1.5pt +\hbadness1450 +% +\def\AndNextAuthor{\ifnum\language=0\& \else i \fi} +\newcount\authornumber +\authornumber=0 +% +\def\author#1{% + \global\advance\authornumber\@ne + \expandafter\def\csname theauthor\number\authornumber\endcsname + {\ignorespaces#1\unskip}% + \expandafter\def\csname theauthorid\number\authornumber + \endcsname{???\ClassError{wmimgr}{Brak numeru albumu}\@ehc}% + \expandafter\let\csname thenetaddress\number\authornumber\endcsname\relax } +% +\def\nralbumu#1{% + \expandafter\def\csname theauthorid\number\authornumber\endcsname + {\ignorespaces#1\unskip}} +\def\email#1{% -- opcjonalny -- + \expandafter\def\csname thenetaddress\number\authornumber\endcsname + {\ignorespaces#1\unskip}} + +%%\def\authorlist#1{\def\@author{#1}} +\def\@author{\@defaultauthorlist} + +\def\@subtitle{} +\def\@logo{} + +\newcount\count@@ + +\def\@defaultauthorlist{% + \count@=\authornumber + \count@@=0 + \loop + \ifnum\count@>0 + \advance\count@@ by 1 + \begingroup \Large\bf + \ignorespaces\csname theauthor\number\count@@\endcsname\par + \normalsize \rm nr~albumu: + \ignorespaces\csname theauthorid\number\count@@\endcsname\par + % adres email nie jest drukowany -- ale si{\e} przyda + %%\ignorespaces\csname thenetaddress\number\count@@\endcsname + \par + \medskip \endgroup + \advance\count@ by -1 + \repeat + } + + % << +\def\UniversityName#1{\def\Univ@Name{#1}} +\def\Univ@Name{UNIWERSYTET IM. ADAMA MICKIEWICZA \\ WYDZIA\L{} + MATEMATYKI I INFORMATYKI}% + % << +\renewcommand\maketitle{% + \begin{titlepage}% + \let\footnotesize\small + \let\footnoterule\relax + \let \footnote \thanks + \begin{center}% + {\large \textbf{\Univ@Name}\par} + \par + \@logo + \end{center}% + \vspace{1cm plus 1fill} + \begin{flushleft}% + {\@author\par} + \end{flushleft}% + \vspace{8mm plus 1mm minus 2mm} + \begin{center}% + {\huge\textbf{\@title}\par} + \vspace{0.5cm} + {\LARGE\textit{\@subtitle}\par} + \vspace{2cm plus 1.5fill} + \begin{flushright}\large + \begin{tabular}{l} + Praca \@rodzajpracy{} na kierunku:\\[3pt] + \MakeUppercase{\@kierunek}\\[3pt] + Promotor: \\[3pt] + \bfseries \@opiekun + \end{tabular} + \end{flushright} + \vspace{15mm plus .1fill} + {\large \@miejsce\space \@date\par} + \end{center} + \@thanks + \end{titlepage}% + % + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\title\relax + \global\let\@subtitle\@empty + \global\let\subtitle\relax + \global\let\logo\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax + % + % Jezeli podano slowa kluczowe wydrukuj + \clearpage + \if@oswiadczenie\oswiadczenie\fi + \thispagestyle{empty} + \ifvoid\abspagebox \@latex@warning{*** Nie podano streszczenia ***}% + \else \InsertAbstractHere \fi + \ifx\@keywords\EmptyKwsList \@latex@warning{*** Nie podano slow kluczowych ***}% + \else \section*{S{\l}owa kluczowe} + \@keywords + \fi + \cleardoublepage %% + \tableofcontents + %\listoftables + %\listoffigures +} %% --renewcommand: maketitle -- + +%%\def\nralbumu#1{\gdef\@nralbumu{#1}} +%%\def\@nralbumu{???\ClassError{wmimgr}{Brak numeru albumu}\@ehc} +\def\title#1{\gdef\@title{#1}\gdef\thetitle{#1}} +\def\subtitle#1{\gdef\@subtitle{#1}} +\def\logo#1{\gdef\@logo{#1}} +\def\kierunek#1{\gdef\@kierunek{#1}} +\def\@kierunek{???\ClassError{wmimgr}{Nie podano kierunku studiow}\@ehc} +\def\opiekun#1{\gdef\@opiekun{#1}} +\def\@opiekun{???\ClassError{wmimgr}{Brak danych opiekuna pracy}\@ehc} +\def\miejsce#1{\gdef\@miejsce{#1}} +\def\@miejsce{Sopot} +% +\def\keywords#1{\gdef\@keywords{#1}} +% slowa kluczowe sa opcjonalne: +%%\def\@keywords{???\ClassError{wmimgr}{Brak slow kluczowych}\@ehc} +\def\@keywords{????} +\def\EmptyKwsList{????} +%% +\def\klasyfikacja#1{\gdef\@klasyfikacja{#1}} +\def\@klasyfikacja{???\ClassError{wmimgr}{Brak klasyfikacji + tematycznej}\@ehc} +% +\newbox \abspagebox %% *tp ** +\def\InsertAbstractHere{\unvbox \abspagebox} +% +\renewenvironment{abstract}{\global + \setbox \abspagebox \vbox \bgroup + \section*{Streszczenie} } + {\egroup} +% +\renewcommand*\@seccntformat[1]{\csname the#1\endcsname.\enspace} +\def\numberline#1{\hb@xt@\@tempdima{#1.\hfil}} +\renewcommand*\l@chapter[2]{% + \ifnum \c@tocdepth >\m@ne + \addpenalty{-\@highpenalty}% + \vskip 1.0em \@plus\p@ + \setlength\@tempdima{1.5em}% + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \bfseries + \advance\leftskip\@tempdima + \hskip -\leftskip + #1\nobreak\mdseries + \leaders\hbox{$\m@th + \mkern \@dotsep mu\hbox{.}\mkern \@dotsep + mu$}\hfill + \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \penalty\@highpenalty + \endgroup + \fi} +% +\def\@makechapterhead#1{% + %\vspace*{50\p@}% + {\parindent \z@ \raggedright \normalfont + \ifnum \c@secnumdepth >\m@ne + \normalsize \bfseries \MakeUppercase{\@chapapp}\space \thechapter + \par\nobreak + \vskip\baselineskip + \fi + \interlinepenalty\@M + \LARGE \bfseries #1\par\nobreak + \vskip 40\p@ + }} +% +\def\@makeschapterhead#1{% + %\vspace*{50\p@}% + {\parindent \z@ \raggedright + \normalfont + \interlinepenalty\@M + \LARGE \bfseries #1\par\nobreak + \vskip 40\p@ + }} +% +\renewcommand{\section}{\@startsection{section}{1}{\z@}% + {-3.5ex \@plus -1ex \@minus -.2ex}% + {2.3ex \@plus.2ex}% + {\reset@font\Large\bfseries\raggedright}} +\renewcommand{\subsection}{\@startsection{subsection}{2}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\reset@font\large\bfseries\raggedright}} +\renewcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\reset@font\normalsize\bfseries\raggedright}} +\renewcommand{\paragraph}{???\ClassError{wmimgr}{Zbyt duzo srodtytulow}\@ehc}% +% +% Skorowidz: dodanie kresek w pozycjach skorowidza stopnia drugiego +\renewenvironment{theindex}{% + \clearpage \refstepcounter{chapter}% potrzebne do prawid{\l}owego + % dzia{\l}ania zak{\l}adek w dokumencie PDF + \columnseprule \z@ \columnsep 35\p@ + \twocolumn[\@makeschapterhead{\indexname}]% + \@mkboth{\indexname}{\indexname}% + \addcontentsline{toc}{chapter}{\indexname}% + \thispagestyle{plain}\parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \let\item\@idxitem } + {\clearpage } +\def\indexemdashes{% +\def\@idxitem{\par\hangindent 0pt} +\def\subitem{\par\hangindent 0pt --- } +\def\subsubitem{\par\hangindent 0pt --- --- } +\def\indexspace{\par \vskip 10pt plus 5pt minus 3pt\relax}} +\indexemdashes +% +% Wprowadzenie/zako\'nczenie +\newcommand{\introduction}{%\doublepage + \chapter*{\IntroName\@mkboth{\IntroName}{\IntroName}}% +\addcontentsline{toc}{chapter}{\IntroName}} +% +\newcommand{\summary}{%\doublepage + \chapter*{\SummaryName\@mkboth{\SummaryName}{\SummaryName}}% +\addcontentsline{toc}{chapter}{\SummaryName}} +% O\'swiadczenie (dodane 7.4.2005) +\def\oswiadczenieText{% +\par +Ja, ni\.zej podpisany {\csname theauthor1\endcsname}, student +Wydzia{\l}u Matematyki i~Informatyki Uniwersytetu im.~Adama Mickiewicza +w~Poznaniu, o\'swiadczam, \.ze przedk{\l}adan\k{a} prac\k{e} dyplomow\k{a}~ +pt.~{\emph{\let\\=\relax\thetitle}\/} napisa{\l}em samodzielnie. Oznacza to, +\.ze przy pisaniu pracy, poza niezb\k{e}dnymi konsultacjami, nie korzysta{\l}em +z~pomocy innych os\'ob, a~w~szczeg\'olno\'sci nie zleca{\l}em opracowania +rozprawy lub jej cz\k{e}\'sci innym osobom ani nie odpisywa{\l}em tej rozprawy +lub jej cz\k{e}\'sci od innych os\'ob.\par +O\'swiadczam r\'ownie\.z, \.ze egzemplarz pracy dyplomowej w~formie wydruku +komputerowego jest zgodny z~egzemplarzem pracy dyplomowej w~formie +elektronicznej.\par +Jednocze\'snie przyjmuj\k{e} do wiadomo\'sci, \.ze gdyby powy\.zsze +o\'swiadczenie okaza{\l}o si\k{e} nieprawdziwe, decyzja o~wydaniu mi dyplomu +zostanie cofni\k{e}ta.\endgraf } +% +\long\def\oswiadczenie{%%\newpage +\if@twocolumn \onecolumn \fi +%%\centerline{\large\textbf{O\'swiadczenie}} +%%\vspace*{50mm} +\chapter*{O\'swiadczenie}% +\addcontentsline{toc}{chapter}{O\'swiadczenie}% +%\hbox to.8\textwidth{\hbox to45mm{\dotfill}\hss +\thispagestyle{empty} +\vskip6mm +\begin{flushright}\large + Pozna\'n, dnia \hbox to40mm{\dotfill} +\end{flushright} +\par +\vskip12mm +\noindent +\oswiadczenieText +\par\vskip20mm +\centerline{\vbox{% +\hbox to.8\textwidth{\hbox to50mm{}\hss + \hbox to50mm{\dotfill}} +\hbox to.83\textwidth{\hbox to60mm{}\hss +\hbox to60mm{\hss podpis\hss}}% +}}\par +\newpage } +% +% Polecenia listoffigures/listoftables uproszczono oraz +% dodano \addcontentsline, tak aby tytu{\l} spisu pojawi{\l} +% si\k{e} w spisie tre\'sci i zak\ladkach w pliku PDF: +\renewcommand\listoffigures{% + \chapter*{\listfigurename + \@mkboth{\MakeUppercase\listfigurename}% + {\MakeUppercase\listfigurename}}% + \addcontentsline{toc}{chapter}{\listfigurename} + \@starttoc{lof}} +% +\renewcommand\listoftables{% + \chapter*{\listtablename + \@mkboth{% + \MakeUppercase\listtablename}{\MakeUppercase\listtablename}}% + \@starttoc{lot}% + \addcontentsline{toc}{chapter}{\listtablename}} +% +\renewenvironment{thebibliography}[1] + {\chapter*{\bibname}% + \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}% + \addcontentsline{toc}{chapter}{\bibname}%<-- + \list{%% + \@biblabel{\@arabic\c@enumiv}}%\fi}% + {%% + \settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \sloppy + \clubpenalty4000 + \@clubpenalty \clubpenalty + \widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} + +% Uproszczono polecenie \@makecaption, tak \.ze podpisy s\k{a} +% teraz sk{\l}adane od lewego marginesu. +% Dodano polecenie \source do sk{\l}adania \'xr\'od{\l}a +\long\def\@makecaption#1#2{\par + \vskip\abovecaptionskip + \begin{flushleft}\small\textbf{#1}. #2\end{flushleft} + %\vskip\belowcaptionskip % niepotrzebne bo po caption + %winno by\'c \'xr\'od{\l}o + \par +} +\def\source#1{\par \begin{flushleft}\small +\SourceName:~#1\end{flushleft}} +% +% Oznakowanie wersji dokumentu na ka\.zdej stronie w postaci +% adresu e-mail pierwszego autora (je\.zeli jest zdefiniowany) lub imienia +% i nazwiska pierwszego autora + tego co autor wpisa{\l} jako +% argument polecenia \nrwersji + bie{\.z}\k{a}ca data. +\def\nrwersji#1{\def\ThisDocVersion{#1}}\nrwersji{????}% +\def\ThisDocVersionId{% + \expandafter \ifx \csname theauthor1 \endcsname \undefined + \else \csname theauthor1\endcsname \fi + %% adres moze zawierac nie-litery (np `_' powoduje blad), pomijam + %\expandafter \ifx \csname thenetaddress1\endcsname \undefined + %\else \csname thenetaddress1\endcsname \fi + \space --\space wersja \ThisDocVersion\space z\space + \number\day/\number\month/\number\year~r. } +% +\def\IntroName{Wprowadzenie} +\def\SummaryName{Zako\'nczenie} +\def\SourceName{\'Zr\'od{\l}o} +\newcommand{\eng}[1]{(ang.~\emph{#1})} +\newcommand{\english}[1]{\textit{#1}} +\newcommand{\turkish}[1]{\textit{#1}} +\newcommand{\code}[1]{\texttt{#1}} +\newcommand{\noqa}[1]{} +\usepackage{hyperref} +\usepackage{xstring} +% Format a reference to a Gonito submission +\newcommand{\gonitoref}[1]{\{\href{https://gonito.net/q/#1}{\StrMid{#1}{1}{6}}\}} +% A bare score from Gonito +\newcommand{\gonitobarescore}[1]{\minput{scores/#1.txt}} +% A score from Gonito along with a reference +\newcommand{\gonitoscore}[1]{\gonitobarescore{#1} \gonitoref{#1}} +% A reference and a score as two cells in a table +\newcommand{\gonitoentry}[1]{\gonitoref{#1} & \minput{scores/#1.txt}} +% +\endinput +