diff --git a/Makefile b/Makefile index 96930d4..4d267e8 100644 --- a/Makefile +++ b/Makefile @@ -2,14 +2,20 @@ markdown: dst dst/index.html dst/style.css server: dst dst/style.css dst/index.md dst/sitemap.xml + + dst/index.html: dst/index.md src/references.bib src/template/index.html dst/style.css pandoc dst/index.md --template src/template/index.html -s --table-of-contents --bibliography=src/references.bib --citeproc --columns 1000 -H src/header.html -V lang=en -o $@ dst/index_shortcode.md: dst/index.md node addons/emoji-to-shortcode/main.js dst/index.md > $@ -dst/index.pdf: dst/index_shortcode.md src/references.bib - cd dst && pandoc -f markdown+emoji -L../addons/latex-emoji.lua index_shortcode.md -s -N --pdf-engine=lualatex --shift-heading-level-by=-1 --bibliography=../src/references.bib --citeproc -o index.pdf +# use index_tex.pdf instead. +# This has a bug, citations in raw LaTeX blocks show up as ? +# (e.g. \cite{yin-etal-2021-including} in fig:continuous) +# https://github.com/cleong110/sign-language-processing.github.io/issues/26#issuecomment-2192220912 +# dst/index.pdf: dst/index_shortcode.md src/references.bib +# cd dst && pandoc -f markdown+emoji -L../addons/latex-emoji.lua index_shortcode.md -s -N --pdf-engine=lualatex --shift-heading-level-by=-1 --bibliography=../src/references.bib --citeproc -o index.pdf dst/thesis.pdf: dst/index_shortcode.md src/references.bib #pandoc -f markdown+emoji -L addons/latex-emoji.lua src/thesis/main.tex -s -N --pdf-engine=lualatex --shift-heading-level-by=-1 --bibliography=src/references.bib --citeproc -o index.pdf @@ -59,7 +65,7 @@ overleaf: dst/sections tmp rm -f tmp/overleaf/parts/background/assets/.DS_Store cd tmp/overleaf && \ git add -A && \ - git commit -am "autoamtic sections upload" && \ + git commit -am "automatic sections upload" && \ git push # @@ -69,12 +75,55 @@ overleaf: dst/sections tmp # mkdir $@ # dst/index_emoji.tex: dst dst/index_shortcode.md src/references.bib - pandoc -f markdown+emoji -L addons/latex-emoji.lua dst/index_shortcode.md --shift-heading-level-by=-1 -s -N --natbib -o $@ + pandoc -f markdown+emoji \ + -L addons/latex-emoji.lua dst/index_shortcode.md --shift-heading-level-by=-1 -s -N --natbib --bibliography=references.bib -o $@ dst/index.tex: dst/index_emoji.tex src/replace_gifs.py python src/replace_gifs.py dst/index_emoji.tex $@ +# index to .tex, then compile to PDF +dst/index.pdf: dst/index.tex + cp src/references.bib dst + cd dst && lualatex index + cd dst && bibtex index + cd dst && lualatex index + cd dst && lualatex index + + +# TODO: output in IEEE format. +# IEEE requires LaTeX format. +dst/ieee_journal_2024_emoji.tex: dst dst/index_shortcode.md src/references.bib + cp addons/ieee_journal_2024_template.latex dst + cp addons/bibliography.csl dst + # cp src/styles/ieee-transactions-on-emerging-topics-in-computing.csl dst + pandoc -f markdown+emoji \ + -L addons/latex-emoji.lua dst/index_shortcode.md \ + --shift-heading-level-by=-1 \ + -s \ + -N \ + --bibliography=dst/references.bib \ + --template=dst/ieee_journal_2024_template.latex \ + --csl=dst/bibliography.csl \ + -o $@ + +# requires imageio library +dst/ieee_journal_2024.tex: dst/ieee_journal_2024_emoji.tex + python src/replace_gifs.py dst/ieee_journal_2024_emoji.tex $@ + + +dst/ieee_journal_2024.pdf: dst/ieee_journal_2024.tex + cp src/references.bib dst + cd dst && lualatex ieee_journal_2024 + cd dst && bibtex ieee_journal_2024 + cd dst && lualatex ieee_journal_2024 + cd dst && lualatex ieee_journal_2024 + + +clean: + rm -r dst + rm -r tmp # # #tex/references.bib: src/references.bib tex # cp src/references.bib $@ + diff --git a/addons/bibliography.csl b/addons/bibliography.csl new file mode 100644 index 0000000..9d967b0 --- /dev/null +++ b/addons/bibliography.csl @@ -0,0 +1,339 @@ + + \ No newline at end of file diff --git a/addons/ieee_journal_2024_template.latex b/addons/ieee_journal_2024_template.latex new file mode 100644 index 0000000..c6cc13d --- /dev/null +++ b/addons/ieee_journal_2024_template.latex @@ -0,0 +1,406 @@ +\documentclass[$documentclass$,$if(fontsize)$$fontsize$,$endif$$if(lang)$$babel-lang$,$endif$$if(papersize)$$papersize$paper,$endif$$for(classoption)$$classoption$$sep$,$endfor$]{IEEEtran} +\usepackage{amsmath,amsfonts} +\usepackage{algorithmic} +\usepackage{algorithm} +\usepackage{array} +\usepackage[caption=false,font=normalsize,labelfont=sf,textfont=sf]{subfig} +\usepackage{textcomp} +\usepackage{stfloats} +\usepackage{url} +\usepackage{verbatim} +\usepackage{cite} + +% gives us \setfontface later https://www.ctan.org/ctan-ann/id/mailman.2171.1550068180.5014.ctan-ann@ctan.org +\usepackage{fontspec} + + +$-- https://pandoc.org/chunkedhtml-demo/6.1-template-syntax.html +$-- --------------------------------------------------------------- + +$if(beamerarticle)$ +\usepackage{beamerarticle} % needs to be loaded first +$endif$ + +$-- --------------------------------------------------------------- +$-- CSL refs +$if(csl-refs)$ +% Pandoc citation processing +\newlength{\cslhangindent} +\setlength{\cslhangindent}{1.5em} +\newlength{\csllabelwidth} +\setlength{\csllabelwidth}{3em} +\newlength{\cslentryspacingunit} % times entry-spacing +\setlength{\cslentryspacingunit}{\parskip} +% for Pandoc 2.8 to 2.10.1 +\newenvironment{cslreferences}% + {$if(csl-hanging-indent)$\setlength{\parindent}{0pt}% + \everypar{\setlength{\hangindent}{\cslhangindent}}\ignorespaces$endif$}% + {\par} +% For Pandoc 2.11+ +\newenvironment{CSLReferences}[2] % #1 hanging-ident, #2 entry spacing + {% don't indent paragraphs + \setlength{\parindent}{0pt} + % turn on hanging indent if param 1 is 1 + \ifodd #1 + \let\oldpar\par + \def\par{\hangindent=\cslhangindent\oldpar} + \fi + % set entry spacing + \setlength{\parskip}{#2\cslentryspacingunit} + }% + {} +\usepackage{calc} +\newcommand{\CSLBlock}[1]{#1\hfill\break} +\newcommand{\CSLLeftMargin}[1]{\parbox[t]{\csllabelwidth}{#1}} +\newcommand{\CSLRightInline}[1]{\parbox[t]{\linewidth - \csllabelwidth}{#1}\break} +\newcommand{\CSLIndent}[1]{\hspace{\cslhangindent}#1} +$endif$ + +$-- --------------------------------------------------------------- + +$if(fontfamily)$ +\usepackage[$for(fontfamilyoptions)$$fontfamilyoptions$$sep$,$endfor$]{$fontfamily$} +$else$ +\usepackage{lmodern} +$endif$ + + +$-- --------------------------------------------------------------- + +$if(linestretch)$ +\usepackage{setspace} +\setstretch{$linestretch$} +$endif$ + +$-- ------------------------------------------------------------------ + +\usepackage{amssymb,amsmath} +\usepackage{ifxetex,ifluatex} +\usepackage{fixltx2e} % provides \textsubscript +$-- ---------------------------------------------------------------- + +\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex + \usepackage[$if(fontenc)$$fontenc$$else$T1$endif$]{fontenc} + \usepackage[utf8]{inputenc} +$if(euro)$ + \usepackage{eurosym} +$endif$ +\else % if luatex or xelatex + \ifxetex + \usepackage{mathspec} + \else + \usepackage{fontspec} + \fi + \defaultfontfeatures{Ligatures=TeX,Scale=MatchLowercase} +$for(fontfamilies)$ + \newfontfamily{$fontfamilies.name$}[$fontfamilies.options$]{$fontfamilies.font$} +$endfor$ +$if(euro)$ + \newcommand{\euro}{€} +$endif$ +$if(mainfont)$ + \setmainfont[$for(mainfontoptions)$$mainfontoptions$$sep$,$endfor$]{$mainfont$} +$endif$ +$if(sansfont)$ + \setsansfont[$for(sansfontoptions)$$sansfontoptions$$sep$,$endfor$]{$sansfont$} +$endif$ +$if(monofont)$ + \setmonofont[Mapping=tex-ansi$if(monofontoptions)$,$for(monofontoptions)$$monofontoptions$$sep$,$endfor$$endif$]{$monofont$} +$endif$ +$if(mathfont)$ + \setmathfont(Digits,Latin,Greek)[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} +$endif$ +$if(CJKmainfont)$ + \usepackage{xeCJK} + \setCJKmainfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$} +$endif$ +\fi +$-- ------------------------------------------------------------------ +% use upquote if available, for straight quotes in verbatim environments +\IfFileExists{upquote.sty}{\usepackage{upquote}}{} +$-- ------------------------------------------------------------------ + +% use microtype if available +\IfFileExists{microtype.sty}{% +\usepackage{microtype} +\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts +}{} +$-- ------------------------------------------------------------------ + + +$if(geometry)$ +\usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry} +$endif$ + +$-------------------------------------------------------------------- +\usepackage[unicode=true]{hyperref} + +$-------------------------------------------------------------------- + +% set default figure placement to htbp +\makeatletter +\def\fps@figure{htbp} +\makeatother + +$-- ------------------------------------------------------------------ + +$if(colorlinks)$ +\PassOptionsToPackage{usenames,dvipsnames}{color} % color is loaded by hyperref +$endif$ + +$----------------------------------------------------------------------- +\hypersetup{ +$if(title-meta)$ + pdftitle={$title-meta$}, +$endif$ +$if(author-meta)$ + pdfauthor={$author-meta$}, +$endif$ +$if(keywords)$ + pdfkeywords={$for(keywords)$$keywords$$sep$, $endfor$}, +$endif$ +$if(colorlinks)$ + colorlinks=true, + linkcolor=$if(linkcolor)$$linkcolor$$else$Maroon$endif$, + citecolor=$if(citecolor)$$citecolor$$else$Blue$endif$, + urlcolor=$if(urlcolor)$$urlcolor$$else$Blue$endif$, +$else$ + pdfborder={0 0 0}, +$endif$ + breaklinks=true} + +$------------------------------------------------------------------------ +\urlstyle{same} % don't use monospace font for urls +$--------------------------------------------------------------------------- +$if(lang)$ +\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex + \usepackage[shorthands=off,$for(babel-otherlangs)$$babel-otherlangs$,$endfor$main=$babel-lang$]{babel} +$if(babel-newcommands)$ + $babel-newcommands$ +$endif$ +\else + \usepackage{polyglossia} + \setmainlanguage[$polyglossia-lang.options$]{$polyglossia-lang.name$} +$for(polyglossia-otherlangs)$ + \setotherlanguage[$polyglossia-otherlangs.options$]{$polyglossia-otherlangs.name$} +$endfor$ +\fi +$endif$ + +$--------------------------------------------------------------------------- +$if(natbib)$ +\usepackage{natbib} +\bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$} +$endif$ +$----------------------------------------------------------------------------- +$if(biblatex)$ +\usepackage[$if(biblio-style)$style=$biblio-style$,$endif$$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$]{biblatex} +$for(bibliography)$ +\addbibresource{$bibliography$} +$endfor$ +$endif$ +$------------------------------------------------------------------------------- + +$if(listings)$ +\usepackage{listings} +$endif$ +$--------------------------------------------------------------------------------- +$if(lhs)$ +\lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{} +$endif$ +$----------------------------------------------------------------------- +$if(highlighting-macros)$ +$highlighting-macros$ +$endif$ +$----------------------------------------------------------------------- +$if(verbatim-in-note)$ +\usepackage{fancyvrb} +\VerbatimFootnotes % allows verbatim text in footnotes +$endif$ +$------------------------------------------------------------------------- +$if(tables)$ +\usepackage{longtable,booktabs} +\usepackage{supertabular} +\let\longtable\supertabular +\let\endlongtable\endsupertabular +\let\endhead\relax +% Fix footnotes in tables (requires footnote package) +\IfFileExists{footnote.sty}{\usepackage{footnote}\makesavenoteenv{long table}}{} +$endif$ +$--------------------------------------------------------------------------- +$if(graphics)$ +\usepackage{graphicx,grffile} +\makeatletter +\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi} +\def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi} +\makeatother +% Scale images if necessary, so that they will not overflow the page +% margins by default, and it is still possible to overwrite the defaults +% using explicit options in \includegraphics[width, height, ...]{} +\setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio} +$endif$ +$----------------------------------------------------------------------- +$if(links-as-notes)$ +% Make links footnotes instead of hotlinks: +\renewcommand{\href}[2]{#2\footnote{\url{#1}}} +$endif$ +$----------------------------------------------------------------------- +$if(strikeout)$ +\usepackage[normalem]{ulem} +% avoid problems with \sout in headers with hyperref: +\pdfstringdefDisableCommands{\renewcommand{\sout}{}} +$endif$ +$--------------------------------------------------------------------------- +$if(indent)$ +$else$ +\IfFileExists{parskip.sty}{% +\usepackage{parskip} +}{% else +\setlength{\parindent}{0pt} +\setlength{\parskip}{6pt plus 2pt minus 1pt} +} +$endif$ +$----------------------------------------------------------------------- +\setlength{\emergencystretch}{3em} % prevent overfull lines +$----------------------------------------------------------------------- +\providecommand{\tightlist}{% + \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} +$------------------------------------------------------------------------- +$if(numbersections)$ +\setcounter{secnumdepth}{$if(secnumdepth)$$secnumdepth$$else$5$endif$} +$else$ +\setcounter{secnumdepth}{0} +$endif$ +$-------------------------------------------------------------------------- +$if(subparagraph)$ +$else$ +% Redefines (sub)paragraphs to behave more like sections +\ifx\paragraph\undefined\else +\let\oldparagraph\paragraph +\renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}} +\fi +\ifx\subparagraph\undefined\else +\let\oldsubparagraph\subparagraph +\renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}} +\fi +$endif$ +$------------------------------------------------------------------------ + +$if(dir)$ +\ifxetex + % load bidi as late as possible as it modifies e.g. graphicx + $if(latex-dir-rtl)$ + \usepackage[RTLdocument]{bidi} + $else$ + \usepackage{bidi} + $endif$ +\fi +\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex + \TeXXeTstate=1 + \newcommand{\RL}[1]{\beginR #1\endR} + \newcommand{\LR}[1]{\beginL #1\endL} + \newenvironment{RTL}{\beginR}{\endR} + \newenvironment{LTR}{\beginL}{\endL} +\fi +$endif$ + + +$----------------------------------------------------------------------- + + +$for(header-includes)$ +$header-includes$ +$endfor$ + +$----------------------------------------------------------------------- + +$if(title)$ +\title{$title$$if(thanks)$\thanks{$thanks$}$endif$} +$endif$ +$if(subtitle)$ +\providecommand{\subtitle}[1]{} +\subtitle{$subtitle$} +$endif$ + + +$-- NOTE: if we edit index.md to have author.name, author.email we could reformat with IEEEauthorblockA +$if(author)$ +\author{ + $for(author)$ + \IEEEauthorblockN{$author$} + $sep$ \and + $endfor$ +} +$endif$ + +$if(institute)$ +\providecommand{\institute}[1]{} +\institute{$for(institute)$$institute$$sep$ \and $endfor$} +$endif$ +\date{$date$} + +\begin{document} +$if(title)$ +\maketitle +$endif$ +$if(abstract)$ +\begin{abstract} +$abstract$ +\end{abstract} +$endif$ + +$if(keywords)$ +\begin{IEEEkeywords} +$for(keywords)$ + $keywords$$sep$; +$endfor$ +\end{IEEEkeywords} +$endif$ + +$for(include-before)$ +$include-before$ + +$endfor$ +$if(toc)$ +{ +$if(colorlinks)$ +\hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$black$endif$} +$endif$ +\setcounter{tocdepth}{$toc-depth$} +\tableofcontents +} +$endif$ +$if(lot)$ +\listoftables +$endif$ +$if(lof)$ +\listoffigures +$endif$ + +% index.md gets inserted here basically. +$body$ + + +$if(natbib)$ +$if(bibliography)$ +$if(biblio-title)$ +$if(book-class)$ +\renewcommand\bibname{$biblio-title$} +$else$ +\renewcommand\refname{$biblio-title$} +$endif$ +$endif$ +\bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$} + +$endif$ +$endif$ +$if(biblatex)$ +\printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$ + +$endif$ +$for(include-after)$ +$include-after$ + +$endfor$ +\end{document} + diff --git a/src/index.md b/src/index.md index 23500e5..fcb4c9d 100644 --- a/src/index.md +++ b/src/index.md @@ -8,6 +8,7 @@ secnumdepth: 3 header-includes: - | \usepackage{pdflscape} + \usepackage{graphicx} author: - Amit Moryossef ([amitmoryossef@gmail.com](mailto:amitmoryossef@gmail.com)) - Yoav Goldberg ([yoav.goldberg@biu.ac.il](mailto:yoav.goldberg@biu.ac.il)) @@ -819,8 +820,8 @@ or aligned to the spoken language captions, and showed their DTW is advantageous @xiao2020skeleton closed the loop by proposing a text-to-pose-to-text model for the case of isolated sign language recognition. They first trained a classifier to take a sequence of poses encoded by a BiLSTM and classify the relevant sign, then proposed a production system to take a single sign and sample a constant length sequence of 50 poses from a Gaussian Mixture Model. -These components are combined such that given a sign class $y$, a pose sequence is generated, then classified back into a sign class $ŷ$, -and the loss is applied between $y$ and $ŷ$, and not directly on the generated pose sequence. +These components are combined such that given a sign class $y$, a pose sequence is generated, then classified back into a sign class $\hat{y}$, +and the loss is applied between $y$ and $\hat{y}$, and not directly on the generated pose sequence. They evaluate their approach on the CSL dataset [@dataset:huang2018video] and show that their generated pose sequences almost reach the same classification performance as the reference sequences. diff --git a/src/markdown_fix.sh b/src/markdown_fix.sh index cdd7163..26266d8 100644 --- a/src/markdown_fix.sh +++ b/src/markdown_fix.sh @@ -1,6 +1,6 @@ #!/bin/bash -if type gsed >/dev/null +if which gsed >/dev/null then echo "Using gsed" function ssed { gsed "$@" ;} diff --git a/src/references.bib b/src/references.bib index f01e75d..9bea231 100644 --- a/src/references.bib +++ b/src/references.bib @@ -3263,7 +3263,6 @@ @article{koller2015ContinuousSLR doi = {https://doi.org/10.1016/j.cviu.2015.09.013}, issn = {1077-3142}, journal = {Computer Vision and Image Understanding}, - note = {Pose & Gesture}, pages = {108-125}, title = {Continuous sign language recognition: Towards large vocabulary statistical recognition systems handling multiple signers}, url = {https://www.sciencedirect.com/science/article/pii/S1077314215002088},