Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Marc Chantreux
committed
Feb 19, 2016
1 parent
54d7d34
commit 39cd214
Showing
4 changed files
with
327 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
--- | ||
author: Marc Chantreux | ||
urls: | ||
- http://unistra.github.io/workshop/livescript/slides.pdf | ||
title: livescript | ||
header-includes: \input{prelude.latex} | ||
--- | ||
|
||
# Faster | ||
|
||
* markdown | ||
* stylus | ||
* jade | ||
* livescript | ||
|
||
# Future? | ||
|
||
* elm, clojurescript? | ||
* sxml, scss? | ||
* d3 | ||
* tentative de Meta-Templating (rototo) | ||
|
||
# Livescript ? | ||
|
||
* ne corrige pas tous les problèmes de javascript | ||
* propose une meilleure syntaxe pour l'état de l'art | ||
|
||
# readable numbers | ||
|
||
* `_` comme séparateur | ||
* lettres finales comme indice | ||
|
||
# alors ? | ||
|
||
100000000 + 2 = | ||
100_000_000 + 2 = | ||
100_000_000km + 2km = | ||
100_000_000km + 2ft = | ||
|
||
# voilà | ||
|
||
100000000 + 2 = [throw Krasucki Exception] | ||
100_000_000 + 2 = 100_000_002 | ||
100_000_000km + 2km = 100_000_002 | ||
100_000_000km + 2ft = 100_000_002 [NASA clue] | ||
|
||
# NASA Fix | ||
|
||
JS: 100_000_000km + kmFromFt(2) | ||
LS: 100_000_000km + (km-from-ft 2) = ... | ||
|
||
JS : rectArea(2, 4) + rectArea(5, 8) | ||
LS : (rect-area 2, 4) + (rect-area 5, 8) | ||
Haskell: (rect-area 2 4) + (rect-area 5 8) | ||
Haskell: (+) (rect-area 2 4) (rect-area 5 8) | ||
|
||
# définition de fonctions | ||
|
||
JS : kmFromFt = function (x) { return(x / 3280.8) } | ||
λ : kmFromFt = λx . x / 3280.8 | ||
LS : kmFromFt = (x) . x / 3280.8 | ||
Haskell: kmFromFt = (/ 3280.8) | ||
|
||
# définition de fonctions | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
SHELL = /usr/bin/zsh | ||
|
||
template= template.beamer.latex | ||
chapters = index.md | ||
components= $(chapters) $(template) prelude.latex deps.pdf deps_with_phony.pdf | ||
pandoc-options= pipe_tables+grid_tables+multiline_tables+escaped_line_breaks | ||
mk-slides = pandoc -f markdown -t beamer+$(pandoc-options) \ | ||
--template $(template) | ||
|
||
slides.pdf slides.latex: $(components) | ||
cat $(chapters) | $(mk-slides) -o $@ | ||
@echo DONE | ||
|
||
%.svg: %.dot | ||
dot -T svg -o $@ $< | ||
|
||
%.pdf: %.svg | ||
rsvg-convert -o $@ < $< | ||
|
||
deps.pdf: deps.dot | ||
|
||
$(template): | ||
pandoc -D beamer > $@ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
\usepackage{tikz} | ||
% \usetikzlibrary{matrix} | ||
% \hypersetup{linkcolor=red} | ||
% \newcommand{\deps}{ | ||
% \node (A) {A}; | ||
% \node [above of=A] (B) {B}; | ||
% } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,232 @@ | ||
\documentclass[$if(fontsize)$$fontsize$,$endif$$if(lang)$$babel-lang$,$endif$$if(handout)$handout,$endif$$if(beamer)$ignorenonframetext,$endif$$for(classoption)$$classoption$$sep$,$endfor$]{$documentclass$} | ||
$if(theme)$ | ||
\usetheme{$theme$} | ||
$endif$ | ||
$if(colortheme)$ | ||
\usecolortheme{$colortheme$} | ||
$endif$ | ||
$if(fonttheme)$ | ||
\usefonttheme{$fonttheme$} | ||
$endif$ | ||
$if(mainfont)$ | ||
\usefonttheme{serif} % use mainfont rather than sansfont for slide text | ||
$endif$ | ||
$if(innertheme)$ | ||
\useinnertheme{$innertheme$} | ||
$endif$ | ||
$if(outertheme)$ | ||
\useoutertheme{$outertheme$} | ||
$endif$ | ||
\setbeamertemplate{caption}[numbered] | ||
\setbeamertemplate{caption label separator}{: } | ||
\setbeamercolor{caption name}{fg=normal text.fg} | ||
$if(fontfamily)$ | ||
\usepackage[$fontfamilyoptions$]{$fontfamily$} | ||
$else$ | ||
\usepackage{lmodern} | ||
$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{Mapping=tex-text,Scale=MatchLowercase} | ||
\newcommand{\euro}{€} | ||
$if(mainfont)$ | ||
\setmainfont[$mainfontoptions$]{$mainfont$} | ||
$endif$ | ||
$if(sansfont)$ | ||
\setsansfont[$sansfontoptions$]{$sansfont$} | ||
$endif$ | ||
$if(monofont)$ | ||
\setmonofont[Mapping=tex-ansi$if(monofontoptions)$,$monofontoptions$$endif$]{$monofont$} | ||
$endif$ | ||
$if(mathfont)$ | ||
\setmathfont(Digits,Latin,Greek)[$mathfontoptions$]{$mathfont$} | ||
$endif$ | ||
$if(CJKmainfont)$ | ||
\usepackage{xeCJK} | ||
\setCJKmainfont[$CJKoptions$]{$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(lang)$ | ||
\ifxetex | ||
\usepackage{polyglossia} | ||
\setmainlanguage[$polyglossia-lang.options$]{$polyglossia-lang.name$} | ||
$for(polyglossia-otherlangs)$ | ||
\setotherlanguage[$polyglossia-otherlangs.options$]{$polyglossia-otherlangs.name$} | ||
$endfor$ | ||
\else | ||
\usepackage[shorthands=off,$babel-lang$]{babel} | ||
\fi | ||
$endif$ | ||
$if(natbib)$ | ||
\usepackage{natbib} | ||
\bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$} | ||
$endif$ | ||
$if(biblatex)$ | ||
\usepackage{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{caption} | ||
% These lines are needed to make table captions work with longtable: | ||
\makeatletter | ||
\def\fnum@table{\tablename~\thetable} | ||
\makeatother | ||
$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>\textheight0.8\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$ | ||
|
||
% Comment these out if you don't want a slide with just the | ||
% part/section/subsection/subsubsection title: | ||
\AtBeginPart{ | ||
\let\insertpartnumber\relax | ||
\let\partname\relax | ||
\frame{\partpage} | ||
} | ||
\AtBeginSection{ | ||
\let\insertsectionnumber\relax | ||
\let\sectionname\relax | ||
\frame{\sectionpage} | ||
} | ||
\AtBeginSubsection{ | ||
\let\insertsubsectionnumber\relax | ||
\let\subsectionname\relax | ||
\frame{\subsectionpage} | ||
} | ||
|
||
$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$ | ||
\setlength{\emergencystretch}{3em} % prevent overfull lines | ||
\providecommand{\tightlist}{% | ||
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} | ||
$if(numbersections)$ | ||
\setcounter{secnumdepth}{5} | ||
$else$ | ||
\setcounter{secnumdepth}{0} | ||
$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$ | ||
|
||
$if(title)$ | ||
\title{$title$} | ||
$endif$ | ||
$if(subtitle)$ | ||
\subtitle{$subtitle$} | ||
$endif$ | ||
$if(author)$ | ||
\author{$for(author)$$author$$sep$ \and $endfor$} | ||
$endif$ | ||
\date{$date$} | ||
$for(header-includes)$ | ||
$header-includes$ | ||
$endfor$ | ||
|
||
\begin{document} | ||
$if(title)$ | ||
\frame{\titlepage} | ||
$endif$ | ||
|
||
$for(include-before)$ | ||
$include-before$ | ||
|
||
$endfor$ | ||
$if(toc)$ | ||
\begin{frame} | ||
\tableofcontents[hideallsubsections] | ||
\end{frame} | ||
|
||
$endif$ | ||
$body$ | ||
|
||
$if(natbib)$ | ||
$if(bibliography)$ | ||
$if(biblio-title)$ | ||
$if(book-class)$ | ||
\renewcommand\bibname{$biblio-title$} | ||
$else$ | ||
\renewcommand\refname{$biblio-title$} | ||
$endif$ | ||
$endif$ | ||
\begin{frame}[allowframebreaks]{$biblio-title$} | ||
\bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$} | ||
\end{frame} | ||
|
||
$endif$ | ||
$endif$ | ||
$if(biblatex)$ | ||
\begin{frame}[allowframebreaks]{$biblio-title$} | ||
\printbibliography[heading=none] | ||
\end{frame} | ||
|
||
$endif$ | ||
$for(include-after)$ | ||
$include-after$ | ||
|
||
$endfor$ | ||
\end{document} |