diff --git a/Modelica_DeviceDrivers/Resources/doc/Modelica2017/build.sh b/Modelica_DeviceDrivers/Resources/doc/Modelica2017/build.sh new file mode 100755 index 00000000..141b7bc2 --- /dev/null +++ b/Modelica_DeviceDrivers/Resources/doc/Modelica2017/build.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +pdflatex modelica2017_Modelica_DeviceDrivers.tex +bibtex modelica2017_Modelica_DeviceDrivers +pdflatex modelica2017_Modelica_DeviceDrivers.tex +pdflatex modelica2017_Modelica_DeviceDrivers.tex diff --git a/Modelica_DeviceDrivers/Resources/doc/Modelica2017/dtsyntax.sty b/Modelica_DeviceDrivers/Resources/doc/Modelica2017/dtsyntax.sty new file mode 100644 index 00000000..e596c7e4 --- /dev/null +++ b/Modelica_DeviceDrivers/Resources/doc/Modelica2017/dtsyntax.sty @@ -0,0 +1,282 @@ +%% +%% Syntax-Highlight-File `dtsyntax.sty' :: D.Töpel +%% _______________________________________________________________ +%% | +%% | Aufrufmöglichkeiten im Dokument : +%% | +%% | \begin[language=mcode|modelica|pearl|vhdl]{lstlisting} +%% | Syntax - Code +%% | \end{lstlisting} +%% | +%% | ** oder ** +%% | +%% | \mcode|modelica|pearl|vhdl{Syntax - Code} +%% | +%% | ** oder ** +%% | +%% | \lstinputlisting[language=mcode|modelica|pearl|vhdl]{YOUR-FILE.*} +%% |_______________________________________________________________ +%% +%% For your convenience, this package has the following options: +%% +%% - bw |> Ausgabe in Schwarz, dafür Highlight in Fett +%% und Kursiv +%% +%% - numbered |> Angabe von Zeilennummern +%% +%% - framed |> Rahmen um den Code Block +%% +%% - final |> bitte selbst übersetzen ... +%% if you have ``gloablly'' set the draft option, the +%% listings package will not output the code at all. to +%% force it to do so anyway, load this package with the +%% final option (passes the ``final'' on to listings). +%% +%% Beispiel: \usepackage[numbered,framed]{dtsyntax} +%% im Dokumentenkopf. +%% ________________________________________________________________ +%% +%% Grundlage dieses Style-Files ist die mcode.sty Datei, mit deren +%% Hilfe ein Syntax-Highlight für Matlab möglich ist. +%% +%% http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=8015&objectType=File +%% +%% http://www.mathworks.com/matlabcentral/files/8015/mcode.sty + +\def\fileversion{1.01} +\def\filedate{2009/09/24} + +\typeout{Package: `dtsyntax' \fileversion\space <\filedate>} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{dtsyntax}[\filedate\space\fileversion] + +% for bw-option +\newif\ifbw +\DeclareOption{bw}{\bwtrue} +\ifbw\typeout{dtsyntax: settings optimized for printing!} +\else\typeout{dtsyntax: settings optimized for display!}\fi + +% numbered option +\newif\ifnumbered +\DeclareOption{numbered}{\numberedtrue} + +% final option +\newif\iffinal +\DeclareOption{final}{\finaltrue} + +% for framed option +\newif\ifframed +\DeclareOption{framed}{\framedtrue} + +\DeclareOption*{% default + \PackageWarning{dtsyntax}{Unknown option `\CurrentOption' !}% +} +\ProcessOptions + +% check if color command exists +\ifx\color\undefined% + \RequirePackage{color}% +\fi + +\definecolor{lightblue}{rgb}{.3,.5,1} +\definecolor{orange}{rgb}{1,.7,0} +\definecolor{darkorange}{rgb}{1,.4,0} +\definecolor{darkgreen}{rgb}{0,.4,0} +\definecolor{gray}{rgb}{.3,.3,.3} + +\definecolor{blue}{rgb}{0,0,1} +\definecolor{red}{rgb}{1,0,0} +\definecolor{pink}{rgb}{.933,0,.933} +\definecolor{green}{rgb}{0.133,0.545,0.133} +\definecolor{darkblue}{rgb}{0,0,.4} +\definecolor{darkred}{rgb}{.56,0,0} +\definecolor{darkgray}{rgb}{.2,.2,.2} +\definecolor{shadecolor}{gray}{0.925} + + +% check if listings has been loaded +\ifx\lstset\undefined% + \iffinal + \RequirePackage[final]{listings} + \else + \RequirePackage{listings} + \fi +\fi + +% check if textcomp has been loaded (this package is needed +% for upright quotes '' (instead of typographic ones `´)... +\ifx\textasciigrave\undefined% + \RequirePackage{textcomp}% +\fi + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% C O N F I G S --- C U S T O M I Z E H E R E % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% ********************************************************************************** +% Syntax : Matlab (mcode) * +% ********************************************************************************** +\lstdefinelanguage{mcode}{% + otherkeywords={...},%alsoletter + morekeywords=[1]{% + break,case,catch,continue,elseif,else,end,for,function,global,% + if,otherwise,persistent,return,switch,try,while,...},% + comment=[l]\%,% % comments + morecomment=[l][{\color{green}\bfseries}]{\%\%},% % comments keywordstyle + morecomment=[l]...,% % comments + morestring=[m]',% % strings +}[keywords,comments,strings]% + + +% ********************************************************************************** +% Syntax : Modelica (modelica) * +% ********************************************************************************** +\lstdefinelanguage{modelica}{% + alsoletter={...},% + otherkeywords={-, =, +, [, ], (, ), \{, \}, :, *, !},% + morekeywords=[1]{},%otherkeywords= + morekeywords=[2]{% % keywords + annotation,assert,block,class,connector,constant,discrete,% + else,elseif,elsewhen,end,exit,extends,external,final,flow,for,% + function,if,in,inner,input,import,loop,model,nondiscrete,outer,% + output,package,parameter,record,redeclare,replaceable,return,% + size,terminate,then,type,when,while,algorithm,equation,% + protected,public,and,false,not,or,true},% + morekeywords=[3]{% functions % keywords + abs,acos,asin,atan,atan2,connect,cos,cosh,cross,der,edge,exp,% + initial,noEvent,pre,reinit,sample,sign,sin,sinh,tan,tanh,terminal,Real},% + comment=[l]//,% % comments + morecomment=[s]{/*}{*/},% % comments + morestring=[b]',% % strings + morestring=[b]",% +}[keywords,comments,strings]% + + +% ********************************************************************************** +% Syntax : Pearl (pearl) * +% ********************************************************************************** +\lstdefinelanguage{pearl}{% + alsoletter={...},% + morekeywords=[1]{% % keywords + ACTIVATE,AFTER,ALL,ALPHIC,ALT,AND,AT,BASIC,BEGIN,BIT,BOLT,BY,CALL,CASE,CHAR,% + CHARACTER,CLOCK,CLOSE,CONT,CONTINUE,CONTROL,CONVERT,CREATED,CYCLIC,DATION,DECLARE,DCL,% + DIM,DIRECT,DISABLE,DUR,DURATION,DURING,ELSE,ENABLE,END,ENTER,EXIT,FIN,FIXED,FLOAT,FOR,% + FORBACK,FORMAT,FORWARD,FREE,FROM,GET,GLOBAL,GOTO,HRS,IDENT,IDENTICAL,IF,IN,INDUCE,INIT,% + INITIAL,INOUT,INTERRUPT,INV,IRPT,LEAVE,LENGTH,MAIN,MAX,MIN,MODEND,MODULE,NIL,NOCYCL,NOSTREAM,% + ON,OPEN,OPERATOR,OUT,PRECEDENCE,PRESET,PREVENT,PRIO,PRIORITY,PROBLEM,PROC,PROCEDURE,PUT,READ,% + REF,RELEASE,REPEAT,REQUEST,RESERVE,RESUME,RETURN,RETURNS,SEC,SEMA,SEND,SIGNAL,SPC,SPECIFY,% + STREAM,STRUCT,SUSPEND,SYSTEM,TAKE,TASK,TERMINATE,TFU,THEN,TO,TRIGGER,TYPE,UNTIL,WHEN,WHILE,WRITE,% + ABS,ADV,AND,ANY,ATAN,CAN,CAT,CONT,COS,CSHIFT,DATE,ENTIER,EQ,EXOR,EXP,FIT,GE,GT,IDF,IS,ISNT,% + LE,LINE,LIST,LN,LT,LWB,NE,NEW,NOT,NOW,OLD,OR,PAGE,POS,PRM,REM,ROUND,RST,SHIFT,SIGN,SIN,SIZEOF,% + SKIP,SOP,SQRT,TAN,TANH,TOBIT,TOCHAR,TOFIXED,TOFLOAT,TRY,UPB},% + comment=[l]!,% % comments + morecomment=[s]{/*}{*/},% % comments + morestring=[m]',% % strings +}[keywords,comments,strings]% + + +% ********************************************************************************** +% Syntax : VHDL (vhdl) * +% ********************************************************************************** +\lstdefinelanguage{vhdl}{% + morekeywords=[1]{% % keywords + abs,access,after,all,and,architecture,array,assert,attribute,begin,block,body,buffer,bus, + case,component,configuration,disconnect,downto,else,elsif,end,entity,exit,file,for,function, + generate,generic,group,guarded,if,impure,in,inertial,inout,is,label,library,linkage,literal,loop, + map,mod,nand,new,next,nor,not,null,of,on,open,or,others,out,package,port,postponed,procedure, + process,pure,range,record,register,reject,rem,report,return,rol,ror,select,severity,shared,sla,sll, + sra,srl,then,to,transport,unaffected,units,until,use,,wait,when,while,with,xnor,xor,ActivPullUp, + AndN,And2FF,AndNFF,Cnt1Bit,CntNBit,CntNBitDown,CntNBitMod,CntNBitOe,CntNBitSLd,CntNBitSR, + CntNBitUpDown,CompNBit,CompNBitFF,DiffH2LWithFF,DiffL2HWithFF,Dff1,Dff1NegClk,Dffn,Encode4to5, + Mux1of2,Mux1of8,Mux1Vof2V,Mux1Vof3V,Mux1Vof4V,PreScale1Bit,PreScale1BitAR,PreScale1BitARNegClk, + PreScaleNBit,PreScaleNBitAR,Reg1Bit,Reg1BitAR,Reg1BitR,RegNBit,RegNBitAR,RSFFAsync,RSFFsync, + RsSynchronizer,ShiftP2SRegNBitAR,ShiftRegNBitAR,ShiftS2SRegNBit,SRFFsync,SyncAndDiffL2HWithFF, + SyncAndDiffH2LWithFF,SyncAndDiffL2HWithFFAndFg,SyncAndDiffH2LWithFFAndFg,SyncAndDiffLL2HHWithFF, + SyncAndDiffHH2LLWithFF,SyncAndDiffLL2HHWithFFAndFg,SyncAndDiffHH2LLWithFFAndFg,ActivPullUp\_arch, + AndN\_arch,And2FF\_arch,AndNFF\_arch,Cnt1Bit\_arch,CntNBit\_arch,CntNBitDown\_arch,CntNBitMod\_arch, + CntNBitOe\_arch,CntNBitSLd\_arch,CntNBitSR\_arch,CntNBitUpDown\_arch,CompNBit\_arch,CompNBitFF\_arch, + DiffH2LWithFF\_arch,DiffL2HWithFF\_arch,Dff1\_arch,Dff1NegClk\_arch,Dffn\_arch,Encode4to5\_arch, + Mux1of2\_arch,Mux1of8\_arch,Mux1Vof2V\_arch,Mux1Vof3V\_arch,Mux1Vof4V\_arch,PreScale1Bit\_arch, + PreScale1BitAR\_arch,PreScale1BitARNegClk\_arch,PreScaleNBit\_arch,PreScaleNBitAR\_arch,Reg1Bit\_arch, + Reg1BitAR\_arch,Reg1BitR\_arch,RegNBit\_arch,RegNBitAR\_arch,RSFFAsync\_arch,RSFFsync\_arch, + RsSynchronizer\_arch,ShiftP2SRegNBitAR\_arch,ShiftRegNBitAR\_arch,ShiftS2SRegNBit\_arch,SRFFsync\_arch, + SyncAndDiffL2HWithFF\_arch,SyncAndDiffH2LWithFF\_arch,SyncAndDiffL2HWithFFAndFg\_arch, + SyncAndDiffH2LWithFFAndFg\_arch,SyncAndDiffLL2HHWithFF\_arch,SyncAndDiffHH2LLWithFF\_arch, + SyncAndDiffLL2HHWithFFAndFg\_arch,SyncAndDiffHH2LLWithFFAndFg\_arch, + % + alias,constant,type,variable,signal,subtype},% + morekeywords=[4]{% color -> pink + bit,bit\_vector,boolean,integer,real,std\_logic,std\_logic\_vector,time,character,string, + IEEE,std_logic_1164,std_logic_textio,numeric_bit,numeric_std,std_logic_unsigned,math_real, + std_logic_arith,std,textio,CONV\_INTEGER,CONV\_STD\_LOGIC\_VECTOR},% + morekeywords=[5]{event,value},% + comment=[l]{--},% % comments + morestring=[m][\color{darkred}]',% % strings + morestring=[m][\color{darkred}]",% + alsoother={.},%otherkeywords + sensitive=false +}[keywords,comments,strings]% + + +\ifbw % use font formating and gray 'colors' + \lstset{ + keywordstyle=\bfseries, % keywords in bold + commentstyle=\color[gray]{0.6}\itshape, % comments light gray and italic + stringstyle=\color[gray]{0.5} % strings darker gray + } +\else% notbw => use colors : ) + \lstset{ + backgroundcolor=\color{shadecolor}, + keywordstyle=[1]\color{blue}, % keywords + keywordstyle=[2]\color{blue}\bfseries, % keywords + keywordstyle=[3]\color{red}, % keywords + keywordstyle=[4]\color{pink}, % keywords + keywordstyle=[5]\color{darkblue}\bfseries, % keywords + commentstyle=\color{green}, % comments + stringstyle=\color{red} % strings + } +\fi%bw + +\lstset{% + basicstyle={\ttfamily\footnotesize}, % use font and smaller size \small \footnotesize + showstringspaces=false, % do not emphasize spaces in strings + tabsize=4, % number of spaces of a TAB + mathescape=false,%escapechar=§, % escape to latex with §...§ + upquote=true, % upright quotes + aboveskip={1.5\baselineskip}, % a bit of space above + columns=fixed, % nice spacing -> fixed / flexible + texcl=false% +} + +\ifnumbered% numbered option + \lstset{% + numbersep=1mm, numbers=left, numberstyle=\tiny, % number style + } +\fi + +\ifframed% framed option + \lstset{% + %basicstyle={\ttfamily\footnotesize}, + frame=leftline,% single, % frame + framerule=3pt, + framexleftmargin=2pt, + %xleftmargin=1cm, + } + \ifnumbered% + \lstset{% + numbersep=-5mm, % tweak margins + } + \fi +\fi + + +% with this command, you can typeset syntax highlighted code ``inline'', +% for example when you talk about \pearl{for}--loops ... +\newcommand{\mcode}[1]{\lstinline[basicstyle=\ttfamily,language=mcode]|#1|} +\newcommand{\modelica}[1]{\lstinline[basicstyle=\ttfamily,language=modelica]|#1|} +\newcommand{\pearl}[1]{\lstinline[basicstyle=\ttfamily,language=pearl]|#1|} +\newcommand{\vhdl}[1]{\lstinline[basicstyle=\ttfamily,language=vhdl]|#1|} + +\endinput +%% End of file `dtsyntax.sty'. \ No newline at end of file diff --git a/Modelica_DeviceDrivers/Resources/doc/Modelica2017/figure1.pdf b/Modelica_DeviceDrivers/Resources/doc/Modelica2017/figure1.pdf new file mode 100644 index 00000000..52a55b25 Binary files /dev/null and b/Modelica_DeviceDrivers/Resources/doc/Modelica2017/figure1.pdf differ diff --git a/Modelica_DeviceDrivers/Resources/doc/Modelica2017/figure2.pdf b/Modelica_DeviceDrivers/Resources/doc/Modelica2017/figure2.pdf new file mode 100644 index 00000000..4b495b3d Binary files /dev/null and b/Modelica_DeviceDrivers/Resources/doc/Modelica2017/figure2.pdf differ diff --git a/Modelica_DeviceDrivers/Resources/doc/Modelica2017/modelica2017_Modelica_DeviceDrivers.bib b/Modelica_DeviceDrivers/Resources/doc/Modelica2017/modelica2017_Modelica_DeviceDrivers.bib new file mode 100644 index 00000000..e190f991 --- /dev/null +++ b/Modelica_DeviceDrivers/Resources/doc/Modelica2017/modelica2017_Modelica_DeviceDrivers.bib @@ -0,0 +1,41 @@ +@Article{DuffReid:1978, + author = {Iain S. Duff and John K. Reid}, + title = {An Implementation of Tarjan's Algorithm for the Block Triangularization of a Matrix}, + journal = {ACM Transactions on Mathematical Software}, + volume = {4}, + number = {2}, + year = {1978}, + pages = {137--147}, + publisher = {ACM Press}, + address = {New York, USA}, + Doi = {10.1145/355780.355785}, +} + +@Article{Pantelides:1988, + Author = {Constantinos C. Pantelides}, + Title = {The Consistent Initialization of Differential-Algebraic Systems}, + Journal = {SIAM Journal on Scientific and Statistical Computing}, + Year = {1988}, + Number = {2}, + Pages = {213-231}, + Volume = {9}, + Publisher = {SIAM}, + Doi = {10.1137/0909014}, +} + +@Book{Pierce:2002, + Author = {Benjamin C. Pierce}, + Title = {Types and Programming Languages}, + Publisher = {The MIT Press}, + Year = {2002}, + ISBN = {0-262-16209-1}, +} + +@techreport{Plotkin:1981, + author = "Gordon D. Plotkin", + title = "{A Structural Approach to Operational Semantics}", + institution = "Department of Computer Science, University of Aarhus", + year = "1981", +} + + diff --git a/Modelica_DeviceDrivers/Resources/doc/Modelica2017/modelica2017_Modelica_DeviceDrivers.tex b/Modelica_DeviceDrivers/Resources/doc/Modelica2017/modelica2017_Modelica_DeviceDrivers.tex new file mode 100644 index 00000000..e258b715 --- /dev/null +++ b/Modelica_DeviceDrivers/Resources/doc/Modelica2017/modelica2017_Modelica_DeviceDrivers.tex @@ -0,0 +1,236 @@ +% paper template for Modelica 2017 Conference paper + +\documentclass[11pt,a4paper,twocolumn]{article} +\usepackage{graphicx} +% uncomment according to your operating system: +% ------------------------------------------------ +%\usepackage[latin1]{inputenc} %% european characters can be used (Windows, old Linux) +\usepackage[utf8]{inputenc} %% european characters can be used (Linux) +%\usepackage[applemac]{inputenc} %% european characters can be used (Mac OS) +% ------------------------------------------------ +\usepackage[T1]{fontenc} %% get hyphenation and accented letters right +\usepackage{mathptmx} %% use fitting times fonts also in formulas +\usepackage{amsmath,amssymb} %% Nice maths +\usepackage[round]{natbib} %% author-year style referencing +\usepackage{doi} %% Create cor­rect hy­per­links for DOI num­bers +\usepackage{booktabs} %% Nice tables +\usepackage{hyperref} +\usepackage{color} +\usepackage[labelfont=bf, labelsep=period, font=small]{caption} %% Get bold Figure/Table caption + %% Set separator in figures to '.', set fontsize to small +\usepackage{authblk} %% Prepare author and affiliation blocks +\usepackage{courier} %% For proper courier fonts in texttt +\usepackage{listings} %% For code sections +\usepackage[bw]{dtsyntax} %% For Modelica code + +% do not change these lines: +\pagestyle{empty} %% no page numbers! +\usepackage{geometry} %% please don't change geometry settings! +\geometry{left=18mm, right=18mm, top=25mm, bottom=25mm, noheadfoot} + +\hypersetup{ + pdftitle={Latex Template for the International Modelica Conference}, + pdfauthor={Author Name1, Author Name2}, + hidelinks, + pdfpagelayout=SinglePage, + pdfcreator=pdflatex, + pdfproducer=pdflatex} + +\renewcommand{\normalsize}{\fontsize{10.5pt}{12.3pt}\selectfont} +\renewcommand{\small}{\fontsize{9.5pt}{11.1pt}\selectfont} +\renewcommand{\footnotesize}{\fontsize{8.5pt}{9.9pt}\selectfont} + +%% Modelica code configuration +\lstset{language = Modelica, + basicstyle=\fontsize{9pt}{10.5pt}\selectfont, + backgroundcolor = \color{white}} + +% begin the document +\begin{document} +\thispagestyle{empty} + + +% please do not remove or alter the \vspace command +\title{\vspace{-1.0cm}\textbf{International Modelica Conference Paper Title}} +\renewcommand\Authfont{\large} %% Set author font +\renewcommand\Affilfont{\normalsize} %% Set affiliation font +\renewcommand\Authsep{\quad} %% Set text between authors names +\renewcommand\Authand{\quad} %% Set text between authors names +\renewcommand\Authands{\quad} %% Set text between authors names +\author[1]{Author Name} +\author[1]{Author Name} +\author[2]{Author Name} +\affil[1]{Department, University, Country, {\small\texttt{\{name1,name2\}@university.org}}} +\affil[2]{Company, Country, {\small\texttt{name3@company}}} + +% \title{\vspace{-1.0cm}\textbf{International Modelica Conference Paper Title}} +% \author{{\large +% Author Name$^1$ \quad Author Name$^1$ \quad Author Name$^2$\vspace{2mm}\\ +% {}$^1$Department, University, Country, \textsf{\{name1,name2\}@university.org}\\ +% {}$^2$Company, Contry, \textsf{name3@company}} + + +\date{} % <--- leave date empty +\maketitle\thispagestyle{empty} %% <-- you need this for the first page +\abstract{ +This template shows the guidelines on how to create a paper to be +submitted to the International Modelica Conference. Templates are +available for both the \LaTeX \ and Microsoft Word environment. This +particular template document should work with pdf\LaTeX \ which is a +\LaTeX \ variant which directly outputs PDF files instead of +postscript files. However, if required it can be adapted to be used +with a traditional \LaTeX \ document processor\footnote{Essentially by +replacing the PDF files \textsf{figure1.pdf} and +\textsf{figure2.pdf} by EPS files (Encapsulated PostScript +format).}. Please send an email to +\mbox{\small\texttt{francesco.casella@polimi.it}} if there are any questions or +suggestions regarding this template. +} + +\noindent\emph{Keywords: keyword1, keyword2} + +\section{Introduction} + +In the following section, short style guidelines are given. + +\subsection{Title and Authors} +Words should be capitalized in the title, e.g., "This is an Example of +a Correct Title". The author information should at least include +name, affiliation (department, university, country). Addresses and +emails are optional but strongly recommended. + + +\subsection{Abstract and Keywords} + +The abstract should be written as one paragraph. It is not recommended +to exceed 150 words. + +Appropriate keywords describing the content of the paper should be +supplied as a comma separated list. + +\subsection{Fonts} + +For all standard body text \textit{Times New Roman} with regular font style, and font size 10.5pt should be used. To emphasize a text or a word, use \textit{italic font style}. For verbatim text embedded in running text, including code fragments, use the style {\small\texttt{texttt}} with font Courier New with size 9.5pt should be used (1pt smaller than running text) + +For separate Modelica code examples, use the style font size 9 pt. Similar for non-Modelica code examples. For formatting Modelica code highlighting you can use \textbf{dtsyntax} included in the package +({\small\url{https://code.google.com/p/dtsyntax/}}). + +\begin{lstlisting} +while x<20 loop + x := x+y*2; +end while; +\end{lstlisting} + +\section{Lists} +Bulleted lists are created in the usual way with the \texttt{itemize} environment: +\begin{itemize} + \item The first text item + \item The second text item + \item The third text item +\end{itemize} + +Numbered lists are created in the usual way with the \texttt{enumerate} environment: +\begin{enumerate} + \item The first text item + \item The second text item + \item The third text item +\end{enumerate} + +\section{Figures} + +\begin{figure}[b] +\centering +\includegraphics[width=0.4 \textwidth]{figure1} +\caption{An example of a figure that fits into one column.} +\label{fig:figure1} +\end{figure} + +\begin{figure*}[htb] +\centering +\includegraphics[width=0.9 \textwidth]{figure2} +\caption{Another example of a figure that spans over two columns.} +\label{fig:figure2} +\end{figure*} + +Figures should be numbered and include a description text. All figures +should be referenced within the body text using the capitalized word +"Figure" followed by the figure number. For example, +Figure~\ref{fig:figure1} shows a figure located inside one column and +Figure~\ref{fig:figure2} illustrates how a figure can span over two +columns. + +Table~\ref{tab:extab} illustrates the use of tables. It uses the +booktabs package which provides improved typesetting of tables. +\begin{table}[htbp] + \caption{Sizes of compiler phases, lines of code.} + \label{tab:extab} + \centering + \begin{tabular}{p{6cm}l} \toprule + \emph{Compiler Phase} & \emph{Lines} \\ + \midrule + BackEnd (from flat Modelica to sorted eq.syst.) & 29190 \\ + Code generation (generated code) & 35971 \\ + Code generation (template source code) & 8957 \\ + FrontEnd (up to flat Modelica) & 92192 \\ + OpenModelica scripting environment & 21883 \\ + Template language Susan compiler & 12119 \\ + Utility modules & 12983 \\ + \emph{Total size (excl. generated code)} & \emph{194218} \\ + \bottomrule + \end{tabular} +\end{table} + +\section{Equations} +Equations should be numbered on the right side, such as: +\begin{align} +a_1& =b_1+c_1\\ +a_2& =b_2+c_2-d_2+e_2 +\end{align} + +\section{Additional meaningless text} +This section contains additional text to bring the example length to three pages + + + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque faucibus, arcu non malesuada condimentum, nibh est aliquet nunc, in tempus nisi urna id dolor. Suspendisse potenti. Sed nec accumsan massa, porttitor placerat purus. Mauris nibh tellus, lobortis ac posuere non, bibendum ut mi. Etiam et quam at arcu gravida ullamcorper. Donec eget tortor eros. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Donec quis odio tellus. Integer consequat vulputate dolor, sit amet sodales nibh dapibus eu. Quisque accumsan mauris tellus, ut sollicitudin sapien finibus in. Fusce congue, mauris vestibulum vulputate commodo, quam leo faucibus purus, id luctus augue est vitae dolor. Suspendisse id ultrices diam, eget viverra diam. Donec non sem mauris. Fusce sagittis neque justo, in mollis felis luctus in. Pellentesque tincidunt mauris a feugiat accumsan. Nulla eget sem nisi. + +Cras enim tortor, luctus et vulputate vitae, condimentum quis massa. Nullam fermentum, lectus a mattis laoreet, eros nunc interdum nibh, in commodo justo ipsum quis mauris. Donec imperdiet faucibus lacinia. Phasellus malesuada porta arcu, nec molestie dui posuere quis. Donec porttitor, tellus id egestas feugiat, dui quam luctus dui, vel ornare metus lorem sit amet ex. Sed bibendum convallis condimentum. Vivamus eu consectetur felis. Sed turpis nisi, malesuada id augue eu, semper pulvinar metus. Nullam id ante sed mauris bibendum iaculis. Proin rhoncus justo mauris, vel iaculis nunc rhoncus in. Aenean nec lectus non eros mollis lacinia. Fusce at massa in nunc scelerisque egestas. Nulla in turpis ante. Quisque luctus at velit vitae iaculis. + +Etiam nec sapien risus. Duis lorem felis, varius et purus at, malesuada pellentesque enim. Fusce lobortis ac elit eget feugiat. Nam purus libero, aliquam eu urna quis, volutpat eleifend leo. Ut a volutpat felis. Praesent lobortis sapien nunc, vel mattis nisi laoreet et. Praesent elementum ex a fringilla pulvinar. Vestibulum condimentum elementum pharetra. Mauris condimentum tempus risus, tincidunt viverra velit. Proin dictum ligula lectus, vitae euismod ligula rutrum non. Nunc non enim ultrices, sollicitudin nibh ut, lacinia ex. Nullam ac ullamcorper ante. Nullam tristique laoreet enim, sit amet suscipit risus imperdiet non. Vivamus id turpis egestas, viverra mauris non, sagittis purus. + +Phasellus eget lobortis magna. Mauris faucibus elit eget magna gravida, nec ultrices eros consectetur. Quisque porttitor tincidunt nunc vitae gravida. Vestibulum laoreet tempus feugiat. Etiam sit amet molestie urna. Praesent libero nisi, sollicitudin accumsan ullamcorper auctor, mollis sed nulla. Pellentesque consequat, nibh ac ultrices pulvinar, tortor enim aliquet augue, non facilisis lorem arcu nec justo. Vestibulum posuere a metus nec aliquam. Quisque commodo, neque rhoncus scelerisque viverra, velit sapien mollis tellus, et scelerisque est massa vitae risus. Cras sollicitudin nisl sit amet suscipit lobortis. Vivamus sit amet arcu rhoncus, varius nisi id, viverra leo. In hac habitasse platea dictumst. Pellentesque placerat sem rutrum condimentum elementum. Cras euismod augue et luctus facilisis. + +Phasellus feugiat vehicula dolor, eu dapibus ex aliquam vitae. Nunc tortor magna, lacinia id consectetur et, lacinia id enim. Nunc at consectetur odio, ac blandit ex. Aliquam pharetra mi vitae mauris maximus, in sagittis orci ultrices. Curabitur sagittis tortor sem, ornare aliquet dolor congue vitae. Etiam sed nunc ut leo gravida commodo. Maecenas rhoncus odio id tortor blandit dignissim. Proin sed tincidunt metus, eget pharetra odio. Nullam et imperdiet nisl. Praesent sagittis, nunc vel laoreet tristique, quam lorem varius quam, ut varius est purus sit amet tellus. Cras ac massa neque. Aliquam pulvinar auctor elit in tincidunt. + +Maecenas iaculis odio at purus porta, ac tincidunt libero interdum. Aliquam sed sapien leo. Duis malesuada pharetra ex, eu vulputate est mattis at. Cras et lacus ac quam pellentesque efficitur et ut purus. Sed sed eros non justo gravida volutpat sed non libero. Proin imperdiet pretium mattis. Quisque sapien ex, dignissim vitae eleifend id, hendrerit at neque. Sed ultrices ante purus, nec hendrerit urna congue sed. Maecenas malesuada bibendum velit, convallis varius sapien volutpat vel. Ut malesuada pretium orci, eu elementum leo malesuada id. Etiam ullamcorper lobortis imperdiet. Phasellus ornare bibendum ante vitae vestibulum. Integer eu arcu sit amet ligula elementum blandit. + +Praesent suscipit, purus eget tempor placerat, lectus lorem facilisis odio, at sagittis sapien leo ac justo. Etiam suscipit quis nisl vel posuere. Suspendisse vulputate arcu eu metus maximus, vitae scelerisque elit porta. Aliquam pulvinar libero in libero interdum iaculis. In metus ligula, vestibulum et ligula eu, sagittis mattis odio. Duis in convallis lorem. Nam at pharetra est. Donec eleifend fringilla odio vitae placerat. Integer sit amet eros eget odio condimentum placerat sit amet sed purus. Nulla at ultrices velit. Etiam ornare, purus non lacinia ullamcorper, nunc augue interdum magna, quis laoreet ante risus id sapien. + +Aenean id leo gravida, sodales sem ut, imperdiet mauris. Proin pellentesque libero laoreet libero volutpat, quis euismod nibh commodo. Nam et dui vel augue convallis aliquam. Mauris magna diam, ultricies eget placerat porttitor, hendrerit non mi. Quisque pulvinar varius ex, sollicitudin vestibulum est cursus eu. Sed lobortis volutpat massa sed bibendum. Cras rutrum, sem sit amet iaculis egestas, nisi turpis vehicula ipsum, eget congue risus enim vehicula turpis. Curabitur sit amet tortor vitae augue tempor consequat. + +Vestibulum volutpat luctus arcu non elementum. Donec sed lectus id sapien varius laoreet sit amet non nulla. Morbi iaculis turpis tincidunt consectetur feugiat. Donec orci dolor, sagittis in mi ut, gravida iaculis ante. Quisque ut risus a leo laoreet aliquam nec non nulla. Vestibulum ut ipsum vehicula, tempor tortor at, faucibus ipsum. Aliquam varius enim id lacus sagittis, lacinia pretium ipsum aliquam. Ut nulla velit, faucibus eget leo a, sollicitudin vehicula ante. Donec leo ex, fermentum vel imperdiet in, venenatis commodo odio. Donec lacinia bibendum erat ac venenatis. + +Nunc volutpat viverra turpis, sit amet porta nunc viverra vitae. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nullam ut gravida ex, non tincidunt sem. Fusce ac mollis lacus. Duis ac arcu pretium, maximus sapien sed, tristique nulla. Fusce suscipit feugiat ornare. Curabitur vitae accumsan mauris, non suscipit metus. Sed venenatis, lectus sit amet porta blandit, velit arcu rhoncus leo, a laoreet justo urna quis tortor. Nullam faucibus nibh sed ornare sodales. Nulla tempus velit neque, quis elementum dui accumsan ac. Cras fermentum maximus ipsum sit amet volutpat. Mauris consequat leo non finibus tristique. Sed pulvinar risus varius aliquet imperdiet. Vivamus egestas quis tellus vitae aliquet. +\section{Bibliographic References} +The bibliographic reference list are shown at the end of the paper; +starting with an unnumbered heading \emph{"References"}. The list of +references should be sorted in alphabetic order according to the first +author's surname. + +Citations are stated within the body text using the name of the +reference enclosed within parentheses, e.g., \citep{Pantelides:1988}. If +more than one reference is cited at the same place, the list should be +sorted, separated by semicolons and within parentheses, e.g., +\citep{DuffReid:1978,Pierce:2002,Plotkin:1981}. If possible, it is +encouraged to use DOIs instead of URLs in the bibliography. + +%-------------------------------------------------------------------------------- +% References using bibtex +\small +\bibliographystyle{plainnat} +\bibliography{example} +\normalsize + + +\end{document} +