From 2dc4a9454a498dad223b03dfbd4c505745160226 Mon Sep 17 00:00:00 2001 From: Thamognya Kodi Date: Sat, 24 Dec 2022 20:37:17 +0700 Subject: [PATCH] started on research paper --- research/.containerignore | 301 +++ research/.gitignore | 301 +++ .../paper/Internet-NLP/main.tex} | 0 .../paper}/README.md | 0 research/Internet-NLP/paper/abstract/main.tex | 1 + research/Internet-NLP/paper/acl.sty | 315 +++ research/Internet-NLP/paper/acl_latex.tex | 270 +++ research/Internet-NLP/paper/acl_natbib.bst | 1979 +++++++++++++++++ research/Internet-NLP/paper/appendix/main.tex | 0 research/Internet-NLP/paper/compile.sh | 7 + research/Internet-NLP/paper/future/main.tex | 0 .../Internet-NLP/paper/introduction/main.tex | 0 research/Internet-NLP/paper/main.pdf | Bin 0 -> 33709 bytes research/Internet-NLP/paper/main.tex | 73 + .../Internet-NLP/paper/preliminaries/main.tex | 0 research/Internet-NLP/paper/ref.bib | 0 .../Internet-NLP/paper/related_work/main.tex | 0 scripts/for_folder.sh | 2 +- 18 files changed, 3248 insertions(+), 1 deletion(-) create mode 100644 research/.containerignore create mode 100644 research/.gitignore rename research/{paper/README.md => Internet-NLP/paper/Internet-NLP/main.tex} (100%) rename research/{presentation => Internet-NLP/paper}/README.md (100%) create mode 100644 research/Internet-NLP/paper/abstract/main.tex create mode 100644 research/Internet-NLP/paper/acl.sty create mode 100644 research/Internet-NLP/paper/acl_latex.tex create mode 100644 research/Internet-NLP/paper/acl_natbib.bst create mode 100644 research/Internet-NLP/paper/appendix/main.tex create mode 100755 research/Internet-NLP/paper/compile.sh create mode 100644 research/Internet-NLP/paper/future/main.tex create mode 100644 research/Internet-NLP/paper/introduction/main.tex create mode 100644 research/Internet-NLP/paper/main.pdf create mode 100644 research/Internet-NLP/paper/main.tex create mode 100644 research/Internet-NLP/paper/preliminaries/main.tex create mode 100644 research/Internet-NLP/paper/ref.bib create mode 100644 research/Internet-NLP/paper/related_work/main.tex diff --git a/research/.containerignore b/research/.containerignore new file mode 100644 index 0000000..e964244 --- /dev/null +++ b/research/.containerignore @@ -0,0 +1,301 @@ +## Core latex/pdflatex auxiliary files: +*.aux +*.lof +*.log +*.lot +*.fls +*.out +*.toc +*.fmt +*.fot +*.cb +*.cb2 +.*.lb + +## Intermediate documents: +*.dvi +*.xdv +*-converted-to.* +# these rules might exclude image files for figures etc. +# *.ps +# *.eps +# *.pdf + +## Generated if empty string is given at "Please type another file name for output:" +.pdf + +## Bibliography auxiliary files (bibtex/biblatex/biber): +*.bbl +*.bcf +*.blg +*-blx.aux +*-blx.bib +*.run.xml + +## Build tool auxiliary files: +*.fdb_latexmk +*.synctex +*.synctex(busy) +*.synctex.gz +*.synctex.gz(busy) +*.pdfsync + +## Build tool directories for auxiliary files +# latexrun +latex.out/ + +## Auxiliary and intermediate files from other packages: +# algorithms +*.alg +*.loa + +# achemso +acs-*.bib + +# amsthm +*.thm + +# beamer +*.nav +*.pre +*.snm +*.vrb + +# changes +*.soc + +# comment +*.cut + +# cprotect +*.cpt + +# elsarticle (documentclass of Elsevier journals) +*.spl + +# endnotes +*.ent + +# fixme +*.lox + +# feynmf/feynmp +*.mf +*.mp +*.t[1-9] +*.t[1-9][0-9] +*.tfm + +#(r)(e)ledmac/(r)(e)ledpar +*.end +*.?end +*.[1-9] +*.[1-9][0-9] +*.[1-9][0-9][0-9] +*.[1-9]R +*.[1-9][0-9]R +*.[1-9][0-9][0-9]R +*.eledsec[1-9] +*.eledsec[1-9]R +*.eledsec[1-9][0-9] +*.eledsec[1-9][0-9]R +*.eledsec[1-9][0-9][0-9] +*.eledsec[1-9][0-9][0-9]R + +# glossaries +*.acn +*.acr +*.glg +*.glo +*.gls +*.glsdefs +*.lzo +*.lzs +*.slg +*.slo +*.sls + +# uncomment this for glossaries-extra (will ignore makeindex's style files!) +# *.ist + +# gnuplot +*.gnuplot +*.table + +# gnuplottex +*-gnuplottex-* + +# gregoriotex +*.gaux +*.glog +*.gtex + +# htlatex +*.4ct +*.4tc +*.idv +*.lg +*.trc +*.xref + +# hyperref +*.brf + +# knitr +*-concordance.tex +# TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files +# *.tikz +*-tikzDictionary + +# listings +*.lol + +# luatexja-ruby +*.ltjruby + +# makeidx +*.idx +*.ilg +*.ind + +# minitoc +*.maf +*.mlf +*.mlt +*.mtc[0-9]* +*.slf[0-9]* +*.slt[0-9]* +*.stc[0-9]* + +# minted +_minted* +*.pyg + +# morewrites +*.mw + +# newpax +*.newpax + +# nomencl +*.nlg +*.nlo +*.nls + +# pax +*.pax + +# pdfpcnotes +*.pdfpc + +# sagetex +*.sagetex.sage +*.sagetex.py +*.sagetex.scmd + +# scrwfile +*.wrt + +# svg +svg-inkscape/ + +# sympy +*.sout +*.sympy +sympy-plots-for-*.tex/ + +# pdfcomment +*.upa +*.upb + +# pythontex +*.pytxcode +pythontex-files-*/ + +# tcolorbox +*.listing + +# thmtools +*.loe + +# TikZ & PGF +*.dpth +*.md5 +*.auxlock + +# titletoc +*.ptc + +# todonotes +*.tdo + +# vhistory +*.hst +*.ver + +# easy-todo +*.lod + +# xcolor +*.xcp + +# xmpincl +*.xmpi + +# xindy +*.xdy + +# xypic precompiled matrices and outlines +*.xyc +*.xyd + +# endfloat +*.ttt +*.fff + +# Latexian +TSWLatexianTemp* + +## Editors: +# WinEdt +*.bak +*.sav + +# Texpad +.texpadtmp + +# LyX +*.lyx~ + +# Kile +*.backup + +# gummi +.*.swp + +# KBibTeX +*~[0-9]* + +# TeXnicCenter +*.tps + +# auto folder when using emacs and auctex +./auto/* +*.el + +# expex forward references with \gathertags +*-tags.tex + +# standalone packages +*.sta + +# Makeindex log files +*.lpz + +# xwatermark package +*.xwm + +# REVTeX puts footnotes in the bibliography by default, unless the nofootinbib +# option is specified. Footnotes are the stored in a file with suffix Notes.bib. +# Uncomment the next line to have this generated file ignored. +#*Notes.bib diff --git a/research/.gitignore b/research/.gitignore new file mode 100644 index 0000000..e964244 --- /dev/null +++ b/research/.gitignore @@ -0,0 +1,301 @@ +## Core latex/pdflatex auxiliary files: +*.aux +*.lof +*.log +*.lot +*.fls +*.out +*.toc +*.fmt +*.fot +*.cb +*.cb2 +.*.lb + +## Intermediate documents: +*.dvi +*.xdv +*-converted-to.* +# these rules might exclude image files for figures etc. +# *.ps +# *.eps +# *.pdf + +## Generated if empty string is given at "Please type another file name for output:" +.pdf + +## Bibliography auxiliary files (bibtex/biblatex/biber): +*.bbl +*.bcf +*.blg +*-blx.aux +*-blx.bib +*.run.xml + +## Build tool auxiliary files: +*.fdb_latexmk +*.synctex +*.synctex(busy) +*.synctex.gz +*.synctex.gz(busy) +*.pdfsync + +## Build tool directories for auxiliary files +# latexrun +latex.out/ + +## Auxiliary and intermediate files from other packages: +# algorithms +*.alg +*.loa + +# achemso +acs-*.bib + +# amsthm +*.thm + +# beamer +*.nav +*.pre +*.snm +*.vrb + +# changes +*.soc + +# comment +*.cut + +# cprotect +*.cpt + +# elsarticle (documentclass of Elsevier journals) +*.spl + +# endnotes +*.ent + +# fixme +*.lox + +# feynmf/feynmp +*.mf +*.mp +*.t[1-9] +*.t[1-9][0-9] +*.tfm + +#(r)(e)ledmac/(r)(e)ledpar +*.end +*.?end +*.[1-9] +*.[1-9][0-9] +*.[1-9][0-9][0-9] +*.[1-9]R +*.[1-9][0-9]R +*.[1-9][0-9][0-9]R +*.eledsec[1-9] +*.eledsec[1-9]R +*.eledsec[1-9][0-9] +*.eledsec[1-9][0-9]R +*.eledsec[1-9][0-9][0-9] +*.eledsec[1-9][0-9][0-9]R + +# glossaries +*.acn +*.acr +*.glg +*.glo +*.gls +*.glsdefs +*.lzo +*.lzs +*.slg +*.slo +*.sls + +# uncomment this for glossaries-extra (will ignore makeindex's style files!) +# *.ist + +# gnuplot +*.gnuplot +*.table + +# gnuplottex +*-gnuplottex-* + +# gregoriotex +*.gaux +*.glog +*.gtex + +# htlatex +*.4ct +*.4tc +*.idv +*.lg +*.trc +*.xref + +# hyperref +*.brf + +# knitr +*-concordance.tex +# TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files +# *.tikz +*-tikzDictionary + +# listings +*.lol + +# luatexja-ruby +*.ltjruby + +# makeidx +*.idx +*.ilg +*.ind + +# minitoc +*.maf +*.mlf +*.mlt +*.mtc[0-9]* +*.slf[0-9]* +*.slt[0-9]* +*.stc[0-9]* + +# minted +_minted* +*.pyg + +# morewrites +*.mw + +# newpax +*.newpax + +# nomencl +*.nlg +*.nlo +*.nls + +# pax +*.pax + +# pdfpcnotes +*.pdfpc + +# sagetex +*.sagetex.sage +*.sagetex.py +*.sagetex.scmd + +# scrwfile +*.wrt + +# svg +svg-inkscape/ + +# sympy +*.sout +*.sympy +sympy-plots-for-*.tex/ + +# pdfcomment +*.upa +*.upb + +# pythontex +*.pytxcode +pythontex-files-*/ + +# tcolorbox +*.listing + +# thmtools +*.loe + +# TikZ & PGF +*.dpth +*.md5 +*.auxlock + +# titletoc +*.ptc + +# todonotes +*.tdo + +# vhistory +*.hst +*.ver + +# easy-todo +*.lod + +# xcolor +*.xcp + +# xmpincl +*.xmpi + +# xindy +*.xdy + +# xypic precompiled matrices and outlines +*.xyc +*.xyd + +# endfloat +*.ttt +*.fff + +# Latexian +TSWLatexianTemp* + +## Editors: +# WinEdt +*.bak +*.sav + +# Texpad +.texpadtmp + +# LyX +*.lyx~ + +# Kile +*.backup + +# gummi +.*.swp + +# KBibTeX +*~[0-9]* + +# TeXnicCenter +*.tps + +# auto folder when using emacs and auctex +./auto/* +*.el + +# expex forward references with \gathertags +*-tags.tex + +# standalone packages +*.sta + +# Makeindex log files +*.lpz + +# xwatermark package +*.xwm + +# REVTeX puts footnotes in the bibliography by default, unless the nofootinbib +# option is specified. Footnotes are the stored in a file with suffix Notes.bib. +# Uncomment the next line to have this generated file ignored. +#*Notes.bib diff --git a/research/paper/README.md b/research/Internet-NLP/paper/Internet-NLP/main.tex similarity index 100% rename from research/paper/README.md rename to research/Internet-NLP/paper/Internet-NLP/main.tex diff --git a/research/presentation/README.md b/research/Internet-NLP/paper/README.md similarity index 100% rename from research/presentation/README.md rename to research/Internet-NLP/paper/README.md diff --git a/research/Internet-NLP/paper/abstract/main.tex b/research/Internet-NLP/paper/abstract/main.tex new file mode 100644 index 0000000..32f95c0 --- /dev/null +++ b/research/Internet-NLP/paper/abstract/main.tex @@ -0,0 +1 @@ +hi \ No newline at end of file diff --git a/research/Internet-NLP/paper/acl.sty b/research/Internet-NLP/paper/acl.sty new file mode 100644 index 0000000..9dcc3c7 --- /dev/null +++ b/research/Internet-NLP/paper/acl.sty @@ -0,0 +1,315 @@ +% This is the LaTex style file for *ACL. +% The official sources can be found at +% +% https://github.com/acl-org/acl-style-files/ +% +% This package is activated by adding +% +% \usepackage{acl} +% +% to your LaTeX file. When submitting your paper for review, add the "review" option: +% +% \usepackage[review]{acl} + +\newif\ifacl@finalcopy +\DeclareOption{final}{\acl@finalcopytrue} +\DeclareOption{review}{\acl@finalcopyfalse} +\ExecuteOptions{final} % final copy is the default + +% include hyperref, unless user specifies nohyperref option like this: +% \usepackage[nohyperref]{acl} +\newif\ifacl@hyperref +\DeclareOption{hyperref}{\acl@hyperreftrue} +\DeclareOption{nohyperref}{\acl@hyperreffalse} +\ExecuteOptions{hyperref} % default is to use hyperref +\ProcessOptions\relax + +\typeout{Conference Style for ACL} + +\usepackage{xcolor} + +\ifacl@finalcopy + % Hack to ignore these commands, which review mode puts into the .aux file. + \newcommand{\@LN@col}[1]{} + \newcommand{\@LN}[2]{} +\else + % Add draft line numbering via the lineno package + % https://texblog.org/2012/02/08/adding-line-numbers-to-documents/ + \usepackage[switch,mathlines]{lineno} + + % Line numbers in gray Helvetica 8pt + \font\aclhv = phvb at 8pt + \renewcommand\linenumberfont{\aclhv\color{lightgray}} + + % Zero-fill line numbers + % NUMBER with left flushed zeros \fillzeros[] + \newcount\cv@tmpc@ \newcount\cv@tmpc + \def\fillzeros[#1]#2{\cv@tmpc@=#2\relax\ifnum\cv@tmpc@<0\cv@tmpc@=-\cv@tmpc@\fi + \cv@tmpc=1 % + \loop\ifnum\cv@tmpc@<10 \else \divide\cv@tmpc@ by 10 \advance\cv@tmpc by 1 \fi + \ifnum\cv@tmpc@=10\relax\cv@tmpc@=11\relax\fi \ifnum\cv@tmpc@>10 \repeat + \ifnum#2<0\advance\cv@tmpc1\relax-\fi + \loop\ifnum\cv@tmpc<#1\relax0\advance\cv@tmpc1\relax\fi \ifnum\cv@tmpc<#1 \repeat + \cv@tmpc@=#2\relax\ifnum\cv@tmpc@<0\cv@tmpc@=-\cv@tmpc@\fi \relax\the\cv@tmpc@}% + \renewcommand\thelinenumber{\fillzeros[3]{\arabic{linenumber}}} + \linenumbers + + \setlength{\linenumbersep}{1.6cm} + + % Bug: An equation with $$ ... $$ isn't numbered, nor is the previous line. + + % Patch amsmath commands so that the previous line and the equation itself + % are numbered. Bug: multline has an extra line number. + % https://tex.stackexchange.com/questions/461186/how-to-use-lineno-with-amsmath-align + \usepackage{etoolbox} %% <- for \pretocmd, \apptocmd and \patchcmd + + \newcommand*\linenomathpatch[1]{% + \expandafter\pretocmd\csname #1\endcsname {\linenomath}{}{}% + \expandafter\pretocmd\csname #1*\endcsname {\linenomath}{}{}% + \expandafter\apptocmd\csname end#1\endcsname {\endlinenomath}{}{}% + \expandafter\apptocmd\csname end#1*\endcsname {\endlinenomath}{}{}% + } + \newcommand*\linenomathpatchAMS[1]{% + \expandafter\pretocmd\csname #1\endcsname {\linenomathAMS}{}{}% + \expandafter\pretocmd\csname #1*\endcsname {\linenomathAMS}{}{}% + \expandafter\apptocmd\csname end#1\endcsname {\endlinenomath}{}{}% + \expandafter\apptocmd\csname end#1*\endcsname {\endlinenomath}{}{}% + } + + %% Definition of \linenomathAMS depends on whether the mathlines option is provided + \expandafter\ifx\linenomath\linenomathWithnumbers + \let\linenomathAMS\linenomathWithnumbers + %% The following line gets rid of an extra line numbers at the bottom: + \patchcmd\linenomathAMS{\advance\postdisplaypenalty\linenopenalty}{}{}{} + \else + \let\linenomathAMS\linenomathNonumbers + \fi + + \AtBeginDocument{% + \linenomathpatch{equation}% + \linenomathpatchAMS{gather}% + \linenomathpatchAMS{multline}% + \linenomathpatchAMS{align}% + \linenomathpatchAMS{alignat}% + \linenomathpatchAMS{flalign}% + } +\fi + +\iffalse +\PassOptionsToPackage{ + a4paper, + top=2.21573cm,left=2.54cm, + textheight=24.7cm,textwidth=16.0cm, + headheight=0.17573cm,headsep=0cm +}{geometry} +\fi +\PassOptionsToPackage{a4paper,margin=2.5cm}{geometry} +\RequirePackage{geometry} + +\setlength\columnsep{0.6cm} +\newlength\titlebox +\setlength\titlebox{5cm} + +\twocolumn \sloppy + +% We're never going to need a table of contents, so just flush it to +% save space --- suggested by drstrip@sandia-2 +\def\addcontentsline#1#2#3{} + +\ifacl@finalcopy + \thispagestyle{empty} + \pagestyle{empty} +\else + \pagenumbering{arabic} +\fi + +%% Title and Authors %% + +\newcommand{\Thanks}[1]{\thanks{\ #1}} + +\newcommand\outauthor{ + \begin{tabular}[t]{c} + \ifacl@finalcopy + \bf\@author + \else + % Avoiding common accidental de-anonymization issue. --MM + \bf Anonymous ACL submission + \fi + \end{tabular}} + +% Mostly taken from deproc. +\AtBeginDocument{ +\def\maketitle{\par + \begingroup + \def\thefootnote{\fnsymbol{footnote}} + \def\@makefnmark{\hbox to 0pt{$^{\@thefnmark}$\hss}} + \twocolumn[\@maketitle] \@thanks + \endgroup + \setcounter{footnote}{0} + \let\maketitle\relax \let\@maketitle\relax + \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax} +\def\@maketitle{\vbox to \titlebox{\hsize\textwidth + \linewidth\hsize \vskip 0.125in minus 0.125in \centering + {\Large\bf \@title \par} \vskip 0.2in plus 1fil minus 0.1in + {\def\and{\unskip\enspace{\rm and}\enspace}% + \def\And{\end{tabular}\hss \egroup \hskip 1in plus 2fil + \hbox to 0pt\bgroup\hss \begin{tabular}[t]{c}\bf}% + \def\AND{\end{tabular}\hss\egroup \hfil\hfil\egroup + \vskip 0.25in plus 1fil minus 0.125in + \hbox to \linewidth\bgroup\large \hfil\hfil + \hbox to 0pt\bgroup\hss \begin{tabular}[t]{c}\bf} + \hbox to \linewidth\bgroup\large \hfil\hfil + \hbox to 0pt\bgroup\hss + \outauthor + \hss\egroup + \hfil\hfil\egroup} + \vskip 0.3in plus 2fil minus 0.1in +}} +} + +% margins and font size for abstract +\renewenvironment{abstract}% + {\centerline{\large\bf Abstract}% + \begin{list}{}% + {\setlength{\rightmargin}{0.6cm}% + \setlength{\leftmargin}{0.6cm}}% + \item[]\ignorespaces% + \@setsize\normalsize{12pt}\xpt\@xpt + }% + {\unskip\end{list}} + +%\renewenvironment{abstract}{\centerline{\large\bf +% Abstract}\vspace{0.5ex}\begin{quote}}{\par\end{quote}\vskip 1ex} + +% Resizing figure and table captions - SL +% Support for interacting with the caption, subfigure, and subcaption packages - SL +\RequirePackage{caption} +\DeclareCaptionFont{10pt}{\fontsize{10pt}{12pt}\selectfont} +\captionsetup{font=10pt} + +\RequirePackage{natbib} +% for citation commands in the .tex, authors can use: +% \citep, \citet, and \citeyearpar for compatibility with natbib, or +% \cite, \newcite, and \shortcite for compatibility with older ACL .sty files +\renewcommand\cite{\citep} % to get "(Author Year)" with natbib +\newcommand\shortcite{\citeyearpar}% to get "(Year)" with natbib +\newcommand\newcite{\citet} % to get "Author (Year)" with natbib + +\bibliographystyle{acl_natbib} + +% Bibliography + +% Don't put a label in the bibliography at all. Just use the unlabeled format +% instead. +\def\thebibliography#1{\vskip\parskip% +\vskip\baselineskip% +\def\baselinestretch{1}% +\ifx\@currsize\normalsize\@normalsize\else\@currsize\fi% +\vskip-\parskip% +\vskip-\baselineskip% +\section*{References\@mkboth + {References}{References}}\list + {}{\setlength{\labelwidth}{0pt}\setlength{\leftmargin}{\parindent} + \setlength{\itemindent}{-\parindent}} + \def\newblock{\hskip .11em plus .33em minus -.07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax} +\let\endthebibliography=\endlist + + +% Allow for a bibliography of sources of attested examples +\def\thesourcebibliography#1{\vskip\parskip% +\vskip\baselineskip% +\def\baselinestretch{1}% +\ifx\@currsize\normalsize\@normalsize\else\@currsize\fi% +\vskip-\parskip% +\vskip-\baselineskip% +\section*{Sources of Attested Examples\@mkboth + {Sources of Attested Examples}{Sources of Attested Examples}}\list + {}{\setlength{\labelwidth}{0pt}\setlength{\leftmargin}{\parindent} + \setlength{\itemindent}{-\parindent}} + \def\newblock{\hskip .11em plus .33em minus -.07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax} +\let\endthesourcebibliography=\endlist + +% sections with less space +\def\section{\@startsection {section}{1}{\z@}{-2.0ex plus + -0.5ex minus -.2ex}{1.5ex plus 0.3ex minus .2ex}{\large\bf\raggedright}} +\def\subsection{\@startsection{subsection}{2}{\z@}{-1.8ex plus + -0.5ex minus -.2ex}{0.8ex plus .2ex}{\normalsize\bf\raggedright}} +%% changed by KO to - values to get the initial parindent right +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-1.5ex plus + -0.5ex minus -.2ex}{0.5ex plus .2ex}{\normalsize\bf\raggedright}} +\def\paragraph{\@startsection{paragraph}{4}{\z@}{1.5ex plus + 0.5ex minus .2ex}{-1em}{\normalsize\bf}} +\def\subparagraph{\@startsection{subparagraph}{5}{\parindent}{1.5ex plus + 0.5ex minus .2ex}{-1em}{\normalsize\bf}} + +% Footnotes +\footnotesep 6.65pt % +\skip\footins 9pt plus 4pt minus 2pt +\def\footnoterule{\kern-3pt \hrule width 5pc \kern 2.6pt } +\setcounter{footnote}{0} + +% Lists and paragraphs +\parindent 1em +\topsep 4pt plus 1pt minus 2pt +\partopsep 1pt plus 0.5pt minus 0.5pt +\itemsep 2pt plus 1pt minus 0.5pt +\parsep 2pt plus 1pt minus 0.5pt + +\leftmargin 2em \leftmargini\leftmargin \leftmarginii 2em +\leftmarginiii 1.5em \leftmarginiv 1.0em \leftmarginv .5em \leftmarginvi .5em +\labelwidth\leftmargini\advance\labelwidth-\labelsep \labelsep 5pt + +\def\@listi{\leftmargin\leftmargini} +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 2pt plus 1pt minus 0.5pt + \parsep 1pt plus 0.5pt minus 0.5pt + \itemsep \parsep} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 1pt plus 0.5pt minus 0.5pt + \parsep \z@ \partopsep 0.5pt plus 0pt minus 0.5pt + \itemsep \topsep} +\def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} +\def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep} +\def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} + +\abovedisplayskip 7pt plus2pt minus5pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip 0pt plus3pt% +\belowdisplayshortskip 4pt plus3pt minus3pt% + +% Less leading in most fonts (due to the narrow columns) +% The choices were between 1-pt and 1.5-pt leading +\def\@normalsize{\@setsize\normalsize{11pt}\xpt\@xpt} +\def\small{\@setsize\small{10pt}\ixpt\@ixpt} +\def\footnotesize{\@setsize\footnotesize{10pt}\ixpt\@ixpt} +\def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt} +\def\tiny{\@setsize\tiny{7pt}\vipt\@vipt} +\def\large{\@setsize\large{14pt}\xiipt\@xiipt} +\def\Large{\@setsize\Large{16pt}\xivpt\@xivpt} +\def\LARGE{\@setsize\LARGE{20pt}\xviipt\@xviipt} +\def\huge{\@setsize\huge{23pt}\xxpt\@xxpt} +\def\Huge{\@setsize\Huge{28pt}\xxvpt\@xxvpt} + +% The hyperref manual (section 9) says hyperref should be loaded after natbib +\ifacl@hyperref + \PassOptionsToPackage{breaklinks}{hyperref} + \RequirePackage{hyperref} + % make links dark blue + \definecolor{darkblue}{rgb}{0, 0, 0.5} + \hypersetup{colorlinks=true, citecolor=darkblue, linkcolor=darkblue, urlcolor=darkblue} +\else + % This definition is used if the hyperref package is not loaded. + % It provides a backup, no-op definiton of \href. + % This is necessary because \href command is used in the acl_natbib.bst file. + \def\href#1#2{{#2}} + \usepackage{url} +\fi diff --git a/research/Internet-NLP/paper/acl_latex.tex b/research/Internet-NLP/paper/acl_latex.tex new file mode 100644 index 0000000..99d86e3 --- /dev/null +++ b/research/Internet-NLP/paper/acl_latex.tex @@ -0,0 +1,270 @@ +% This must be in the first 5 lines to tell arXiv to use pdfLaTeX, which is strongly recommended. +\pdfoutput=1 +% In particular, the hyperref package requires pdfLaTeX in order to break URLs across lines. + +\documentclass[11pt]{article} + +% Remove the "review" option to generate the final version. +\usepackage[review]{acl} + +% Standard package includes +\usepackage{times} +\usepackage{latexsym} + +% For proper rendering and hyphenation of words containing Latin characters (including in bib files) +\usepackage[T1]{fontenc} +% For Vietnamese characters +% \usepackage[T5]{fontenc} +% See https://www.latex-project.org/help/documentation/encguide.pdf for other character sets + +% This assumes your files are encoded as UTF8 +\usepackage[utf8]{inputenc} + +% This is not strictly necessary, and may be commented out, +% but it will improve the layout of the manuscript, +% and will typically save some space. +\usepackage{microtype} + +% If the title and author information does not fit in the area allocated, uncomment the following +% +%\setlength\titlebox{} +% +% and set to something 5cm or larger. + +\title{Instructions for *ACL Proceedings} + +% Author information can be set in various styles: +% For several authors from the same institution: +% \author{Author 1 \and ... \and Author n \\ +% Address line \\ ... \\ Address line} +% if the names do not fit well on one line use +% Author 1 \\ {\bf Author 2} \\ ... \\ {\bf Author n} \\ +% For authors from different institutions: +% \author{Author 1 \\ Address line \\ ... \\ Address line +% \And ... \And +% Author n \\ Address line \\ ... \\ Address line} +% To start a seperate ``row'' of authors use \AND, as in +% \author{Author 1 \\ Address line \\ ... \\ Address line +% \AND +% Author 2 \\ Address line \\ ... \\ Address line \And +% Author 3 \\ Address line \\ ... \\ Address line} + +\author{First Author \\ + Affiliation / Address line 1 \\ + Affiliation / Address line 2 \\ + Affiliation / Address line 3 \\ + \texttt{email@domain} \\\And + Second Author \\ + Affiliation / Address line 1 \\ + Affiliation / Address line 2 \\ + Affiliation / Address line 3 \\ + \texttt{email@domain} \\} + +\begin{document} +\maketitle +\begin{abstract} +This document is a supplement to the general instructions for *ACL authors. It contains instructions for using the \LaTeX{} style files for ACL conferences. +The document itself conforms to its own specifications, and is therefore an example of what your manuscript should look like. +These instructions should be used both for papers submitted for review and for final versions of accepted papers. +\end{abstract} + +\section{Introduction} + +These instructions are for authors submitting papers to *ACL conferences using \LaTeX. They are not self-contained. All authors must follow the general instructions for *ACL proceedings,\footnote{\url{http://acl-org.github.io/ACLPUB/formatting.html}} and this document contains additional instructions for the \LaTeX{} style files. + +The templates include the \LaTeX{} source of this document (\texttt{acl.tex}), +the \LaTeX{} style file used to format it (\texttt{acl.sty}), +an ACL bibliography style (\texttt{acl\_natbib.bst}), +an example bibliography (\texttt{custom.bib}), +and the bibliography for the ACL Anthology (\texttt{anthology.bib}). + +\section{Engines} + +To produce a PDF file, pdf\LaTeX{} is strongly recommended (over original \LaTeX{} plus dvips+ps2pdf or dvipdf). Xe\LaTeX{} also produces PDF files, and is especially suitable for text in non-Latin scripts. + +\section{Preamble} + +The first line of the file must be +\begin{quote} +\begin{verbatim} +\documentclass[11pt]{article} +\end{verbatim} +\end{quote} + +To load the style file in the review version: +\begin{quote} +\begin{verbatim} +\usepackage[review]{acl} +\end{verbatim} +\end{quote} +For the final version, omit the \verb|review| option: +\begin{quote} +\begin{verbatim} +\usepackage{acl} +\end{verbatim} +\end{quote} + +To use Times Roman, put the following in the preamble: +\begin{quote} +\begin{verbatim} +\usepackage{times} +\end{verbatim} +\end{quote} +(Alternatives like txfonts or newtx are also acceptable.) + +Please see the \LaTeX{} source of this document for comments on other packages that may be useful. + +Set the title and author using \verb|\title| and \verb|\author|. Within the author list, format multiple authors using \verb|\and| and \verb|\And| and \verb|\AND|; please see the \LaTeX{} source for examples. + +By default, the box containing the title and author names is set to the minimum of 5 cm. If you need more space, include the following in the preamble: +\begin{quote} +\begin{verbatim} +\setlength\titlebox{} +\end{verbatim} +\end{quote} +where \verb|| is replaced with a length. Do not set this length smaller than 5 cm. + +\section{Document Body} + +\subsection{Footnotes} + +Footnotes are inserted with the \verb|\footnote| command.\footnote{This is a footnote.} + +\subsection{Tables and figures} + +See Table~\ref{tab:accents} for an example of a table and its caption. +\textbf{Do not override the default caption sizes.} + +\begin{table} +\centering +\begin{tabular}{lc} +\hline +\textbf{Command} & \textbf{Output}\\ +\hline +\verb|{\"a}| & {\"a} \\ +\verb|{\^e}| & {\^e} \\ +\verb|{\`i}| & {\`i} \\ +\verb|{\.I}| & {\.I} \\ +\verb|{\o}| & {\o} \\ +\verb|{\'u}| & {\'u} \\ +\verb|{\aa}| & {\aa} \\\hline +\end{tabular} +\begin{tabular}{lc} +\hline +\textbf{Command} & \textbf{Output}\\ +\hline +\verb|{\c c}| & {\c c} \\ +\verb|{\u g}| & {\u g} \\ +\verb|{\l}| & {\l} \\ +\verb|{\~n}| & {\~n} \\ +\verb|{\H o}| & {\H o} \\ +\verb|{\v r}| & {\v r} \\ +\verb|{\ss}| & {\ss} \\ +\hline +\end{tabular} +\caption{Example commands for accented characters, to be used in, \emph{e.g.}, Bib\TeX{} entries.} +\label{tab:accents} +\end{table} + +\subsection{Hyperlinks} + +Users of older versions of \LaTeX{} may encounter the following error during compilation: +\begin{quote} +\tt\verb|\pdfendlink| ended up in different nesting level than \verb|\pdfstartlink|. +\end{quote} +This happens when pdf\LaTeX{} is used and a citation splits across a page boundary. The best way to fix this is to upgrade \LaTeX{} to 2018-12-01 or later. + +\subsection{Citations} + +\begin{table*} +\centering +\begin{tabular}{lll} +\hline +\textbf{Output} & \textbf{natbib command} & \textbf{Old ACL-style command}\\ +\hline +\citep{Gusfield:97} & \verb|\citep| & \verb|\cite| \\ +\citealp{Gusfield:97} & \verb|\citealp| & no equivalent \\ +\citet{Gusfield:97} & \verb|\citet| & \verb|\newcite| \\ +\citeyearpar{Gusfield:97} & \verb|\citeyearpar| & \verb|\shortcite| \\ +\hline +\end{tabular} +\caption{\label{citation-guide} +Citation commands supported by the style file. +The style is based on the natbib package and supports all natbib citation commands. +It also supports commands defined in previous ACL style files for compatibility. +} +\end{table*} + +Table~\ref{citation-guide} shows the syntax supported by the style files. +We encourage you to use the natbib styles. +You can use the command \verb|\citet| (cite in text) to get ``author (year)'' citations, like this citation to a paper by \citet{Gusfield:97}. +You can use the command \verb|\citep| (cite in parentheses) to get ``(author, year)'' citations \citep{Gusfield:97}. +You can use the command \verb|\citealp| (alternative cite without parentheses) to get ``author, year'' citations, which is useful for using citations within parentheses (e.g. \citealp{Gusfield:97}). + +\subsection{References} + +\nocite{Ando2005,andrew2007scalable,rasooli-tetrault-2015} + +The \LaTeX{} and Bib\TeX{} style files provided roughly follow the American Psychological Association format. +If your own bib file is named \texttt{custom.bib}, then placing the following before any appendices in your \LaTeX{} file will generate the references section for you: +\begin{quote} +\begin{verbatim} +\bibliography{custom} +\end{verbatim} +\end{quote} + +You can obtain the complete ACL Anthology as a Bib\TeX{} file from \url{https://aclweb.org/anthology/anthology.bib.gz}. +To include both the Anthology and your own .bib file, use the following instead of the above. +\begin{quote} +\begin{verbatim} +\bibliography{anthology,custom} +\end{verbatim} +\end{quote} + +Please see Section~\ref{sec:bibtex} for information on preparing Bib\TeX{} files. + +\subsection{Appendices} + +Use \verb|\appendix| before any appendix section to switch the section numbering over to letters. See Appendix~\ref{sec:appendix} for an example. + +\section{Bib\TeX{} Files} +\label{sec:bibtex} + +Unicode cannot be used in Bib\TeX{} entries, and some ways of typing special characters can disrupt Bib\TeX's alphabetization. The recommended way of typing special characters is shown in Table~\ref{tab:accents}. + +Please ensure that Bib\TeX{} records contain DOIs or URLs when possible, and for all the ACL materials that you reference. +Use the \verb|doi| field for DOIs and the \verb|url| field for URLs. +If a Bib\TeX{} entry has a URL or DOI field, the paper title in the references section will appear as a hyperlink to the paper, using the hyperref \LaTeX{} package. + +\section*{Acknowledgements} + +This document has been adapted +by Steven Bethard, Ryan Cotterell and Rui Yan +from the instructions for earlier ACL and NAACL proceedings, including those for +ACL 2019 by Douwe Kiela and Ivan Vuli\'{c}, +NAACL 2019 by Stephanie Lukin and Alla Roskovskaya, +ACL 2018 by Shay Cohen, Kevin Gimpel, and Wei Lu, +NAACL 2018 by Margaret Mitchell and Stephanie Lukin, +Bib\TeX{} suggestions for (NA)ACL 2017/2018 from Jason Eisner, +ACL 2017 by Dan Gildea and Min-Yen Kan, +NAACL 2017 by Margaret Mitchell, +ACL 2012 by Maggie Li and Michael White, +ACL 2010 by Jing-Shin Chang and Philipp Koehn, +ACL 2008 by Johanna D. Moore, Simone Teufel, James Allan, and Sadaoki Furui, +ACL 2005 by Hwee Tou Ng and Kemal Oflazer, +ACL 2002 by Eugene Charniak and Dekang Lin, +and earlier ACL and EACL formats written by several people, including +John Chen, Henry S. Thompson and Donald Walker. +Additional elements were taken from the formatting instructions of the \emph{International Joint Conference on Artificial Intelligence} and the \emph{Conference on Computer Vision and Pattern Recognition}. + +% Entries for the entire Anthology, followed by custom entries +\bibliography{anthology,custom} + +\appendix + +\section{Example Appendix} +\label{sec:appendix} + +This is an appendix. + +\end{document} diff --git a/research/Internet-NLP/paper/acl_natbib.bst b/research/Internet-NLP/paper/acl_natbib.bst new file mode 100644 index 0000000..ca56904 --- /dev/null +++ b/research/Internet-NLP/paper/acl_natbib.bst @@ -0,0 +1,1979 @@ +%%% Modification of BibTeX style file acl_natbib_nourl.bst +%%% ... by urlbst, version 0.7 (marked with "% urlbst") +%%% See +%%% Added webpage entry type, and url and lastchecked fields. +%%% Added eprint support. +%%% Added DOI support. +%%% Added PUBMED support. +%%% Added hyperref support. +%%% Original headers follow... + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% BibTeX style file acl_natbib_nourl.bst +% +% intended as input to urlbst script +% $ ./urlbst --hyperref --inlinelinks acl_natbib_nourl.bst > acl_natbib.bst +% +% adapted from compling.bst +% in order to mimic the style files for ACL conferences prior to 2017 +% by making the following three changes: +% - for @incollection, page numbers now follow volume title. +% - for @inproceedings, address now follows conference name. +% (address is intended as location of conference, +% not address of publisher.) +% - for papers with three authors, use et al. in citation +% Dan Gildea 2017/06/08 +% +% - fixed a bug with format.chapter - error given if chapter is empty +% with inbook. +% Shay Cohen 2018/02/16 +% +% - sort "van Noord" under "v" not "N" +% this is what previous ACL style files did and is pretty standard +% Dan Gildea 2019/04/12 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% BibTeX style file compling.bst +% +% Intended for the journal Computational Linguistics (ACL/MIT Press) +% Created by Ron Artstein on 2005/08/22 +% For use with for author-year citations. +% +% I created this file in order to allow submissions to the journal +% Computational Linguistics using the package for author-year +% citations, which offers a lot more flexibility than , CL's +% official citation package. This file adheres strictly to the official +% style guide available from the MIT Press: +% +% http://mitpress.mit.edu/journals/coli/compling_style.pdf +% +% This includes all the various quirks of the style guide, for example: +% - a chapter from a monograph (@inbook) has no page numbers. +% - an article from an edited volume (@incollection) has page numbers +% after the publisher and address. +% - an article from a proceedings volume (@inproceedings) has page +% numbers before the publisher and address. +% +% Where the style guide was inconsistent or not specific enough I +% looked at actual published articles and exercised my own judgment. +% I noticed two inconsistencies in the style guide: +% +% - The style guide gives one example of an article from an edited +% volume with the editor's name spelled out in full, and another +% with the editors' names abbreviated. I chose to accept the first +% one as correct, since the style guide generally shuns abbreviations, +% and editors' names are also spelled out in some recently published +% articles. +% +% - The style guide gives one example of a reference where the word +% "and" between two authors is preceded by a comma. This is most +% likely a typo, since in all other cases with just two authors or +% editors there is no comma before the word "and". +% +% One case where the style guide is not being specific is the placement +% of the edition number, for which no example is given. I chose to put +% it immediately after the title, which I (subjectively) find natural, +% and is also the place of the edition in a few recently published +% articles. +% +% This file correctly reproduces all of the examples in the official +% style guide, except for the two inconsistencies noted above. I even +% managed to get it to correctly format the proceedings example which +% has an organization, a publisher, and two addresses (the conference +% location and the publisher's address), though I cheated a bit by +% putting the conference location and month as part of the title field; +% I feel that in this case the conference location and month can be +% considered as part of the title, and that adding a location field +% is not justified. Note also that a location field is not standard, +% so entries made with this field would not port nicely to other styles. +% However, if authors feel that there's a need for a location field +% then tell me and I'll see what I can do. +% +% The file also produces to my satisfaction all the bibliographical +% entries in my recent (joint) submission to CL (this was the original +% motivation for creating the file). I also tested it by running it +% on a larger set of entries and eyeballing the results. There may of +% course still be errors, especially with combinations of fields that +% are not that common, or with cross-references (which I seldom use). +% If you find such errors please write to me. +% +% I hope people find this file useful. Please email me with comments +% and suggestions. +% +% Ron Artstein +% artstein [at] essex.ac.uk +% August 22, 2005. +% +% Some technical notes. +% +% This file is based on a file generated with the package +% by Patrick W. Daly (see selected options below), which was then +% manually customized to conform with certain CL requirements which +% cannot be met by . Departures from the generated file +% include: +% +% Function inbook: moved publisher and address to the end; moved +% edition after title; replaced function format.chapter.pages by +% new function format.chapter to output chapter without pages. +% +% Function inproceedings: moved publisher and address to the end; +% replaced function format.in.ed.booktitle by new function +% format.in.booktitle to output the proceedings title without +% the editor. +% +% Functions book, incollection, manual: moved edition after title. +% +% Function mastersthesis: formatted title as for articles (unlike +% phdthesis which is formatted as book) and added month. +% +% Function proceedings: added new.sentence between organization and +% publisher when both are present. +% +% Function format.lab.names: modified so that it gives all the +% authors' surnames for in-text citations for one, two and three +% authors and only uses "et. al" for works with four authors or more +% (thanks to Ken Shan for convincing me to go through the trouble of +% modifying this function rather than using unreliable hacks). +% +% Changes: +% +% 2006-10-27: Changed function reverse.pass so that the extra label is +% enclosed in parentheses when the year field ends in an uppercase or +% lowercase letter (change modeled after Uli Sauerland's modification +% of nals.bst). RA. +% +% +% The preamble of the generated file begins below: +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% This is file `compling.bst', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% merlin.mbs (with options: `ay,nat,vonx,nm-revv1,jnrlst,keyxyr,blkyear,dt-beg,yr-per,note-yr,num-xser,pre-pub,xedn,nfss') +%% ---------------------------------------- +%% *** Intended for the journal Computational Linguistics *** +%% +%% Copyright 1994-2002 Patrick W Daly + % =============================================================== + % IMPORTANT NOTICE: + % This bibliographic style (bst) file has been generated from one or + % more master bibliographic style (mbs) files, listed above. + % + % This generated file can be redistributed and/or modified under the terms + % of the LaTeX Project Public License Distributed from CTAN + % archives in directory macros/latex/base/lppl.txt; either + % version 1 of the License, or any later version. + % =============================================================== + % Name and version information of the main mbs file: + % \ProvidesFile{merlin.mbs}[2002/10/21 4.05 (PWD, AO, DPC)] + % For use with BibTeX version 0.99a or later + %------------------------------------------------------------------- + % This bibliography style file is intended for texts in ENGLISH + % This is an author-year citation style bibliography. As such, it is + % non-standard LaTeX, and requires a special package file to function properly. + % Such a package is natbib.sty by Patrick W. Daly + % The form of the \bibitem entries is + % \bibitem[Jones et al.(1990)]{key}... + % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}... + % The essential feature is that the label (the part in brackets) consists + % of the author names, as they should appear in the citation, with the year + % in parentheses following. There must be no space before the opening + % parenthesis! + % With natbib v5.3, a full list of authors may also follow the year. + % In natbib.sty, it is possible to define the type of enclosures that is + % really wanted (brackets or parentheses), but in either case, there must + % be parentheses in the label. + % The \cite command functions as follows: + % \citet{key} ==>> Jones et al. (1990) + % \citet*{key} ==>> Jones, Baker, and Smith (1990) + % \citep{key} ==>> (Jones et al., 1990) + % \citep*{key} ==>> (Jones, Baker, and Smith, 1990) + % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2) + % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990) + % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32) + % \citeauthor{key} ==>> Jones et al. + % \citeauthor*{key} ==>> Jones, Baker, and Smith + % \citeyear{key} ==>> 1990 + %--------------------------------------------------------------------- + +ENTRY + { address + author + booktitle + chapter + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + eprint % urlbst + doi % urlbst + pubmed % urlbst + url % urlbst + lastchecked % urlbst + } + {} + { label extra.label sort.label short.list } +INTEGERS { output.state before.all mid.sentence after.sentence after.block } +% urlbst... +% urlbst constants and state variables +STRINGS { urlintro + eprinturl eprintprefix doiprefix doiurl pubmedprefix pubmedurl + citedstring onlinestring linktextstring + openinlinelink closeinlinelink } +INTEGERS { hrefform inlinelinks makeinlinelink + addeprints adddoiresolver addpubmedresolver } +FUNCTION {init.urlbst.variables} +{ + % The following constants may be adjusted by hand, if desired + + % The first set allow you to enable or disable certain functionality. + #1 'addeprints := % 0=no eprints; 1=include eprints + #1 'adddoiresolver := % 0=no DOI resolver; 1=include it + #1 'addpubmedresolver := % 0=no PUBMED resolver; 1=include it + #2 'hrefform := % 0=no crossrefs; 1=hypertex xrefs; 2=hyperref refs + #1 'inlinelinks := % 0=URLs explicit; 1=URLs attached to titles + + % String constants, which you _might_ want to tweak. + "URL: " 'urlintro := % prefix before URL; typically "Available from:" or "URL": + "online" 'onlinestring := % indication that resource is online; typically "online" + "cited " 'citedstring := % indicator of citation date; typically "cited " + "[link]" 'linktextstring := % dummy link text; typically "[link]" + "http://arxiv.org/abs/" 'eprinturl := % prefix to make URL from eprint ref + "arXiv:" 'eprintprefix := % text prefix printed before eprint ref; typically "arXiv:" + "https://doi.org/" 'doiurl := % prefix to make URL from DOI + "doi:" 'doiprefix := % text prefix printed before DOI ref; typically "doi:" + "http://www.ncbi.nlm.nih.gov/pubmed/" 'pubmedurl := % prefix to make URL from PUBMED + "PMID:" 'pubmedprefix := % text prefix printed before PUBMED ref; typically "PMID:" + + % The following are internal state variables, not configuration constants, + % so they shouldn't be fiddled with. + #0 'makeinlinelink := % state variable managed by possibly.setup.inlinelink + "" 'openinlinelink := % ditto + "" 'closeinlinelink := % ditto +} +INTEGERS { + bracket.state + outside.brackets + open.brackets + within.brackets + close.brackets +} +% ...urlbst to here +FUNCTION {init.state.consts} +{ #0 'outside.brackets := % urlbst... + #1 'open.brackets := + #2 'within.brackets := + #3 'close.brackets := % ...urlbst to here + + #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} +STRINGS { s t} +% urlbst +FUNCTION {output.nonnull.original} +{ '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 +} + +% urlbst... +% The following three functions are for handling inlinelink. They wrap +% a block of text which is potentially output with write$ by multiple +% other functions, so we don't know the content a priori. +% They communicate between each other using the variables makeinlinelink +% (which is true if a link should be made), and closeinlinelink (which holds +% the string which should close any current link. They can be called +% at any time, but start.inlinelink will be a no-op unless something has +% previously set makeinlinelink true, and the two ...end.inlinelink functions +% will only do their stuff if start.inlinelink has previously set +% closeinlinelink to be non-empty. +% (thanks to 'ijvm' for suggested code here) +FUNCTION {uand} +{ 'skip$ { pop$ #0 } if$ } % 'and' (which isn't defined at this point in the file) +FUNCTION {possibly.setup.inlinelink} +{ makeinlinelink hrefform #0 > uand + { doi empty$ adddoiresolver uand + { pubmed empty$ addpubmedresolver uand + { eprint empty$ addeprints uand + { url empty$ + { "" } + { url } + if$ } + { eprinturl eprint * } + if$ } + { pubmedurl pubmed * } + if$ } + { doiurl doi * } + if$ + % an appropriately-formatted URL is now on the stack + hrefform #1 = % hypertex + { "\special {html: }{" * 'openinlinelink := + "\special {html:}" 'closeinlinelink := } + { "\href {" swap$ * "} {" * 'openinlinelink := % hrefform=#2 -- hyperref + % the space between "} {" matters: a URL of just the right length can cause "\% newline em" + "}" 'closeinlinelink := } + if$ + #0 'makeinlinelink := + } + 'skip$ + if$ % makeinlinelink +} +FUNCTION {add.inlinelink} +{ openinlinelink empty$ + 'skip$ + { openinlinelink swap$ * closeinlinelink * + "" 'openinlinelink := + } + if$ +} +FUNCTION {output.nonnull} +{ % Save the thing we've been asked to output + 's := + % If the bracket-state is close.brackets, then add a close-bracket to + % what is currently at the top of the stack, and set bracket.state + % to outside.brackets + bracket.state close.brackets = + { "]" * + outside.brackets 'bracket.state := + } + 'skip$ + if$ + bracket.state outside.brackets = + { % We're outside all brackets -- this is the normal situation. + % Write out what's currently at the top of the stack, using the + % original output.nonnull function. + s + add.inlinelink + output.nonnull.original % invoke the original output.nonnull + } + { % Still in brackets. Add open-bracket or (continuation) comma, add the + % new text (in s) to the top of the stack, and move to the close-brackets + % state, ready for next time (unless inbrackets resets it). If we come + % into this branch, then output.state is carefully undisturbed. + bracket.state open.brackets = + { " [" * } + { ", " * } % bracket.state will be within.brackets + if$ + s * + close.brackets 'bracket.state := + } + if$ +} + +% Call this function just before adding something which should be presented in +% brackets. bracket.state is handled specially within output.nonnull. +FUNCTION {inbrackets} +{ bracket.state close.brackets = + { within.brackets 'bracket.state := } % reset the state: not open nor closed + { open.brackets 'bracket.state := } + if$ +} + +FUNCTION {format.lastchecked} +{ lastchecked empty$ + { "" } + { inbrackets citedstring lastchecked * } + if$ +} +% ...urlbst to here +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} +FUNCTION {fin.entry.original} % urlbst (renamed from fin.entry, so it can be wrapped below) +{ 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 {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {date.block} +{ + new.block +} + +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$ "" } + { "\emph{" swap$ * "}" * } + if$ +} +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +{ "editors" } + +FUNCTION {bbl.editor} +{ "editor" } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edition} +{ "edition" } + +FUNCTION {bbl.volume} +{ "volume" } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "number" } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "pages" } + +FUNCTION {bbl.page} +{ "page" } + +FUNCTION {bbl.chapter} +{ "chapter" } + +FUNCTION {bbl.techrep} +{ "Technical Report" } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "Ph.D. thesis" } + +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"} +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +STRINGS { bibinfo} +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + duplicate$ #1 > + { "{ff~}{vv~}{ll}{, jj}" } + { "{ff~}{vv~}{ll}{, jj}" } % first name first for first author +% { "{vv~}{ll}{, ff}{, jj}" } % last name first for first author + if$ + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.names.ed} +{ + 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{ff~}{vv~}{ll}{, jj}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + + " " * bbl.etal * + } + { + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.authors} +{ author "author" format.names +} +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { + "," * + " " * + get.bbl.editor + * + } + if$ +} +FUNCTION {format.note} +{ + note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ +} + +FUNCTION {format.title} +{ title + duplicate$ empty$ 'skip$ + { "t" change.case$ } + if$ + "title" bibinfo.check +} +FUNCTION {format.full.names} +{'s := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}" format.name$ + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { + numnames #2 > + { "," * } + 'skip$ + if$ + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {author.editor.key.full} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {author.key.full} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {editor.key.full} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ +} + +FUNCTION {make.full.names} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.full + { type$ "proceedings" = + 'editor.key.full + 'author.key.full + if$ + } + if$ +} + +FUNCTION {output.bibitem.original} % urlbst (renamed from output.bibitem, so it can be wrapped below) +{ newline$ + "\bibitem[{" write$ + label write$ + ")" make.full.names duplicate$ short.list = + { pop$ } + { * } + if$ + "}]{" * write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +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 {word.in} +{ bbl.in capitalize + " " * } + +FUNCTION {format.date} +{ year "year" bibinfo.check duplicate$ empty$ + { + } + 'skip$ + if$ + extra.label * + before.all 'output.state := + after.sentence 'output.state := +} +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + emphasize + } + if$ +} +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ bbl.of space.word * swap$ + emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { number "number" bibinfo.check } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + 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 duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + bbl.pages swap$ + n.dashify + } + { + bbl.page swap$ + } + if$ + tie.or.space.prefix + "pages" bibinfo.check + * * + } + if$ +} +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } + { + ":" * + swap$ + n.dashify + "pages" bibinfo.check + * + } + if$ + } + if$ +} +FUNCTION {format.vol.num.pages} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + "volume" bibinfo.check + } + if$ + number "number" bibinfo.check duplicate$ empty$ 'skip$ + { + swap$ duplicate$ empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + swap$ + "(" swap$ * ")" * + } + if$ * + format.journal.pages +} + +FUNCTION {format.chapter} +{ chapter empty$ + 'format.pages + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check + emphasize +} +FUNCTION {format.in.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { + word.in swap$ * + } + if$ +} +FUNCTION {format.in.ed.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { + "," * + " " * + get.bbl.editor + ", " * + * swap$ + * } + if$ + word.in swap$ * + } + if$ +} +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check + } + if$ +} +FUNCTION {format.tr.number} +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { tie.or.space.prefix * * } + if$ +} +FUNCTION {format.article.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + capitalize + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.incoll.inproc.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.org.or.pub} +{ 't := + "" + address empty$ t empty$ and + 'skip$ + { + t empty$ + { address "address" bibinfo.check * + } + { t * + address empty$ + 'skip$ + { ", " * address "address" bibinfo.check * } + if$ + } + if$ + } + if$ +} +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.warn format.org.or.pub +} + +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} + +% urlbst... +% Functions for making hypertext links. +% In all cases, the stack has (link-text href-url) +% +% make 'null' specials +FUNCTION {make.href.null} +{ + pop$ +} +% make hypertex specials +FUNCTION {make.href.hypertex} +{ + "\special {html: }" * swap$ * + "\special {html:}" * +} +% make hyperref specials +FUNCTION {make.href.hyperref} +{ + "\href {" swap$ * "} {\path{" * swap$ * "}}" * +} +FUNCTION {make.href} +{ hrefform #2 = + 'make.href.hyperref % hrefform = 2 + { hrefform #1 = + 'make.href.hypertex % hrefform = 1 + 'make.href.null % hrefform = 0 (or anything else) + if$ + } + if$ +} + +% If inlinelinks is true, then format.url should be a no-op, since it's +% (a) redundant, and (b) could end up as a link-within-a-link. +FUNCTION {format.url} +{ inlinelinks #1 = url empty$ or + { "" } + { hrefform #1 = + { % special case -- add HyperTeX specials + urlintro "\url{" url * "}" * url make.href.hypertex * } + { urlintro "\url{" * url * "}" * } + if$ + } + if$ +} + +FUNCTION {format.eprint} +{ eprint empty$ + { "" } + { eprintprefix eprint * eprinturl eprint * make.href } + if$ +} + +FUNCTION {format.doi} +{ doi empty$ + { "" } + { doiprefix doi * doiurl doi * make.href } + if$ +} + +FUNCTION {format.pubmed} +{ pubmed empty$ + { "" } + { pubmedprefix pubmed * pubmedurl pubmed * make.href } + if$ +} + +% Output a URL. We can't use the more normal idiom (something like +% `format.url output'), because the `inbrackets' within +% format.lastchecked applies to everything between calls to `output', +% so that `format.url format.lastchecked * output' ends up with both +% the URL and the lastchecked in brackets. +FUNCTION {output.url} +{ url empty$ + 'skip$ + { new.block + format.url output + format.lastchecked output + } + if$ +} + +FUNCTION {output.web.refs} +{ + new.block + inlinelinks + 'skip$ % links were inline -- don't repeat them + { + output.url + addeprints eprint empty$ not and + { format.eprint output.nonnull } + 'skip$ + if$ + adddoiresolver doi empty$ not and + { format.doi output.nonnull } + 'skip$ + if$ + addpubmedresolver pubmed empty$ not and + { format.pubmed output.nonnull } + 'skip$ + if$ + } + if$ +} + +% Wrapper for output.bibitem.original. +% If the URL field is not empty, set makeinlinelink to be true, +% so that an inline link will be started at the next opportunity +FUNCTION {output.bibitem} +{ outside.brackets 'bracket.state := + output.bibitem.original + inlinelinks url empty$ not doi empty$ not or pubmed empty$ not or eprint empty$ not or and + { #1 'makeinlinelink := } + { #0 'makeinlinelink := } + if$ +} + +% Wrapper for fin.entry.original +FUNCTION {fin.entry} +{ output.web.refs % urlbst + makeinlinelink % ooops, it appears we didn't have a title for inlinelink + { possibly.setup.inlinelink % add some artificial link text here, as a fallback + linktextstring output.nonnull } + 'skip$ + if$ + bracket.state close.brackets = % urlbst + { "]" * } + 'skip$ + if$ + fin.entry.original +} + +% Webpage entry type. +% Title and url fields required; +% author, note, year, month, and lastchecked fields optional +% See references +% ISO 690-2 http://www.nlc-bnc.ca/iso/tc46sc9/standard/690-2e.htm +% http://www.classroom.net/classroom/CitingNetResources.html +% http://neal.ctstateu.edu/history/cite.html +% http://www.cas.usf.edu/english/walker/mla.html +% for citation formats for web pages. +FUNCTION {webpage} +{ output.bibitem + author empty$ + { editor empty$ + 'skip$ % author and editor both optional + { format.editors output.nonnull } + if$ + } + { editor empty$ + { format.authors output.nonnull } + { "can't use both author and editor fields in " cite$ * warning$ } + if$ + } + if$ + new.block + title empty$ 'skip$ 'possibly.setup.inlinelink if$ + format.title "title" output.check + inbrackets onlinestring output + new.block + year empty$ + 'skip$ + { format.date "year" output.check } + if$ + % We don't need to output the URL details ('lastchecked' and 'url'), + % because fin.entry does that for us, using output.web.refs. The only + % reason we would want to put them here is if we were to decide that + % they should go in front of the rather miscellaneous information in 'note'. + new.block + note output + fin.entry +} +% ...urlbst to here + + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + title empty$ 'skip$ 'possibly.setup.inlinelink if$ % urlbst + format.title "title" output.check + new.block + crossref missing$ + { + journal + "journal" bibinfo.check + emphasize + "journal" output.check + possibly.setup.inlinelink format.vol.num.pages output% urlbst + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + new.block + format.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$ + format.date "year" output.check + date.block + title empty$ 'skip$ 'possibly.setup.inlinelink if$ % urlbst + format.btitle "title" output.check + format.edition output + crossref missing$ + { format.bvolume output + new.block + format.number.series output + new.sentence + format.publisher.address output + } + { + new.block + format.book.crossref output.nonnull + } + if$ + new.block + format.note output + fin.entry +} +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + title empty$ 'skip$ 'possibly.setup.inlinelink if$ % urlbst + format.title "title" output.check + new.block + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + new.block + format.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$ + format.date "year" output.check + date.block + title empty$ 'skip$ 'possibly.setup.inlinelink if$ % urlbst + format.btitle "title" output.check + format.edition output + crossref missing$ + { + format.bvolume output + format.number.series output + format.chapter "chapter" output.check + new.sentence + format.publisher.address output + new.block + } + { + format.chapter "chapter" output.check + new.block + format.book.crossref output.nonnull + } + if$ + new.block + format.note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + title empty$ 'skip$ 'possibly.setup.inlinelink if$ % urlbst + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.edition output + format.bvolume output + format.number.series output + format.chapter.pages output + new.sentence + format.publisher.address output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + new.block + format.note output + fin.entry +} +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + title empty$ 'skip$ 'possibly.setup.inlinelink if$ % urlbst + format.title "title" output.check + new.block + crossref missing$ + { format.in.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.pages output + address "address" bibinfo.check output + new.sentence + organization "organization" bibinfo.check output + publisher "publisher" bibinfo.check output + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + new.block + format.note output + fin.entry +} +FUNCTION {conference} { inproceedings } +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + title empty$ 'skip$ 'possibly.setup.inlinelink if$ % urlbst + format.btitle "title" output.check + format.edition output + organization address new.block.checkb + organization "organization" bibinfo.check output + address "address" bibinfo.check output + new.block + format.note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + title empty$ 'skip$ 'possibly.setup.inlinelink if$ % urlbst + format.title + "title" output.check + new.block + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + month "month" bibinfo.check output + new.block + format.note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + title empty$ 'skip$ 'possibly.setup.inlinelink if$ % urlbst + format.title output + new.block + howpublished "howpublished" bibinfo.check output + new.block + format.note output + fin.entry +} +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + title empty$ 'skip$ 'possibly.setup.inlinelink if$ % urlbst + format.btitle + "title" output.check + new.block + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + new.block + format.note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors output + editor format.key output + format.date "year" output.check + date.block + title empty$ 'skip$ 'possibly.setup.inlinelink if$ % urlbst + format.btitle "title" output.check + format.bvolume output + format.number.series output + new.sentence + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + new.sentence + format.publisher.address output + } + if$ + new.block + format.note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + title empty$ 'skip$ 'possibly.setup.inlinelink if$ % urlbst + format.title + "title" output.check + new.block + format.tr.number output.nonnull + institution "institution" bibinfo.warn output + address "address" bibinfo.check output + new.block + format.note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + title empty$ 'skip$ 'possibly.setup.inlinelink if$ % urlbst + format.title "title" output.check + new.block + format.note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } +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 {format.lab.names} +{ 's := + "" 't := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ + " " * bbl.etal * + } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { + " " * bbl.etal * + } + { bbl.and space.word * s #2 "{vv~}{ll}" format.name$ + * } + if$ + } + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + '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 + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.short.authors} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + 'short.list := +} + +FUNCTION {calc.label} +{ calc.short.authors + short.list + "(" + * + year duplicate$ empty$ + short.list key field.or.null = or + { pop$ "" } + 'skip$ + if$ + * + 'label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" + format.name$ 't := + nameptr #1 > + { + " " * + namesleft #1 = t "others" = and + { "zzzzz" * } + { t sortify * } + if$ + } + { 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$ +} +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$ + 'sort.label := + sort.label + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} +SORT +STRINGS { last.label next.extra } +INTEGERS { last.extra.num number.label } +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := + #0 'number.label := +} +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$ + number.label #1 + 'number.label := +} +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'next.extra := + extra.label + duplicate$ empty$ + 'skip$ + { year field.or.null #-1 #1 substring$ chr.to.int$ #65 < + { "{\natexlab{" swap$ * "}}" * } + { "{(\natexlab{" swap$ * "})}" * } + if$ } + if$ + 'extra.label := + label extra.label * 'label := +} +EXECUTE {initialize.extra.label.stuff} +ITERATE {forward.pass} +REVERSE {reverse.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 +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" number.label int.to.str$ * "}" * + write$ newline$ + "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi" + write$ newline$ +} +EXECUTE {begin.bib} +EXECUTE {init.urlbst.variables} % urlbst +EXECUTE {init.state.consts} +ITERATE {call.type$} +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} +EXECUTE {end.bib} +%% End of customized bst file +%% +%% End of file `compling.bst'. \ No newline at end of file diff --git a/research/Internet-NLP/paper/appendix/main.tex b/research/Internet-NLP/paper/appendix/main.tex new file mode 100644 index 0000000..e69de29 diff --git a/research/Internet-NLP/paper/compile.sh b/research/Internet-NLP/paper/compile.sh new file mode 100755 index 0000000..e25f3f2 --- /dev/null +++ b/research/Internet-NLP/paper/compile.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +pdflatex main +bibtex main +pdflatex main +pdflatex main +open main.pdf \ No newline at end of file diff --git a/research/Internet-NLP/paper/future/main.tex b/research/Internet-NLP/paper/future/main.tex new file mode 100644 index 0000000..e69de29 diff --git a/research/Internet-NLP/paper/introduction/main.tex b/research/Internet-NLP/paper/introduction/main.tex new file mode 100644 index 0000000..e69de29 diff --git a/research/Internet-NLP/paper/main.pdf b/research/Internet-NLP/paper/main.pdf new file mode 100644 index 0000000000000000000000000000000000000000..fe02f6a8ecffcf4870e82f7bda1723939eaa5947 GIT binary patch literal 33709 zcmce-bFeVavMso6+x)g|+qP}nwr!i=wr$(CZF|q}+;{KHi(qgw`}Xik^uIIl-_th}3)BDc^zD-?Ef!ZT3N>}Ot(n=Oj&LOXe6%B_6nAKVO? zjM3X|0@_FuwSU(lv#XbP>d~JMgi(d|R=9H-l~slUoJf!g0rkKmjyb>%N>LV05BY%P zEj&ANPD{$oxY0lD>4hyc;m~BQg^i5k!&VAKhJ73=+icLNT8gDyGH81Vs9_Af{pz>6 zYyEeVw<-trxgV{NOJ@Jmiof z9)?FXTni%~C4#Qe1hE#YQY-s)D7Ap#A6=kFq=va(?4<&1NuP>7@>O*vFF!g!6^r#yVKa4E#P$=V$k z%0J#Q1pdN`@`wOPCK+yWJWKEg5an4`3_^(?_+-HJh~x!}T3p?$qwQ9Q;J>vm?Yt*Z zdbwhMlm6cck@;V#_J6+r|3w%B0Rt-o8IrR$bbY)A|FP}y@hiSwJpOiX?K^Z)~Lferz|c-we12|xuwO{{a<_+;7R!d;%z zt>^MfXDR z7B}!M?2vnPbrb}B>^~rIN=*WRBmg7&2>ggJAP^7$Z^OgG_v!#p_ULvXLpy+w`fN)~ zCwm76KWWEq5Pd73__?3bY~egGeV)JjfT06A+5PlKJVU=63ivQ!1h{Hdk_FmwZH%nVF3iaT26=Uqlr$y zYXDo?ef(oSSZmM_uJ6|eU~T@0GYD+0pLPI4u=;Uz0fe_^{=vZi@UevZl-1Y04fhik z4-Mptzwdq93BDN6Nx1C~5e|)HucsoWa88#i4vu|vyI~ve#Rg#Oh7TDCyzSTeH0lQL zbStvKuWt+RXASzjGnEDdAh4~S-=^! z_B9Rn=;i@F4;u|<&@WoR zFU`Zx@6dOr=o&iwq-Q)fDwAmg2AZNdCobDSPItJJW*SlB3kNm01>Jt4N+rh_Y)(4s7sjgRX zK6=@ZfK4V<{{W;5|_K zZtK+OZ`u9t*Z1YqmmU4AK0o`}Yt0$4jeh>;^GDf!EB09||5oM4>BuhISKMQs2zXF; zAAeVd1iL)r5CaP_tcFO&B2T{gPe}}ZH`h{0+e$t?Up~^#MIKf?wXUttCvS3@t@wdj z((6#{PES0LaWfs2D(!m@fe4WBVj9pT49F&O6xwC(1%aV2;kp&~=nk%S=!1 zP0b4N)QgK|%@w;gngq6FFB=z(gt(p6kOj>h`bl$G`DtXaExiLM=d7)w(bS~wpYH;T zH0^HqP;EEic=I1{G0M~?1)bk3S>wOHa3TD=n_U1O5+$Co1#~XnVnG0vgG^hT+Gqx` z$Dx`a>yIQ_(l^rCU|tpp?=fp-x+Isn^MY1&o*^yc?IEP)gONVsl zC+*BLZ4QG?{XIPcHGqX^Zv+78-njETB7@&J-BHpYCdLAUG|w?gmJi!yCt$xX@Gq)y z$3chVOB}*qBk67p)y|)JP$n^o<4)6}T(s4SCyaoa2!9!qR;9OUiP_j;*6rivVdF@y z@p)K&@*Wa9T&{NYo3?w%03=8<>H%I;z=eiiMvpb&kxq}Rj?Ycu*gio^Ee!Fiohh$1 zeJL(jwAG~dchhDr*S`O_0I%3}hHu911WYHOrmhmZx+3A2e>>uEILJE-2nJvOWxR5^xo@ng?Ir*AYBN@jSLI!^E9j3dtSjRQLV6&nU7cRuFoJhAcDfqNPcm1FNcKJ-P zkljqe-Q`(M@w#c)S7TvI6vH01QlNJF+e*W0-m@6Jgn1a<86Q=OW6jol*Z)(WR&M`g z|3xuistz(4^h_>g_EzrpNKQAMgcO*i;3m<^wymZr{wI{qc;$i_r6=JLXVK@q<`%Et~+`eJCD=-W$==)waDW_oQM`_kC zVB5uI!Y+a`TI&7_9(?Sh25*!LC(}7`Wv&*$ePNMe#65rG@ z%4-6T3b7CJ_>#-~&&K0^X%4;SOvbbdZVJdCI#W6^w!0_Vm(WR2%8hS&mrIj3AZYP` zZ0C*G)o`K%RLyP#l*bsy4Hw?Wip{81i`map$De^y= z>rIjo^ohZ|Z>&x#42GGJG$Wa@v9F%xr$^;rzCD~5*HkS-X$RFf;${yTf|05orv*Ky zB-Z{-v5k?p(eA#X#6IQjT`6dNI+dwW4see7r!hp-0_=S*N>JpdPn%X zPjr^^MHLv(FDb_tOS=4#AI^sxY zZ(X`|m17jSi(fQn&Q;uk%%~)zDpY7jUGc+HDVhtqJzcWB4*Cd7Il2=D*}V^_m%RFP z=Pm?Wjf@-)3|pL{U#O?Fyyqrce^QyYbxg7dJK~RVnoNNqt1HQ4R>bP#y<}XQ-LB?J zcoUN8^xT8`u$+IgtTob0cJ3QaVK`T%OQmY&{lHmqe0ogoU07C!NQC!_8@=_P{SnI{ zyP*2UvzqE^dSZKy36W#X#19Py_ri5)R7zq%inpagpekRXr5^G2{q&8+M7a>=sUsP* z`a{k@x-{9}979+iArR4`BE+9#ziWdUW20Ow`7;%imL6^4a2K2rTBPDK4%IXQ3*<-Hi6PG0$^a90BgfEr@j+e}Gr!JB1c_*ZD7IlV_%VD~5cFXzYPjP0u zf_<`6K}2-rMuB_4d_R-O*XkE}D%p9Y2E9p?PAmFPF50^!87~zwqhUezC?1J0L)im5 z6XZB{{L;;jKWw>~&aRbIX=vs4!cwf#`=#f5C^eaQICtfWU^^d`%6TkXxAROqu!$8m z)M+FsrZKExTLvjj1+^Yy`gWmLSLKExj2x^&*^2#Kt2$c$|wQoAvIcv7ZCerI+CoF9&+%M*_ z)9R58di3Jq{`I_e!TR_@PsqnF@c=-7(E6`BF*5ru0;AMG~4G1yMvv?K#Eb`?;$y( z6Qf@Hx8_xrY3VFmW^@-k5!JfMv0GjA=#!237F%Ih#b>#3E>r!>m^5mZK%f>a*h_GU zEGAxwVl~u`fm2+HC41Z(<&vwbkUT#==2#+urMqnJLLAsVGEY=1E*EjmOSu}Yt?aRo zeJ*bFMDmKu^CI2AeMHC3czAA;&dZ9APv|nCRH6o1oC0`^e38430TvgO3SJ2IY@wZj zfh$!zqkF!rmf|I|Gh|m0wgq11LIplG4Agr|`0-cf-FemQH2?Ukv$N9*VvhXWNf8z= zARC!zGfbda3%SI3xovs}tU@e+DgH7chc*t(O#iLpLq6+XY*a)fh8a0m?W^S8enP{Z zX3_no%EK5>TG`4*9xX7&6bpV_JW6Nu>AP40(`WCe=oad#7-OpQURs?Ex*(*K6tD*x zFcVv%Q11=sn^Aa<i6vaY&9Q}F%5F|*{4 z+@E>>&!zbVWyYgG4II(i_C{j;`|^&GZ!Y@!mdX$C?pFA1)f=E(%lmyjXOt%3Sa~ly!IVS!&uPMpsQg-R?JAaT=!3k!psS|-|Dq^zToXJ zzJ%9_WATg*<7}=Ro2JMT+xrhvD0`2!lZ-f~5j-xp*Kt+R!EPsOxR7tPhP7p{rbr*=eP#jo7X~=LRTh1rO=lsg* z+{tzg>pVA9Uki!*dPE&XgJ)%ASUe!3=2fbuX}k{JA&U$;1Yij6==)pjHT-uTeAY6}UAce3OjiRBS{9t%Aa+P#AdFpQk`W9(b^WU37wRed^z=(w%;!FZI|}sT|wSSlFsr(PyB) zha90nF?cs$;8Qzwi{J|Rsbin$)M8f88I@$xzZDl=W#fy~|G+@67&i&n2G>KTpb^TP z&5M|k?lg9Dxy~K=zik@ccog42e}Y3EWl_yWGNONKrz<}Y;Y~IR_(ps98NM(UU_E~- zAaIcIK1W;v`z#T&TI&1Xd3mDAQBZ|3_`Oor6v5_#R9l)I)QUN%nleTRR0o9m4!Gm~ z3_J1+#)O2E??z5TZ`38KTcU2BC1r46&&(LzBjzB4_wAA5+&RGK+%}6he-BSmcR&89 zA;19j0M1AZgh=$}(LoBuy}%a;uI8-mkeMl5PGX5zldVvPOwvg*t1+4X!EfYR`g3%A zR0d<$A#VsPH9QRh4CP|nF>M-Bz;e7w2^tpVQO!KKfAK)uS}tg?W}FXv6~wlkBa@jz zEU24~{lc=5YU&TeS z*OJ)pLU*CD(wH7mknrTO1|l9df#askKXcfa$C4N0HtB;VwPIa5iSkPP*8uZxiU*R zkqtB6k;QX)pdOOCNR6%3IDzFJegY4F$>!B!g-x``V!Pl{@5yZR+e1*A?!5=E7G<^* zIW2@9KVz>l%8wEEXIkV3NK`WHdD?T^PtYYo&l74nv*DOPHJ6u_>0m0|-OL76R!)FU zqE(GVuph^?25DWaUbyteZt@?2k`eH)cg8lYz$?@weMv8#y%O45a>wG!w#&}=KcLF{ znz#zfFNWO*o9da(L--_%evW*)j;X0-L{8{u3S`^?z<1M;{CW?d^XA*P@Oabe`=Gw> zxp>UBp1}olC%%FkkwueHf*zC&P&7hJC$_CqTs1mN(cpz2j2&=PgA{jVuc@6i926K4 z_BL)MP+24q&di>kAej-GW9cG_K<86fUS6qjvpm%4)TH1L+{J0a>rmUeamXI2-<|JS zhCkkS>a2_kMEO()sanQ6GzsXR>)NgM6B~ia!n9s}c&0~XPK0u*jU*sT9%(WUXv8)o{mu@|c@9TbjvIYaZhw@tm=0YK%bqx;s;QBew;`!! z5o8~u>yz2|_Z~;-z$FG;)skVYwps3?SYH$4*U2g3);<QlOfNZOPJHHg!?ik9RrUvA}#0R z-SQ}on@#ax!aj*zH3h#M?t+QXbXDi+4%)w!7bo`6LzI};PfMHmLhUI|Ld9pJ*m~It zB@<4w$T}t|tWDcfPjHh+T=_V}z`a{it$hZnQrH}z=HzvVl$Ey*3L*MS=vn&3f1GU8 zYMce>IOQp14~XInV^kZ_g9^u-DyTg?itq%~#|?gMinX|sH; zHfJ_Pgy*iWrz`ofxwrP2q=sIRIMRB8^-k8q@+V!R>lfM1Iqe{GX3g^@h89`U8EiJ5 zR}u}?R>LSq1)=CGUrPEWHFUL}9M*F46N|jICZ+gFBd99e9rkr;T#ok9BRrv1Ca= z6IrD6sw%arboCCA>xmVl6N@BIT}j*FqM*)i*j ztActN#DRTNP7me7_B>F$Ecc3zDlu|J8lmQi&S>c3c2z=L?0(L>Vr-n(Y!lO=qDx2;BKT~)VpqZzT~lErIgemUE|SNrF(y({$ZG~ys(uBruP`pS zxYXtKAKikAv!!zbqRn;1MrF_ww3^%F3QwpSi;5H%Jij#LFBfU(Llu608Ws-Si~YTR zUyIUCrv9cFP#F&INW60 z8w9~Mv!@#T0p|UHoM>vvljULZ7Cw3Zdoj(!mgYPhLLP-OE&HNG#(pc&78K941i

yQfmmT;Wg;W>4sO+;HXlVc@r?w*t7Z}!xI+fvt@l1-*a=^Wp{#Q zIIV&q@Ei@p{&{u2nc_qI?CH(}sAf*3;BLK(YyFjX`e%wLQ-I1{(!>dHOYJ5`vIQV_ zG)_rJea*B$fGL{ec-*nLlxI;i!lb*w?Wx!*3ZlFa{?ctj#~C1gKCpoZZz7RYdg<&> zBjG8;YS8^GjHozQa%UZC4m#|0$7!|)q^G8C=j1J3xoIB;)aPQ=i|*!$#_zVH`am0m zYvtjWn9v&*L!^g?W@{M)U!WtvBA@D@Ofz zlEkb|lt;1g77{|Zxk{|zrpZvUM+g&^Cb~3TtD-cIhYx#A1Kfps_Zuc(D-Jj*V$!%y zoKD-ib6MZOh7J!guIBjz0%m_>DD8yFeBbIeX@kCsH1>e)L@Hr9YZD8Edc)D_B5}QHA-)pQJ%UyZhc}E(Y(<6;XawN!)0uD**Hyho;MelnfRgEL(3hxC+ zW@BIi1bBVMqi}FpCc@C#ah5rR?~z;DOIx$LG@Yh)eieZ(W`7`V?AX0GN`eCedY08I z4)GioSAFxRDEau!eir7T@#|ywfs-Z+wy zidRbJ5%+Cx50)jPRw7b2>v+KzDQVYh@dIFtSJhvd7rSm2D{UAjWah!*SnN4co2Cbs zy4Khew-ZdiUiKr+8rcNKQDSBFtX2WHm+%3(e_$Y_*>B^nI0q)(4fynPDO?t zM!*khY;^(h4$z_k2u)s32|O*}kIqF$iJOy5JO=^=v?-Cr9}oy&lh47AWe&D?0AvpZ z0g=A|Slstw8%rQXMeeWg7{rPUJ(=aF@e>Rnz5TQJmp9d=bIhCs_&(hkNX6A z;FnVl2LhC@%I^<41_lxDSzA$=PXw-?tTYcY26*isOUeqMLZ*ZrkI4^d4Av9`kO6?E zFXlhJ3+|7(HiPq2#saYkoeBb?59GfFJk3vM!LP=Y|Bb(j?awnej|LLZ^##n2;9pV{ zf%{|vCQlDwY-W0B{1es}wGH%zPUt0eCl!1hbqgwu3KJkWg(L7H-zTM_VzJ)qAy_S) z?`J8*PiG6Tc0jU#V}0^eR?_QDM^C3)4mkz~; z$DB<-z%}W|;0|mLqM6B_xd}iRkDiWx#kcsbmgoPw(jC#=9kZ#ozSmp$69o(b1-PMJ zSK#Q_y~G^Uv(y5zUeNHnjta^JP4Ay{XxG`E^zHYN9T4jW8-71KL*E@w&j7x;-Uc`o zfL4A*sedLV0dV*$YtrJEH}(q_@k;~rt9A7Ki~O30_1!A<_3M@Q3rTZnY*b`u_}Kv9 z*UR9aCN?qzclR&@kPP65hefveOEo-%W_V%IA%xO3*0h z>Ibs-y$RaH^h@@Q{`ZGymbR#dkoYs;*w0=27fRVj1E@SS>l?cD*IWeC`bRH}k3KO` zU#-tfRko)UK-Cs+Cav>TP~1Om@X?R_9UbAccV>cAUM!x9|F^^rZl<^6H||!CEXc2K zY%L>T`nM{Eb7^Si%VhCq@@~}TO`5!qlY#|P zQzCtxji`EexgT;D-CR$-Iw9>)3C{La7D@w|oWZvo!nhI>)!WiJi=)nOOVM}-?~I_% zz+4Uh&n(Gff!^h0k9v{qvC;ao9vjW@&+kI)n>S;1Q)K?=XhCx~Z{bUS-5y|qcT>hD z;`>qNc-RQXD0tk<1m5B#b^QgjFSIM{)aArhkls_h*Qy!}Ptdnd_qACqXREjdV^97Z zWCnugFuwe-z;-k)UBz^+?l#Bc=Abzo=lUhZj8y$_`YLM)xmGd_lUG@TTVwKhUG=PT zvR=+6<*3y=rm*;iE~;?~?~*Yc&GkME%k=>44){UIh`Z|?D!HfpP6%|nFZJA8HzhjV6mW&bx=zKw0%X>a9$aSj)wJNSUwF*0VhRt{eQHMR_jCI zZZ8l=K`pr;JJTQ;^;ZR++P@ymN#V zwZ=Vn!vy}RagC6vS?+KVC6$HX-gp~YAtKq`?LDHEb(T{!KR687Jd4=MK`*l#5-(<8 zq!5N1Am)7${9yi>wQ&zNY{SVhX8PeaAh=cCRXV3bvEgwcv7(hBLK#;rEYUaqa##>x z`a!zCsaW(&xVC{qV&=qkoU;yyT`*bYCF10>X?5%M1U0%VMt4C}x=cXRskiK>3p-)z zQXQbpS*21<>F`6d9mX+#GM?w{v&~cIG|p1ASMd3(>eb>sHC!R<$g?C2-*d`9^+=Ed zm9I%J%3M9-YT$r4H*-ORGiv8J966qT3CA2^%1A25{xNd>u$-wZ9NoTf?->xR+Et*V z=o8?BpJbuli8TgC&`PQ{AvSce> zmuYr`IcVw4OKF{-G6wjYZ4Rn}L$d`|gc{*WF#Vq0(PIg{>*s^{HSL@$?Q-d5;}lZ4 zMJ{a=+&~ahVuB0(lOtMRu8b#Wt9mU^IyXx@#1#-@O{h!I*9(Q^ zx`{CF)+l>|C@#m8ujVv{WKhxnn6UtuT+eHg6$+4-T;%=bUmt`)+zN29fB2S5u;p^#r9usImD>` zQ~Trve--Wqv-xOym&3T82oMh$BbK$&MI4~W?dtB)EcNB${>9qt}Nx=@}zMX$2bma zsi3gwT;5{x?;4bi^ST%Q*)v4NC^L;>o1Qm3vlPoIchJtn!lA;R8s`I7qygaY9%ff3 z|GnKnWnQzkh#YPXujzp6Tf`(uXfqjx$DhLh*%R1Vm(52u74<6QJTA8>*;I+C^{Ns9tn13514H!pnX2b6~}rflCIECWO&9Wg4T zerj_Q3f{^hr!Bqi%En;2dZIZnM{6#F=H?gXH}PWG7a%iaHC>E59M%Dd6Z&3BEP0779uv}o9-j(FMg~!CDOY{EoC-=9g0&64aEycDIa72w9gKo52%CJI#Tl*@y2c_-hSS6w(A4^vCe3-@<{Z_32t6iZP@5I5F?{n&~ZQLWz^v z_CVh25i2-yH&HKmPoD33j>a)VuABIJorlDxWvhm6NOgxm`mGJHm(Ci8uoA#DXrG-) z)JEhhK?NU!*o0omT9)T-zATCf6q=pdT~r2RI;&r(YC6a;#wyt!w)e6fF8~tP)4PqB zjJA5RV%9!M*c7aqu@7Rj?I%|Nd56{b{_Fm@%b(ukLnn*b$LiXM`9h2inma=HD>-(G zh;dqOM~Ik#{=wlRLEeDp+i5<+1?&F62*1TFwAhE?yQ%*fT0(!aG-_b1nGU;R!CKZ& z(Jao7P&Wx0(D!pa#qj*GTR z;bABvIg5}9jZ&;^%wlWE%VU(gzIu$sY|i_}$K%B5>Zf0fX{>vrfiz7vf~cL#70K$V zwc`W$;f*dJgIEuLa5=Yp#~tk$Hr}JOkwE*!8%=%o!;mwE~ad=E{Y;6gH$EVN_0w2gVbs0ay)OakOag51YpqD7SQ8Z#}-mHfV8%c<3cWGrF zPQT%*QFSze&VmNx5}mLBMK{w(xP`ea*W*;wnfobmROsjIUMBl5(FW=|42%QDh?n?Q z9qwb}4m0lL{epFV%&W~Lk?TWgn|UMr;XCZ@!SnRr(6De`GSM!}%rcEU^YB{4q}HqW ziDCm2LE5c{Qp}jBT~if~+;RrPK)+}+<2#C9(zSzWU3rjom!<@Zxg1*f5S4x^lj>R4 zf@xwdo`({A8B!czJ2uw8VAbUFljDSl=k~*6ByQB>eBs*g@t>RX%XCWK0olkBfm`c^ z1<)B`734ov>%g-#Zy5?+L8miPsf(TZ*SVI-T&HL~@jO8d7I(`9X`EU?fdpI~w~chV z$R=1>?tv;Pj%NYrX_>B@g|MjI``@z6HvB+w&ZBZxd41$Klf#InJLFAtzK!>R>GVC*-hd2fjzADZf9lsS=y`Sdq%DB*1jhpXyNNEd)0d~a))s|yt1ehT{3orKZ-b2 z0(efqW0@W&S4fVyNn7+J-MX_AEFrxWhm(**(Od|R&Jp6lqV!H}H*|jb6i&@dg{;a0 z1pX-M`Sfju6L*p0EU2A4tj@4h5`?i zgMqYidw{+|mi-cuYa4T)XE>>McQxn}i896Eb$c)anB|X%>3Q*$jfmVGusz))N0gb7 zYW)3H*MZ!NHBWOKGA9}oW;ZBCZuAMfF941@L~_gAOD7fHohly({=6t8>mYaelZF;|A%I1i-#u&$Q}ZFG$fNaAZ@jW`Y`)`glg=5m1+ z2Mjj15H@ahl2Jzl<{kw3M@k+SUdfr`gBk@N2swFKEu^$iQb8%6R-Pn>au*bg7vEc2 zIy+(`UGH9Dx(IGf3D2T70fyS1b!Q&IiyG_@iKFX z#JwBZq7wduMcHqlP;Y^_U^G*%q9fZ~*$7of7F76B`l2(NOTldJqVk;3Qzwz1={_{x z{_>$LtSeP^r5V_hrhBSKjYG}}2-F=7^nAcV)jfh&Bs?gHj_k6J8`JH z1<~aC>F{XKgLC_RO*DJFVk5Y%9dk;W4&_|TQa@M%KfYCTx;KThZM*17Wpu2z@-Cya4cx$gG-q6JSs>1RR8mAtH2huI%Uy(F4(EDMlB!xg;5*dSTMpy$EJymYo# z#K1oQpj}dcrIUah0->v%p*2g_m7bcNg}kxwK7$2stAy;MlnC3_QbZe}}o-kmJi?5?*uYnIAI z>C`mZu#0jd)q+YOe{y*heUUbOZl0<8wuuK-iX1#MeWSqKYr}Pzmcx`y)3)T66)2KB z5I(ssT!$YIs9a+Iav>p(P!$FVCv40^aGOxE8$VuLLwAnE)4{$>UWENDmey>R&8IlOSyhLmF z{A}zHJKUFf_yY$nUD>sT0dpm(nM=GvBwnq^4Zl)BO7bap9>b-EKd_WXoxcFHc&j~v zhC&ZZdW~kB__7Hvc5)-;nk+*NQ#1HSf}WvY4;w&kqw*SH!bC&1WXn+Le@Y;{vCHEg zB$?R1DK@U&m}yl;g!+}-IbR8%?Kf18Wm-N9zRue_cQ1VSINVsS*%t3}_WY72)=@Q! zv)c2M@zlUs5ssJ^m?z&W1yr^M;^|s!ZBFS(9o2kY$QdM`v4(!^ld#6BZK6<*zsj7e zo}yu07Yru8b3Fasc{OHxM|X2oDKLoLV0>cJ(od9b0vJ{_upH!G6UlHhTDmFPJ-t4@ zMS!^SlVDpwxX?2%JU(nG)G?x4jXm2}eM+s-ri|1F#>!*VVL)(!mnWZ-o+jYFAeaW7 zQgfFs#72`Y!h!p4hh>|xj?&%KVf*P*ZqBErNEAhWpd^(%8MoU}f8f|{VXZFe27OSF zFUYjt#q;EgQS9KP&j6c5r(9sgfSE?0<+e8pq;_OGT0(^wQkBPN$>|p6_BC}<{}|Xy zNDz8txJeP#Ue~ygqkaEEeRjSmoE_5kgL7b6`x{|^FM1r*ysw}K$tDLY>=rM@b7Jg^ zO=UkuupD8%6c$pe!t)J+{#sL9hI~@Sw`>%=D1jIpD643Ho*w4aL-Ctkl{&Od&}jwo?I+TTWx@Yn)4Jm0vx z9UyRsso+W{3VHWd3{c;T9Bv=SR%47tV$7dIln^BDGc@Jtj@pRCtnFB_c(Y&G*CEIa zfIsJNY-ub8uJ{|HtWMu%?I*$eX-X#)qOh_79L)+WY`XU+V0^E4@H5c$MoAAhwkGqZ zJvY6BgtjmHFS(npp-hfm&AAXZtH|q7Fp(}Yjh?=IX+*LvO5IYuRL@T`<`M+zzeIEN}Rxk^MeH5*}^d)dXj`bYDq#6dCb=a z6RmE-Rqkt@sa$&^d(Y#w4fVTr`tivL%w6~PI8Ww5w+gaI$8QFSgs}#f>*IRC1n$FX zw4#%EnaYg_)I2?~b>o6Rm#pbUiv{ zuWxt?e0mrBP9^zSOrHdPr`98xQH)70pUp~ce1M@5t7m55wj25})4WS;v05mMmcQ8v z=dtA(+=$_pv_xwU0(op`Oina*@rF2rktd%Il>ufncG{WKbqrWClUcjAKnm*)(3~gk z`+wS1c;tVm4E5a7>%YSW7C-*(r~9`>be?|B79&Ga6?>6aSki=b+ey(7t9V_lsm_i6 zRX$o&et_KO67l6+gti?!eS5TA;;x;Zl*rQL<7Cf5MHkN*yL>6}@ybk3I3?Di&qtLW!oQMIW)ceLC?&Jx8lmcls+ ze-@N72TdUb6UfB#&J!xqPqZK0KyG`JJcnIuu&h*3+OmV@Ol+M)-9Gya0iMLW{G%?1 zuy2N|ZZF%i?e(sR-l;Zm5$OOe_XqR$YZwNzD|1TZ(!9HHV65EQwk$agvC|8F1LB=w7Nz#ifuwbxbEV61xC51VKd1 zv`mW2PW9KkTr$nI?AnyV#5n)TjAh;P#iBO$2JL1mF1fcV_^?xi?Yr4k8v?2r?b4@Z z!3Qx8QQl~U6~ES5aR|}kJPHeAMboyNM;N^KO$+Y?q?~~MukR`%-}_XN&rMWJii4q9 z@1hUEyivTX(9OaMA?jy%`lvnYXkL|>O3~JgpLf@*s<#%^`5ir<=eUsM)UQ?bXbq|UK!U{O|pgyCjVI~Y8FS>DK}6mLds@Q>-E2gFw`p;PPJI= zyK5;<9r2NJVFWvMU5iw6PIApszM1cJyI@1Y4_NFcvPohD1C$9u5A(SUQx65ukm+l9Jcr$EL(gj~(D$DM~YHs9AsTi7GoXUnX-w0g5I zRk~4Vt+tH;#d1o)=B+KEd15iDZY8Co;)X=g&Z^_@%IVT|OVrtu?d1w_JlPLf9mckir|}cVPxg2b*-wj|v$Y_05KKn~^;u8S`G`b5ULrC;e74ah=P?~ScaR^v-d7o7}=rKKczj;C%Q7>2Y(#6`w0BYD1t#f>4I z_}!pqd9FF@?SZJ;=;->bttYnuC16F6c^W91-FpU!qQm0-1L;A77c<2UT|A~oU&Dr; z@Otg%1ZTwJhr{l3uS(gJW^gOUyr6j#84;%b`6VjDJW1=zG0@@O29DB}5qaPJDZHxO zs;k=bv&uZLAg$^Op-PVRRccoIc%akC?r?}Y8!BWmq-4gYZ+8g0GiM)$0wR?7|EldR zU?XYT1WhxvnVFfH+SF!dW@dJonVFfH-DYOH%}i}(W@bKrGym?+-pt*sbULY|%B+f{ zsz(u#8E?Fg&y0+Fl7MKIVlmGbpp0A;eb@`xdD64JEbS%4rs?fs{IqKbQIiTafFv8G z`-GjU$+_h6eW{QQjC?TQB#0!gTc0K60uKrB9GD)@wE{> zZt1JAe5oYzRG5B+TLr5^9uAmeT5@wJ&ZbGa8UuV&JpNB|-4$1=61ut%z9SuTUph48 z^`k*8%;q+V%UmXfKB6lzFXF(Pc>=288%53aE{UXkt?{P(%@4stdAn#}&T>cNa>5F{lrDJ}MGc9lr+ocA-Lk-b9p703y&;k;jX z=VpT4DqnykI?XLtEfFp~mq&yt2_-$+T=*|_Va;8`K|_24$0~cq?yl$4SNdaYg9(Ni zjLb4VO0|*V5plcN2sm>UYph-aaU1SmzcAZ{J?(M4ARN+#g=NeK$Ag&-p|z(C9qBED zTD=-;c$|XQA@h0>vHr~0Ga)w(XYUy;XQ;&wx1c#Xh(nT#kg|`bA63V!URT67f(<(O zGaGf;iEhm!OFPNKdlg!5Z&$|b?OI81L3_(&+SP-dmS)pXD9ty?KbQr=>F(47un2+o z%FBuN-#e2yo#RQl%3+xBK$1v)JWlQf%{6F04IVMZuD>y89V2=NCM%M;%+@rlQef>{ z2v{U~=VAGbm8;X4{SAUi^;4pLK;)nv+BW(zliefAn0f!{4tGM!NQR4x&OovQb!8zW zw=7!vWhjRRH{~fAq@a?eLXwWy4fPveQ>*fZIUokcv)J$;W^xij8aOm0p2tMLlbM>@ z2kMOoiH=fG9x-#_f$C{E)G3gpDqv|)1g}wutm9ZG5%0p!yT;+RxzgT!49$mdJe`d` z9bqNs_rOrb>GejsFINl!e5kKx0b=1wQ(Dqm%}5BEg~o5BAnqftp2YA|O%`<4le!fZ z(}a8WAh!DeEm^$ejsWu&cFsGT(X!Y;akuh(-l2~p!wR2(t8#uYLD zV(zFnmfLH^(90Vz&A7oCO)rdF5#QCJF6kN3F%d@FOm&}nKD3mkFBpuJwq)+m_HmPO zj~F($JGLXeuriwvc_}M1FYA=)Okq^3aOt!)zg*6fg^uRc)mc; zLmjb7=d?%&&rl6BH%a7$NM=VCSJ0D{jOeB)BM=`Sy&{?s)1TnJ$9pofG6IW4paqYz zTeb?#T8j!cQ!&qZqRZjf0z;fbw01x^?h80Qa7@uC)E1U<{d?%Zel*3ME6&>gIUCbK zyUx~)p}O_>hTY0RS}SjVj^Hz~D0TE<;n28SpNY6VK?EqxQ^?lwmalhfC#1F=yRANz z(nIVjZymKK84Oz8UmtV;c~=NfhYRhU^dL(Y9Bbhq7_+^5Wn(EC+i~JiKdJ~v_egig zE()2SZnjEQsT`mL2`gJ|@WnyJ6tdXC9$Mi(^LZd9k%-~A~Vv3%8yl#h$oH@;X#5=en1O3ocMmVi6I=3(AoA%f- zNjKh1{0R1W^_b{Cg6XJt0QZTXJE$hx0tn_%=sg!pC5O@#v^^DD(* z8|~)i<}=SYbiYI6L7iOrsU=kRPU zgQm(_8;4jhetT>nQVpe4%qlip!LG~+ZJPXphyPq72ijo5q+OmY`@ElFFq?Aj)0+yC z!G7iM76(Z-Uelxo3AwZlVRo#5EYMj|#^Nnkxx~Q1no}zGs+RY~!;xI8CH1E^CWSyF zL(bSMyQ7@v9O`G-O^XWlY3LSnNC|NA$gaTy`j1WR?_?g7HGJy#^W_*(hTWd6nzA|% z7DgXD8;I^U_Zni;Nk-39uzM5X1KLY9Sq4av3~eXfneEB9`(YQAxI=7_Dhqy&(F1cF zQv@8CqZ3cMcjBY>K`3r?HOV5S&(51rZfI81xu+W9JNVaVwc^oQwJA9Jd#1w8EfW4~ z8%qnycF3muJP-VHGUakTo=-8<%mMHxKShLFA)~iTdA< zjFOIcbjmNKIj2jivEW?B7`@GvjatRnr5kkEq?SA2wfr0>UKN9-UEklFF`IcK07372ItIW-S zQu-4TV&tLxnx7nlwuY03)Cwf5CS>=c`wPB(p9)kPB52+Foy+FHXCT2D90<6YF^=t- z33lHCF5rXR0Ysk=!>qRQY>xxz{6{SSSa3U*#ZL%WKddP+bMguV|Dkz?AG}XHFBX3) zwpol(ri^BNVHF%U5EQ?`lA7{Ug<>5a>MMH*%*t792smwQU@ zYWRS^iaiNo5BDD^uwRGIa@qWLstGByY-#yEhqD&1hu2;7q0pzVbQJuT1%bUfeNSxG z^}lM{0<}M3!ycZdYI)It8~p{dI)T^;wP^9-DBqdL{2soBn4fxL_kBSJzt97|=Q`CIX zonCE1IfBu~=EUBujDICAy$6e-+$%u^v zT6zfJU3|>l==58CS9*pcp@4h`U#FS+$|9jW6*D0K)J141G7d z5+Ia|V_O_U{;Ns+mxz}JR97s8gQr}7ZfiW02N#0I>MtEV>~H@^up%+rFcr8um>&;`L8HL z+KI}Z2CnjA8(oh`QQi%r?Er_{K)SfTF2-x0z5i<#s7&>anZ9u~XSYu5aim&8Co{7s{LVRK zo!T+S>OnwFaSJI`{M=%O_yKhZZpC4Un*40>e5Rf&(xOKho*fJHy1XzVbqyECY{YQI zK2!EvPH9HVeVUVVDL=-Kq3qP=td%o6MVgI)YfD^q#Y;Xxx5^Nz2ThVKJ;sISZFsxB z3YW6-@Oje1$`esC6_*ZeO;x$ZYt;xaXY}n;;W($r6&=kQLK|F;b(U2myUz!Cy!cbh z-D2=qyqfuL%V;7~&|d}poFVH2%{yiS_W-jZx5|S_pog_`x#QcOxO>nzMQUEYgO)zS zv~>NowC>AGjY#Mh_XSeeH67MS*L>TqNxt$hW6>)qX@h92S~-?W^OZ^q=*L0Tn8HQ2 zzYrFbVFT?-iaMH;70L%W?w2|3F=uM0E1D?saX%9Ueg|bRh{-i2zzG%a$on}8g?q#Z zHpQ{{1LU8zA{nPW)Vu>|T&EG2QM$(kWq>unWO}*lV1z)x-vKLyhJm>Y_XB0KAo{{M zHja@q>vVKjtfZM<(XpSDRZU`Q5)5s(l{IMHxG;iX+H{0D`igy%>KZjyH0Kv> z6(t4hMQGY_z|c&`-EahZ6#ahA6E7wmABoP%pK)x#-2OkCcI}kJ1fo6f_&osk(KcZf zZgzT*&SG=PB#Bno#zZn(pfY-IbD-nzIt(Iha8}|-`%;T`<4M<&T*&NcH#GF)T{=!@ z$Sb2=r7IPCeL0>LHJiIp!8&%!}uKjiqEwno>5+%J-7-ErXo_{7Ptt<4 z(&4i+2$2SB>!5_EdEzHH2#{1&JEdwK>lt5i`ajDttFDIDo*9EeW`-Q_*P~yi&P}R^ zie0(5=UrD@5ygGf4dQ>J?yCd@1hR2ORF zj$*H?f9z9K>!$1qA7Vb~qmGzF+WqDqLH8GCrIsZ|@>*rYfZu|>*w3xOlJbD0L_q3l z&L9S7nBx7?XdEHNF|x*SwKRgu6MUw!N3KT^0=Qx;-abePg%oFQ%kB#qCl*bGEleXA zWOqqt3aLmyF{i2&hpwZe$$~RTI9Hm&@7aZK$E#7k(NB6Z^9zQmR7*?U{KWJ}TSRI6 z?w1a6cycL|BFb=ws{90fkaHSbo9;g1%`WO)8J3Xi%(r`kLQS;ZPu;}5(8Y$w;BQw)bMGBUUrA2Qy)+01V?!L8ze!Lzo&m&PMYjiBy;9=|eLa=}24 z8jFm8mON)xn%r7!KykfRg~QXS9@%^isTC*Xtx@Zdo%|Y*j=I6J6y*9;ivAQp%IPa- zHq4?gwg=dz8{jKa|DaQ@vV+0uS2`RUj+EB%*>zL`;zZXd%D$$SK`U?IFWo_EnM+YAh8>J|Po zm!t$cycxTPl5GFF+Er=7g9~-T5Rq9=TI4J9N*+m#wRJLxxZCW>7deE|F<(q`{<~CN4m&cxhxDqi#D@Wn zFOrM-Pvc7AnwQ{yo{9iBhLX}eKo>L`aTOY&eh-OB@{=cZ06zq;!H;#g+ApOZ%#P>y*QQ>M}nPvbW;L*QBcLR83IHDUZ(gq3#!_gArqxm)zQGp_jKG0Yn zQdkZr7^{Bs2|GkA@?VP|-v#fP3{GilD1@qw9vbpCt(pC;b+0K6M5H(<{x$y7j01#8 z_>`TjE&UYIiO=^9Mb?7XDEyv8*C`8+?H$n8h2k^@7m*aurs6Jr8hmwYgj@VT??Twz z8pHQ12)NsWH*T*;e^=#bo?9gi1}UBUq?(XqT*g4wmfj`_&T(S(i=`FI^e=nAwE2p}eutD&unY6&4%N|ZpnFBpTej}aytazXrnl%1$kzoyq*XU2qtBw1mRni}Pwtg+5 zqmDfn6kMR8Xs*GsVC-zzKkab^Bp9e!@CW=QJ`W%?Y(apk?q%3YwB~W7N02O+!4I;2 z96^}DNS$@Sh|Q1Kl9y+Ot9kH4i_xPv(so;j)wQO^PvWcHL#9;f$&r>q({i!mjRm<= zZHkntm6PC;0mzheCE)Taa~rUypL(e7gz^#P%?+6w1N>thlC&%Q6{uVIlC}lTb?7@1 zr?yk$ADCTs6Fjt_ly(ZFAcXlKL~=oY=HiYM!`H@tEKdbd>eQg(`wrDbBCGP)Fe#s_ zJ!he!lj)!!OdbjyoxRkSJR1t|ZmAOWKu0KXW|7SE(D!!FWUnLkGA=Jh=IBb-Y^ z2ej$pCPL=tk_F1P??=_e_3G5CLG5tO*%H7@{|sYjeSJ%hIJB~GoTVmxE0^e}BkeM) zuD4I^W)4ok(Ej>s@>qU2qyCGi&-+&|sP>$$!ZUaSj&-BeR=hk0+ZNg*Nww9H^GJCd zgac_1g|I!Eq9zXUyp&eeCKW;OcouJGf@VB62cf3q)~%~M9U6G4-4PoF2`X&ch~Gh5 zFi*NmUxGy52G}gg^+M-dMy{w{fkxSS@kK32*8`(5|D1fi>DN6^i(F>&daR(VYwiag zaw6`cTgDb#tX8(QnlzMzZ@YGuI((5FyWA&*C;P3G9hSzj>99PjHzlet)O0t}P53%F z=bw-N2EX%)6Uxk7~ z=Z#t$X9^7jlwx2O950IRkhYBKO9qzi#U8SY89Q+AybTYRKlSIBqa2yW3~=j+cuCy- zzc||_W*i{_=j4TtpJ;Uf!2ZF)SwTI$A}4O)U_;q%IZ%!+xrPs#OX|F4Q~2MzoM6f=p$HKN-)Xv`_;JZT>_P;n9ZAj|au}aRfw$sxW95 zIXqZjh23xt=^^XQT967^@6-blx$MT92Q-P(?|s=?STcsQ-aZw%JtQsl9VHwx&&dfB zl!5jL%iaRSs6jDWCyN01<=H-#S$!S0?{HoBaVV%IMYuCx^vd``V7@+i5bhFs+rcf$ zx@F;Gi=ujww&gI&fXWNf1?iBxsW{kWto(6_x7se{RrJ@0KA&1&V?#eaXZ{%9i4RR8 zQh(XfrQ|p`7US&kPhKBFq;Pbj&4qEqlUl{YI<~d#r`Lx!m+?w!iWOPN(HDVaKldd! zX|PCU0qv&QF>^KC&Zx=3E{6DVQWL1`Ejt~q} zYbXDe_B}3aK32ic+R_(1yvF1|?IqmqqjTifNQshIHkTSL_Eq%4rZoc}C&XgFQricQZjMmv9lV zCr!1rkKS=nfcX(v>nAiny=Si7l`OOnQ$v6g8PkVVMAir)uy-&hXW8wp`uI|XWX2Kpvv2ySYt)iyE7}vY>UO9P*?*Q z+akE^3R~7xF3{vHfUkNiAznvi&y76Hp1a9L(G+D}LNEXtIa zO|w$z@GyEjQ?kBPW`=M3&?%?XR z9`t`gaOK!s1N;W88ipGqgq`P<%UnVO#B3Q!mgyV-wMCKL&1>j4ZV}$`gQ|;xIC%Qe zE3rOvMuX?t#Rk(F1Z?c=go2J;obctVL;^KOIhqE%?(-YTeCmn}oH%MY>iF`xXj+Zx zn5E|xw??1c@21BvT((>yxx#$~cg3?WNYQY)S;>*S)th-tJ{|a(J%V&(;AKmJ7G0h& z1Q{P>TOsodU|+O%O+Va-66pvL9a^;ijkAltzNN&9%hGPS08^vFEj_T&X@qIHaH05jID$@>5;m^>v=f zsG!fWU$<+JGB0w^+tH)321&*Y?O#d5->X+7ESB`(SKXm5u{&kOtBM*A2`55avT9YQv?QLmgMizP zJ)SR-z@+^E^LL<#1DQ%_FwkI^T0k1|!QmU|<2|2ccm#4qd>Z^N>+niZint!mv# zj0l@~xCy+h-=b|-dB=_26C=4l4WcF;FrauSwaf&$LXMz+PPG{w@jeHHml&!;&((NO ztcN`X++mqRyP%6Y)vHwpmV&Zv6yYrr!(U-vW~p&_L-_Yg#l_^LnoD2ZycUziE{AZ+zfI$JKKo+U?#Q|YWkJV$fqnChD4DSABBLvET?cU)k@awiU`cb>RLmhi%+Kp zfgVi<=*>P(4^ISG^{jIsi;?Xnrx@X5X54bNyLP;0CQz__TGILsU-rRteJPjQ*|H-j zz1Ta=whk9wJV@T9Oi$!Z^qu&-j||vz&-(KqYr74__Py|#j-XOI@cd~lZ{JB$t2gZq znbre~3#E=X(69okh*Yip0gjPnwVP3`Mq2IY4>unC$OZf95#p&=G9Fo*3ODKmouJat z%ckm4Q`%F1FML(o6#(uEgHaHQFK&616^>v0SfYWe1~|BMS9=Ol1ZX*x?f#Be#A7Q* zVJEMof-ygw>&8%k3sY`|n+%kwuts#Hzy-vEiOyp`aV`cCp68&9e%!Y57&+r@r4+?$ zZxJs50`97o@MZDNy(49$%ctBEONY?s-plU{1^)QhzB~tuL>_Adoot_(Turvfjy|Iy zk#UatfYj%Pg3)VrIUwN;UJSjJP&o~mYJ>Z(!#dbfdV7`5$^!n_x7=?oYhR3p4M`xp z)ozwff22L8>IggMFk%l#)ghtvlXWXmc_FR2#Uk~TvhHi5mw@6~2SW~ncj}y#0-%6k z1qt)CBrW`~*D$$jNm$B8Y`Bb$j^JQ`Wo7V`$;I_{sVoZGPzW5-48^o1#4F|1yl`h^T`AMV!v!kC;C{^H_kqM8Px_)#P3|B}Jz zR_T;pA@BN= zagKhsUL>TtZ-?S-JA@D|>Be)NihBmcaU!$9uG8={)O_}qzta|^1a|UGk0X(46o6Z< z-E~SF4Y$gN-|W=@;1ZY6UW@c=z}AN7hmt`l&fLpNrLqBnP0}aCU#v$X%mj!2`(tL! z`vFw`iH(f%Ma5QJ8Rff-3m$^9istrS4@Qo`{vNT@XXHg$wriM9BD2e~i%NwBmgG5A z3@F-CT8bRplI%?!e*wrj&>8Rbi6Fk;o5-h~UA=_%*W_1Hb3pXhy2#%thBFFyVmV2n zwv|c9^?eWWN-T8#Vp7$==5OC-*Bf>lh%GO|f}5;_31^H_OfF&415D`dh7t5(SiFN0 z7Q&8#$xMgCM$^V4wg)E?JZ-~39xLfI!vh#l-2(R~A}lMf^qR${dm7^_UIq8&ekDc$ z7dGcg1`$cFs7xUub?hV-=B&~DW?w~->I9bCoY~0sxy5|Kf4nG1q$Rx3)HwF#+rw81 ze}@*0GEbw$v-nko(I&SDg@Wf690@Xfk;_81>TW9suts*pP>Wq^S%mbS=5UM|$XLQ1 ze*MUmme(EoqnVl#y-D)a;6r;(uh%kNEcyD-toH z0pS>NjkI1av=Kvk6kjl}3eD?~$LV{4i}5Sxb-4e+gKO@eOQ-G?Sx<|p za10EhXL`2!vrYVG3OglBPk7z=u#0b<=g5YEn$e)F8hvYj-xJ<2ko?)QYQpQ z)~6*ejGpPt3+p42>mii>7h{zn6-tvhqlO7=V}S8*p>6?}7M=Wwp8|vlbEmu~pJq0h-=|?cR&ff-JecHWegSwa= zJ%H`R`VGC3>wkCyfi8^3+b=EeLVphnuB^2py}mEB=6RrO-?brLvsGq?F&} zc3mys%ETZiG#Q(YMzmuo-iu2g1YzC}?CByK&+6EQYwU4&*+nSIia>``CwIAyj$^G~ z;4I7~RhvKt6_uiPKRQv5I4%XFP+7Dz-ROATcGr&c<1LBF$!;sGi*vXYla|~s$a?$z z*va}yYdP%u$~vH`hfsO`k#>0(er^#u4ML7(O(cIU1LES6nmdsRw6sV$=^(sZSOymMNs6;fuB-*tnlplwLa8+rLVAnR>g zr1@kT|4-V4bAI!kv<6q~DeBN?+Xk7S_|KW$QN*2*sR_A5>W;zZNp+E0VQo zS4sCn4Lk#;3d*b3Q|qoI2tGt*c}(g1x<2GbY{z;Y0nTlLJnjbFLk;(WxVn<-DO13l zW@rjCiGlvsn#dvnX;w0W2}dJqc~7g29imyDuB>FjqFu#Ket%$Fbg?ei^!140Qo{7W z#0#Ktlt&Nv`ScOSi*jpP09(+#qx++V7kr?NVK;Dhv%(L5F z>Avepw@=o!tf!Qw?ONGkW8Rrwb=Jl~=j=OeQ`nzm)k2w7ltHc#w>s@R_c68;d_T zbEI_VIgLELf6g0IZ9P4(xER;STTjQGUOtEwsJ`-M3~f;IXsGn=RTQdff>m*P*C-yF zcGNU^^W8mv%WvdMgt>6FM!m5#h?vhPGauT&O=f29wvr_Ol(1MO&4{S6GA zRz6t~oT5RvrybmdZ)V_1Sb`&c7>YpxYts|aDPHz#sLLN`jc38Q%`c6G{D4C|Tdf0h&HHFDvXR%Xz2HP&crrUo zh~MAhfFS>__kagvuUjY~LxQg^ogsvWRamNv|H&fe71i^HlO_<--;aIorO5svmXIUj z$q3&h5^$xTc=x{yrTELG36zg4Qpk%J6uI|Ymc8kIMl1@Lo)U)nzCgJYxGW3aZ}7VKHkf~{!j z3(fF@UxC(MDNA{Wg`i9LnN<{VTA!=lIgZm>3$1aLMn;-LQGyr+ z{^N<;?tI3!30c@~h~;iGir?0U=Zf5Yqia>dkzp{B_q&(0B5`v!BgVmDqNXF;jE7%U zWy4#YLom>AR*{W2U{goeV#BhoaNS(B$oLgt+PEV;1+n|%7CzC!dt-2Y<3awa|_NAA1tt~ zAX0y?l4S)Vz2ch+hrFx?=XMew>-;ulv&qRiFb89d2@vU7Ze>Y zF1v`2P^gIwO+=f&lF>;3H-4-_?uS}vD zNcKoYPGqg?6_YRkD*N>7VUM>VK|(TiPIrIxvcVVv|R?dKi0~6O!3If z{MwN1wMv+xD;zPkKXH_AQ_iakj1vpkP98p1Lgzt4Gm=jD7{pC`Q2|+rc-ag3&}(H` zKEdEVR%-C|o+)GI_m-BObmo@ns2(W z?Pbi!ksPi!UB$a|L@6D!`or9ipW_fv?*Uc_S{VsYTIGkq=(D(#UfcY~8JB)?V`|sfIXlGIviD$mSvlxsF6t5_cb~-%`uao5dR-I*I2+`C+$w%9n4;n(rf>YVcGhg zfGwh>D_f0)pIxcV_7CTPtrTvKur)6&>r9WO{Njfzd+Cb(l>FPy)UoP*5k0-eXNM+?2uaO;-*Ao)}$9Xh*6I6@Ltc& zO7pQhZGV5A<;q`C)sQz@RJAju0xmu*Wr0ibw`{DHo*d ztApAtGck%2^Dr8@<^oNhNanb_Q#Q^1RZIMmrzsSL zf+8)7m8IcgSsHUKjmVQ|y;U#Q9UczRBXhf`e6BqG1$8W@r+uB(6_xaD-jl-_n2Qvj zNzZ!WX{3uDrqMrhfatu%^d8G9EnpoYUCEvHPuClat4h-wKL7fY{YSQYSs*v#<1A1# z`Srxe(ejdOsTa#=^quC)OtvP{CEniO!(pn;KngSTBY+<75dKryBkD717>gBikd5uo zpz)h?*ry^|*0gWVO-=vd{H9?7>zi{X*0iW^&NaR{$Nax@j&j`i%{lu&oS*$W=Q!V- zLws|t_595_^AhdRzj2P{V=M9>ICnqsY+rddysjGbuEKHkR&H+=LjQVU!`|Xnm&-h6 z5GOIv_%AsBjxYTGiSz$ipZ~vb-rX+Y^>YqQkm zsu@F>QT0hdi9+d>spvJgK`_V*!+j{a*mH6A7qC&54X~X zE2#i$hbHjQPsfio+f2y(%i^Scbq3 z5?l$6`m&oR>!Q(Nn7s1`?`C}etwR5+R$Y_H;ozwvvbj-wwuy%dg+-TI;3!5d+Qo-2 zD=Xc@;jFXi>m+O5oUEqQoXqVSI`%iM>ROc#Ye3m z<@np5<2(&xUp}O^{(knS%t*e1E+B_g8eVvUebZnhp85}fo>U2yEsR}%mTzz<$mS1x za=$;+8HuuV3@lrHmX&c?e3iG_xjFz~gb|L{LH&j6aSGg~h=KlL&OlPkzjjj!XLuq) zdMrKVg}<6Iw1-yvzzM4B9>r%erKEsulyE+M)H_jQIHEdHWAx~|BWpmRcb+FV`S~DF zDEV>E#KrcMWwjkuXZ)G`#8SE>(jngZtBdn!y_PJh-$x)79sub}%`56Vvk72EN{-j(zA9v|EzHs^+Gy|i7h?U_IvnuCjmCBT}Ot4%yB6a;Bxh8 zq!VWd+G({n*bV0~8X@_i?HoZnEf!9@%m@@?DvR!Yz1Jk&Dg_|j3co$}gTIA1>ldFx ztGOF&^-@dcJ@1CK57YDFZueqz2OqW08d2oeJ9hLH-tSVGdyG0kgYy4^^Z%G{RNm3f z*xBe?(M)M?Y^rRc{_T%uWu#|jrTW1j;Ot~>=SWG#plsn}ZSwv8ZH@j%AN{=~^sR4p z`uL5Vc1asp15AD}$SaGe(~CM=TN@hK z+WvC^%H|dT!td9=UkELss)-}u`_P0e^h~TwY+TIjY%Fxl^z8rR3cok_K6hyg7ZbvN z&Wb_Y&c?*h(ZrRC(8}Jx$sAx}KipVc=<4NOrR3RyTk zLvhKB#TihUS!9K9RPl=NuWlA8#S*VbxTAa-IJd!_%k%4r^pyiQ3%@{65>lubUq#Sx zQ4K_R(xqpTU)W|qp-FMb#z12kh{jNwKhO8`l52U%epv-SVK+jfQ9`a3;01fILkURC z08fd1Cvt+-nL*X19ec)btOpZyT${&^ax?~xf|~^~giQwS?~@Go0Qubvp$xPr3CS5W zO=zqy6#0q^;x8$>w{VifgeZYfugvOJrsNdf54s~QD>-4+PD$W<~ zLv5cbg3V?&1p)A%9YMm`0AmM|+#P3E3|-?$?LCItg{hut^oX|?Y7%&+BYW)OBIr&; zOnul9qq8C}f4X*%l%{1Gv`TV1Sw^~daK~rZMRJm`RO&orq6m1Hg!QoLFRTnZ$%jl0 zpDmsd&aDi+t_IvB(r?1bzitl;Uj?zTd}vm5>apU`giPb@!sH@C#^H0Wm1Lg~^{xB7U{b2nS zO0Db3Fn$~1rTT~8y$klV^mPZHSxGvfU?=KhC}!FJNiPaoAc{}IE0KGrS91-a5j40s zXA%8(qW2l@DV$m=+Nv>y#UsYr+RBZbz9*lH^#~t)Oj%do_GIOIDkfg^?&*>xI^C^> z3*N(?S6%Qjwi{kG-`5Sra_tqZ$EeO07wC#59|3=3)5R@}Fj)vcuZWWlTTKJL83ZLXf=VL>UzBTP=tl zA42-km8y*!dO%}X!E)dvP8Y(Ab9FXTv^ZP|QvG~_^`GLZLfpnq&&Y2OJ8kh#wdlly zY0@44E9YXo{jRcx_(ZBZ?nEy+T$D}okSHB}C~tL;7vE7exO~i3=5VDs?In4qdOVtz zd=~OSR2{rH-XuopX@?_x?=(l2KD4+w?_IgXxY!i1sFM+eVx^ByD*MRFwq*O| zAxqLBYCF6HKrB0ra+hZV-kS;$le)K291>~&eOsVgZ#D}e79;mP?@f+Bw>WbAdwju+ zVlB|PT`=06l}=!(;>~Ao10A`UEZfY8G%HWXu_nr5t!ZwX9G}itYVPE>AS1BtPYK>; zI@V1*m06zXr}`5f;Fu26WLiFdbl%6d^ul5hl!mgr>>apBb>+G=nUyFy^&!V*=?K=` z+6W!Hg*132*5VJ_hPF2T^Rteft4~3KV%7rdns9U&{E6E6vi%HS!7sJ zE1f$f`eeurhI+Q~C_JHAdws|A_D+#mVvhbJ@zrEvr|?|AJI@+xY-;C3Fi#d#0+K;g&@omUl@~{YVHyvyf0x{^eb4Cw z28+NG&|jU|UQ5dkOvImq`jZzvC*!5KKhOjv0JQ-Dbr9zbOa$J6zZE^+o(8lP{`*4A zWOu6?fnh${ZEl!S?+dp?L<7lpdESUZ0T3v6S+_MW!A5i9nWAPhnvbB`ZIt9Yp{NIo z?cfW-3vpk^<^ogM5xBq;q~eQH>BYA=tmuPMxzkbyQ4y&E#-YB@QdiNTUXDm#j;u?> zEbN}8IH{XzbEci29MNUBd3eLVs4vnavc*_l?a?ss;$0`Q#s1-){)~K2v4ydyS}U$o zv_J={GnpB|M5Qo&+`)-Jtlja_s0ONwvChV>C7@STI9BBK=R<iviJMv z3R@cP{i{J0M~m$5&6*MX6hEwZ!KjC~EqFmJhp+W{A@skn=aN#Ku&T}%Q|hFP5@JXd z$HhGq#dB}IhW#R2OhzZi9Y^Moc8a58Xoa{KNY T{a|5X=HmE4MkXRB`s4os?6H|u literal 0 HcmV?d00001 diff --git a/research/Internet-NLP/paper/main.tex b/research/Internet-NLP/paper/main.tex new file mode 100644 index 0000000..e0d1fb7 --- /dev/null +++ b/research/Internet-NLP/paper/main.tex @@ -0,0 +1,73 @@ +\pdfoutput=1 +\documentclass[11pt,a4]{article} +\usepackage[]{acl} +\usepackage{times} +\usepackage{latexsym} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{microtype} +\usepackage{xspace} +\usepackage{multirow} +\usepackage{url} +\usepackage{booktabs} +\usepackage{tikz,tikz-qtree} +\usepackage{pgfplots} +\usepackage{amssymb} +\usepackage{xfrac} +\usepackage{graphicx} +\usepackage{tablefootnote} +\usepackage{amsmath} +\usepackage{enumitem} +\usepackage{import} +\usepackage{tikz} +\usetikzlibrary{chains,shadows.blur} +\pgfplotsset{compat=1.14} + +\newcommand\BibTeX{B{\sc ib}\TeX} +\newcommand\inlp{Internet-NLP\xspace} +\newcommand{\eat}[1]{\ignorespaces} + +\definecolor{cred}{HTML}{DB4437} +\definecolor{cblue}{HTML}{4285F4} +\definecolor{cgreen}{HTML}{0F9D58} +\definecolor{cyellow}{HTML}{F4B400} +\definecolor{corange}{HTML}{FF9800} +\definecolor{cgrey}{HTML}{9E9E9E} + +\setlength{\tabcolsep}{0.3em} + +\title{\textbf{Internet-NLP}: Allowing Natural Language Processing Models to Connect to the Internet} + +\author{ + Thamognya Kodi \\ + Ruamrudee International School \\ + {\tt \href{mailto:contact@thamognya.com}{contact@thamognya.com}} \\ +} + +\date{\today} + +\begin{document} + +\maketitle + +\begin{abstract} + \import{abstract/}{main.tex} +\end{abstract} + +\import{introduction/}{main.tex} + +\import{related_work/}{main.tex} + +\import{preliminaries/}{main.tex} + +\import{Internet-NLP/}{main.tex} + +% \bibliographystyle{acl_natbib} +% \bibliographystyle{plain} +\bibliography{ref} + +\pagenumbering{arabic} +\appendix +\import{appendix/}{main.tex} + +\end{document} \ No newline at end of file diff --git a/research/Internet-NLP/paper/preliminaries/main.tex b/research/Internet-NLP/paper/preliminaries/main.tex new file mode 100644 index 0000000..e69de29 diff --git a/research/Internet-NLP/paper/ref.bib b/research/Internet-NLP/paper/ref.bib new file mode 100644 index 0000000..e69de29 diff --git a/research/Internet-NLP/paper/related_work/main.tex b/research/Internet-NLP/paper/related_work/main.tex new file mode 100644 index 0000000..e69de29 diff --git a/scripts/for_folder.sh b/scripts/for_folder.sh index 1810742..bea828d 100755 --- a/scripts/for_folder.sh +++ b/scripts/for_folder.sh @@ -3,6 +3,6 @@ for d in */ ; do [ -L "${d%/}" ] && continue echo "$d" cd "$d" - touch __init__.py + touch main.tex cd .. done