\documentclass[english,]{article}
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
\usepackage{ifxetex,ifluatex}
\usepackage{fixltx2e} % provides \textsubscript
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
  \usepackage[T1]{fontenc}
  \usepackage[utf8]{inputenc}
\else % if luatex or xelatex
  \ifxetex
    \usepackage{mathspec}
  \else
    \usepackage{fontspec}
  \fi
  \defaultfontfeatures{Ligatures=TeX,Scale=MatchLowercase}
\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
}{}
\usepackage[unicode=true]{hyperref}
\hypersetup{
            pdfborder={0 0 0},
            breaklinks=true}
\urlstyle{same}  % don't use monospace font for urls
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
  \usepackage[shorthands=off,ngerman,british,nswissgerman,spanish,french,main=english]{babel}
  \newcommand{\textgerman}[2][]{\foreignlanguage{ngerman}{#2}}
  \newenvironment{german}[2][]{\begin{otherlanguage}{ngerman}}{\end{otherlanguage}}
  \newcommand{\textenglish}[2][]{\foreignlanguage{british}{#2}}
  \newenvironment{english}[2][]{\begin{otherlanguage}{british}}{\end{otherlanguage}}
  \let\oritextspanish\textspanish
  \AddBabelHook{spanish}{beforeextras}{\renewcommand{\textspanish}{\oritextspanish}}
  \AddBabelHook{spanish}{afterextras}{\renewcommand{\textspanish}[2][]{\foreignlanguage{spanish}{##2}}}
  \newcommand{\textfrench}[2][]{\foreignlanguage{french}{#2}}
  \newenvironment{french}[2][]{\begin{otherlanguage}{french}}{\end{otherlanguage}}
\else
  \usepackage{polyglossia}
  \setmainlanguage[]{english}
  \setotherlanguage[]{german}
  \setotherlanguage[variant=british]{english}
  \setotherlanguage[variant=swiss]{german}
  \setotherlanguage[]{spanish}
  \setotherlanguage[]{french}
\fi
\IfFileExists{parskip.sty}{%
\usepackage{parskip}
}{% else
\setlength{\parindent}{0pt}
\setlength{\parskip}{6pt plus 2pt minus 1pt}
}
\setlength{\emergencystretch}{3em}  % prevent overfull lines
\providecommand{\tightlist}{%
  \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
\setcounter{secnumdepth}{0}
% 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
\ifxetex
  % load bidi as late as possible as it modifies e.g. graphicx
    \usepackage{bidi}
  \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

% set default figure placement to htbp
\makeatletter
\def\fps@figure{htbp}
\makeatother


\date{}

\begin{document}

\section{Empty Divs and Spans}\label{empty-divs-and-spans}

Some text and

div contents

and more text.

Next paragraph with a {span} and a word-thatincludesa{span}right?

\section{Directionality}\label{directionality}

Some text and

\begin{RTL}
rtl div contents
\end{RTL}

and more text.

\begin{LTR}
and a ltr div. with a \RL{rtl span}.
\end{LTR}

Next paragraph with a \RL{rtl span} and a
word-that-includesa\LR{ltrspan}right?

\section{Languages}\label{languages}

Some text and

\begin{german}

German div contents

\end{german}

and more text.

Next paragraph with a \textenglish[variant=british]{British span} and a
word-that-includesa\textgerman[variant=swiss]{Swiss German span}right?

Some \textspanish{Spanish text}.

\section{Combined}\label{combined}

Some text and

\begin{RTL}
\begin{french}

French rtl div contents

\end{french}
\end{RTL}

and more text.

Next paragraph with a \LR{\textenglish[variant=british]{British ltr
span}} and a word-that-includesa\LR{\textgerman[variant=swiss]{Swiss
German ltr span}}right?

\end{document}
