summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-08-31 22:43:58 +0000
committerKarl Berry <karl@freefriends.org>2015-08-31 22:43:58 +0000
commit09ba3955052486948229a3b60ff26fc3c5ed1af2 (patch)
tree65cac92c627b765ed700bd148ad57466c3af230a /Master/texmf-dist
parent247d734469fcd6321136d50012f715e2412670cc (diff)
xebaposter (31aug15)
git-svn-id: svn://tug.org/texlive/trunk@38257 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/latex/xebaposter/README25
-rw-r--r--Master/texmf-dist/doc/latex/xebaposter/images/docs-boxshape.pdfbin0 -> 12002 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xebaposter/images/docs-headerborder.pdfbin0 -> 6050 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xebaposter/images/docs-headershape.pdfbin0 -> 8472 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xebaposter/images/fig3.pdfbin0 -> 128455 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xebaposter/images/fig4.pdfbin0 -> 10658 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xebaposter/images/fig5.pdfbin0 -> 11325 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xebaposter/images/fig6.pdfbin0 -> 5862 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xebaposter/images/logo.pngbin0 -> 9330 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xebaposter/images/shariflogo.pngbin0 -> 21735 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xebaposter/poster-fa.pdfbin0 -> 221491 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xebaposter/poster-fa.tex240
-rw-r--r--Master/texmf-dist/doc/latex/xebaposter/xebaposter-doc.pdfbin0 -> 105806 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xebaposter/xebaposter-doc.tex304
-rw-r--r--Master/texmf-dist/tex/latex/xebaposter/xebaposter.cls1130
15 files changed, 1699 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/xebaposter/README b/Master/texmf-dist/doc/latex/xebaposter/README
new file mode 100644
index 00000000000..3de34c12312
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xebaposter/README
@@ -0,0 +1,25 @@
+_____________________
+The xebaposter class
+v2.1
+
+The class is designed for making an academic poster. This work is a fork of
+baposter by Brian Amberg and Reinhold Kainhofer available at
+http://www.brian-amberg.de/uni/poster/.
+
+The class should be used with bidi and xepersian packages,
+because it uses some special environments and commands from these packages.
+
+For more information, please see the documentation.
+
+Current version release date: 2015/08/28
+___________________
+Seiied-Mohammad-Javad Razvian
+javadr@gmail.com
+
+Copyright © 2015
+It may be distributed and/or modified under the LaTeX Project Public License,
+version 1.3c or higher (your choice). The latest version of
+this license is at: http://www.latex-project.org/lppl.txt
+
+This work is “author-maintained” (as per LPPL maintenance status)
+by Seiied-Mohammad-Javad Razavian.
diff --git a/Master/texmf-dist/doc/latex/xebaposter/images/docs-boxshape.pdf b/Master/texmf-dist/doc/latex/xebaposter/images/docs-boxshape.pdf
new file mode 100644
index 00000000000..c086e2fc702
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xebaposter/images/docs-boxshape.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xebaposter/images/docs-headerborder.pdf b/Master/texmf-dist/doc/latex/xebaposter/images/docs-headerborder.pdf
new file mode 100644
index 00000000000..d2225878a10
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xebaposter/images/docs-headerborder.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xebaposter/images/docs-headershape.pdf b/Master/texmf-dist/doc/latex/xebaposter/images/docs-headershape.pdf
new file mode 100644
index 00000000000..cf58cdbe937
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xebaposter/images/docs-headershape.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xebaposter/images/fig3.pdf b/Master/texmf-dist/doc/latex/xebaposter/images/fig3.pdf
new file mode 100644
index 00000000000..30a883b7a38
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xebaposter/images/fig3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xebaposter/images/fig4.pdf b/Master/texmf-dist/doc/latex/xebaposter/images/fig4.pdf
new file mode 100644
index 00000000000..d3f10233ada
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xebaposter/images/fig4.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xebaposter/images/fig5.pdf b/Master/texmf-dist/doc/latex/xebaposter/images/fig5.pdf
new file mode 100644
index 00000000000..324dd181d35
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xebaposter/images/fig5.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xebaposter/images/fig6.pdf b/Master/texmf-dist/doc/latex/xebaposter/images/fig6.pdf
new file mode 100644
index 00000000000..5c9ab57864d
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xebaposter/images/fig6.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xebaposter/images/logo.png b/Master/texmf-dist/doc/latex/xebaposter/images/logo.png
new file mode 100644
index 00000000000..9dd5d04fbf8
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xebaposter/images/logo.png
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xebaposter/images/shariflogo.png b/Master/texmf-dist/doc/latex/xebaposter/images/shariflogo.png
new file mode 100644
index 00000000000..1f8f80c8273
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xebaposter/images/shariflogo.png
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xebaposter/poster-fa.pdf b/Master/texmf-dist/doc/latex/xebaposter/poster-fa.pdf
new file mode 100644
index 00000000000..1f4787f1e8e
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xebaposter/poster-fa.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xebaposter/poster-fa.tex b/Master/texmf-dist/doc/latex/xebaposter/poster-fa.tex
new file mode 100644
index 00000000000..b2fb43efa2a
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xebaposter/poster-fa.tex
@@ -0,0 +1,240 @@
+\documentclass[debug,a0paper,portrait]{xebaposter}
+
+\usepackage{url}
+\usepackage{amsmath}
+\usepackage{amssymb}
+\usepackage{relsize} % for \smaller
+\usepackage{graphicx}
+\usepackage{multicol}
+\usepackage{xecolor}
+\usepackage{wrapfig}
+\graphicspath{{images/}}
+\usepackage[inline]{enumitem}% for making inline list.
+\setlist{noitemsep}% Save space in lists.
+
+
+\usepackage{ptext}
+\usepackage{xepersian}
+\settextfont{Yas}
+
+%\usepackage{geometry}
+%\geometry{papersize={90cm,170cm},verbose=ture,reset}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %%%% Some math symbols used in the text
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % Format
+% \newcommand{\RotUP}[1]{\begin{sideways}#1\end{sideways}}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % Multicol Settings
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \setlength{\columnsep}{0.7em}
+% \setlength{\columnseprule}{0mm}
+
+%% Begin of Document
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{document}
+%%% Setting User Defined Background %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%if you want to use your preferred background, you should set background=user in poster settings.
+\background{
+ \begin{bidi@tikzpicture}[remember picture,overlay]%
+ \fill [yellow!20] {(current page.south east) rectangle (current page.north west)};%
+ \draw (current page.center)+(0pt,0pt) node[anchor=center,opacity=.1]
+ {\includegraphics[width=1.1\textwidth]{shariflogo}};
+ \end{bidi@tikzpicture}%
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Here starts the poster
+%%---------------------------------------------------------------------------
+%% Format it to your taste with the options
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \definecolor{silver}{cmyk}{0,0,0,0.3}
+ \definecolor{yellow}{cmyk}{0,0,0.9,0.0}
+ \definecolor{reddishyellow}{cmyk}{0,0.22,1.0,0.0}
+ \definecolor{black}{cmyk}{0,0,0.0,1.0}
+ \definecolor{darkYellow}{cmyk}{0,0,1.0,0.5}
+ \definecolor{darkSilver}{cmyk}{0,0,0,0.1}
+
+ \definecolor{lightyellow}{cmyk}{0,0,0.3,0.0}
+ \definecolor{lighteryellow}{cmyk}{0,0,0.1,0.0}
+ \definecolor{lighteryellow}{cmyk}{0,0,0.1,0.0}
+ \definecolor{lightestyellow}{cmyk}{0,0,0.05,0.0}
+
+ \begin{poster}%
+ % Poster Options
+ {
+ eyecatcher=true,
+ % Color style
+ bgColorOne=lighteryellow,
+ bgColorTwo=lightestyellow,
+ borderColor=reddishyellow,
+ headerColorOne=yellow,
+ headerColorTwo=reddishyellow,
+ headerFontColor=cyan,
+ boxColorOne=lightyellow,
+ boxColorTwo=lighteryellow,
+ % Format of textbox
+ textborder=faded,
+ % Format of text header
+ headerborder=closed,
+ headerheight=0.1\textheight,
+ headershape=roundedleft,
+ headershade=plain,
+% headerfont=\Large, %Sans Serif
+ boxshade=plain,
+ background=user,
+ linewidth=2pt,
+ grid=false,
+ }
+ % Eye Catcher
+ {
+ \includegraphics[height=0.07\textheight]{logo}
+ }
+ % Title
+ {عنوان پوستر عنوان پوستر عنوان پوستر عنوان پوستر عنوان پوستر عنوان پوستر عنوان پوستر
+}
+ % Authors
+ {\large نام۱ نام خانوادگی۱, نام۳ نام خانوادگی۲, نام۳ نام خانوادگی۳
+ \\%[1em]
+ {\normalsize\texttt{\lr{name1@mail.org, name2@mail.edu, name3@mail.com}}}}
+ % University logo
+ {
+\begin{tabular}{r}
+ \includegraphics[height=0.07 \textheight]{shariflogo}\\
+\end{tabular}
+ }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Now define the boxes that make up the poster
+%%%---------------------------------------------------------------------------
+%%% Each box has a name and can be placed absolutely or relatively.
+%%% The only inconvenience is that you can only specify a relative position
+%%% towards an already declared box. So if you have a box attached to the
+%%% bottom, one to the top and a third one which should be inbetween, you
+%%% have to specify the top and bottom boxes before you specify the middle
+%%% box.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{posterbox}[name=introduction,column=0,row=0]{\textxecolor{red}{مقدمه}}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+برای تست بسته سعی می‌کنم که یک خط فارسی بنگارم\LTRfootnote{test} تا نتیجه آن را در این پوستر مشاهد کنم\footnote{تست پانویسی}.
+\end{posterbox}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{posterbox}[name=phase2,column=1,span=1]{فاز دو: پردازش}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\begin{wrapfigure}{r}{.6\textwidth}
+%\centering
+% \vspace{-10pt}
+%{
+\includegraphics[scale=.5]{fig3}
+%}
+% \vspace{-20pt}
+\end{wrapfigure}
+
+\ptext[2]
+
+محاسبات لازم:
+\begin{align*}
+f_1 &= \frac{HXY-HXY1}{max\{HX,HY\}}\\
+f_2 &= \sqrt{1-\exp\{-2(HXY2-HXY)\}}
+\end{align*}
+
+{\scriptsize
+\centerline{\begin{minipage}{.95\textwidth}
+C(i, j) is an element of GLC matrix and N is number of gray-levels.
+\end{minipage}}
+\vspace{-.5mm}
+$$\begin{array}{l}
+
+\displaystyle C_x(i) =\sum_{j=1}^N C(i,j), \quad C_y(i)=\sum_{i=1}^N C(i,j)\\
+\displaystyle HXY = -\sum_{i=1}^N\sum_{j=1}^N C(i,j) \log\{C(i,j)\}\\
+\displaystyle HXY1 = -\sum_{i=1}^N\sum_{j=1}^N C(i,j) \log\{C_x(i)\times C_y(j)\}\\
+\displaystyle HXY2 = -\sum_{i=1}^N\sum_{j=1}^N C_x(i)\times C_y(j) \log\{C_x(i)\times C_y(j)\}\\
+\end{array}$$
+}
+\end{posterbox}
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{posterbox}[name=phase3,column=2,span=1,row=0]{استخراج ویژگی‌های: دوتایی}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ptext[7]
+\centerline{\includegraphics[scale=1.1,height=7cm]{fig4}}
+\end{posterbox}
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{posterbox}[name=phase4,column=2,span=1,below=phase3]{جداسازی}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ptext[6]
+\end{posterbox}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{posterbox}[name=results,column=1,span=2,below=phase2]{نتایج}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{multicols}{2}
+ \centerline{\includegraphics[scale=.7]{fig6}}
+ \ptext[2-3]
+
+ \centerline{\includegraphics[scale=.7]{fig5}}
+\end{multicols}
+\end{posterbox}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{posterbox}[name=imagedataset,column=0,span=1,below=introduction]{پایگاه داده تصاویر}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{itemize}
+ \item ۱۱۰ تصویر سالم
+ \item ۶۶ تصویر ناسالم
+ \item ۶۰ درصد تصاویر برای آموزش به کار برده شده‌اند و مابقی برای تست درستی الگوریتم.
+ \item وبسایت \url{http://www.med.harvard.edu/AANLIB/home.html}
+\end{itemize}
+\end{posterbox}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{posterbox}[name=phase1,column=0,span=1,below=imagedataset]{فاز یک{:} پیش‌پردازش}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ptext[12]
+\begin{enumerate}
+ \item پشت زمینه
+ \item زنگ روشن
+ \item بخش‌های نامرتبط
+\end{enumerate}
+\ptext[14]
+
+برای هر $\lambda \geq 0$ ورودی نیمه‌مثبت $x\in R^m$ صحیح به‌دست می‌آید البته اگر برای $\lambda X$، $\lambda Y$ ($\lambda >0$) آنگاه ($\lambda y$ و $\lambda x$)
+
+\ptext[16-17]
+\end{posterbox}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{posterbox}[name=adhoc,column=0,span=1,below=phase1]{همینطوری}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\textxecolor{red}
+{برای پر کردن فضا استفاده شده است. برای پر کردن فضا استفاده شده است. برای پر کردن فضا استفاده شده است.
+برای پر کردن فضا استفاده شده است. برای پر کردن فضا استفاده شده است. برای پر کردن فضا استفاده شده است.
+سلام}
+\end{posterbox}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{posterbox}[name=references,column=1,span=2,below=results]{منابع}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \smaller
+% \bibliographystyle{ieee}
+ \renewcommand{\section}[2]{\vskip 0.05em}
+ \begin{thebibliography}{1}\itemsep=-0.01em
+ \setlength{\baselineskip}{0.4em}
+ \bibitem{}
+ محمود سیستانی, سیدجواد علوی, رضا حسینی
+ , ''بررسی پوستر در فضای فارسی``
+ , کنفرانس سالانه کامپیوتر, صفحات 868--871, بهار ۱۳۹۲.
+ \end{thebibliography}
+\end{posterbox}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{posterbox}[name=ack,column=0,span=2,below=references]{قدردانی}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+با تشکر از دکتر \lr{Brian Amberg}؛ این کار فارسی‌سازی پوستری است که توسط ایشان طراحی شده است\footnote{\url{http://www.brian-amberg.de/uni/poster/}}.
+\end{posterbox}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{posterbox}[name=ack,column=2,span=1,below=references]{خالی}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+فضای خالی فضای خالی فضای خالی فضای خالی فضای خالی فضای خالی فضای خالی فضای خالی فضای خالی فضای خالی
+فضای خالی فضای خالی فضای خالی فضای خالی فضای خالی فضای خالی فضای خالی فضای خالی فضای خالی فضای خالی
+\end{posterbox}%%
+\end{poster}
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/xebaposter/xebaposter-doc.pdf b/Master/texmf-dist/doc/latex/xebaposter/xebaposter-doc.pdf
new file mode 100644
index 00000000000..cf65f47e6e2
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xebaposter/xebaposter-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xebaposter/xebaposter-doc.tex b/Master/texmf-dist/doc/latex/xebaposter/xebaposter-doc.tex
new file mode 100644
index 00000000000..7164d84bf7b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xebaposter/xebaposter-doc.tex
@@ -0,0 +1,304 @@
+\documentclass[debug,a0paper,portrait]{xebaposter}
+
+\usepackage{url}
+\usepackage{amsmath}
+\usepackage{amssymb}
+%\usepackage{relsize}
+%\usepackage{graphicx}
+\usepackage{multicol}
+\usepackage{xecolor}
+%\usepackage[verbose]{wrapfig}
+\graphicspath{{images/}}
+\usepackage[inline]{enumitem}% for making inline list.
+\setlist{noitemsep}% Save space in lists.
+
+\usepackage{xepersian}
+\settextfont{Yas}
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %%%% Some math symbols used in the text
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % Format
+% \newcommand{\RotUP}[1]{\begin{sideways}#1\end{sideways}}
+
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % Multicol Settings
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \setlength{\columnsep}{0.7em}
+% \setlength{\columnseprule}{0mm}
+
+
+%% Begin of Document
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{document}
+%%% Setting User Defined Background %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%if you want to use your preferred background, you should set background=user in poster settings.
+\background{
+ \begin{bidi@tikzpicture}[remember picture,overlay,opacity=.3]%
+ \fill [green!20!yellow] {(current page.south east) rectangle (current page.north west)};%
+ \draw (current page.north west)+(-2em,2em) node[anchor=north west,opacity=.3]
+ {\includegraphics[width=1.1\textwidth]{logo}};
+ \end{bidi@tikzpicture}%
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Here starts the poster
+%%---------------------------------------------------------------------------
+%% Format it to your taste with the options
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \definecolor{silver}{cmyk}{0,0,0,0.3}
+ \definecolor{yellow}{cmyk}{0,0,0.9,0.0}
+ \definecolor{reddishyellow}{cmyk}{0,0.22,1.0,0.0}
+ \definecolor{black}{cmyk}{0,0,0.0,1.0}
+ \definecolor{darkYellow}{cmyk}{0,0,1.0,0.5}
+ \definecolor{darkSilver}{cmyk}{0,0,0,0.1}
+
+ \definecolor{lightyellow}{cmyk}{0,0,0.3,0.0}
+ \definecolor{lighteryellow}{cmyk}{0,0,0.1,0.0}
+ \definecolor{lighteryellow}{cmyk}{0,0,0.1,0.0}
+ \definecolor{lightestyellow}{cmyk}{0,0,0.05,0.0}
+
+ \begin{poster}%
+ % Poster Options
+ {
+ eyecatcher=true,
+ % Color style
+ bgColorOne=green!40!yellow!30,%lighteryellow,
+ bgColorTwo=yellow,
+ borderColor=reddishyellow,
+ headerColorOne=yellow,
+ headerColorTwo=reddishyellow,
+ headerFontColor=cyan,
+ boxColorOne=lightyellow,
+ boxColorTwo=lighteryellow,
+ % Format of textbox
+ textborder=rounded,
+ % Format of text header
+ headerborder=closed,
+ headerheight=.087\textheight,
+ headershape=roundedleft,
+ headershade=plain,
+% headerfont=\Large, %Sans Serif
+ boxshade=plain,
+ background=plain,% user,
+ linewidth=2pt,
+ grid=false, % show a grid mesh on poster, it's useful for debugging.
+ }
+ % Eye Catcher
+ {
+ \includegraphics[height=0.07\textheight]{logo}
+ }
+ % Title
+ {طراحی پوستری زیبا و در خور با کمک کلاس \lr{xebaposter} (راهنمـــــــــــــــا)
+}
+ % Authors
+ {\large \lr{Brian Amberg}, \lr{Reinhold Kainhofer}, سیّدمحمّدجواد رضویان
+ \\%[1em]
+ {\normalsize\texttt{\lr{javadr@parsilatex.com, reinhold@kainhofer.com, baposter@brian-amberg.de}}}}
+ % University logo
+ {
+\begin{tabular}{r}
+ \includegraphics[height=0.07 \textheight]{logo}\\
+\end{tabular}
+ }
+% \end{poster}
+% \end{document}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Now define the boxes that make up the poster
+%%%---------------------------------------------------------------------------
+%%% Each box has a name and can be placed absolutely or relatively.
+%%% The only inconvenience is that you can only specify a relative position
+%%% towards an already declared box. So if you have a box attached to the
+%%% bottom, one to the top and a third one which should be inbetween, you
+%%% have to specify the top and bottom boxes before you specify the middle
+%%% box.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{posterbox}[name=introduction,column=0,row=0,headershape=smallrounded]%
+{\textxecolor{red}{مقدمه}}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+همانطوری که می‌دانید یکی از نیازهای جامعه علمی طراحی پوستر است زیرا که در برخی کنفرانس‌ها نویسنده مقاله تنها مجاز به ارائه پوستر
+می‌گردد. در این راستا یک بسته بسیار ساده به نام \texttt{a0poster} وجود دارد که در عین سادگی کار با آن، قابلیت‌های زیادی ندارد.
+از طرفی دیگر بسته‌های زیبایی برای تولید پوستر توسط افرادی دیگر طراحی شده است
+از جمله \texttt{baposter}\footnote{\url{http://www.brian-amberg.de/uni/poster/}}
+ و \texttt{beamerposter}.
+متاسفانه این بسته‌ها با متون راست به چپ، خصوصاً فارسی کار نمی‌کنند. از آنجایی که بسته \texttt{baposter}
+بر پایه \texttt{tikz} طراحی شده است و جناب آقای دکتر وفا خیلقی خالق
+بسته‌های \texttt{bidi} و \texttt{xepersian} امکان پشتیبانی از متون
+راست به چپ را در تصاویر تولیدی بسته \texttt{tikz} فراهم آورده‌اند پس بدین سبب به سراغ این بسته رفته و با تغییراتی در آن،
+این بسته را با متون راست به چپ خصوصا فارسی سازگار نموده و نام \texttt{xebaposter} را بر آن برگزیدیم%
+\footnote{نگارنده ابتدا نام \lr{baposterRL} را انتخاب کرده بود لکن با پیشنهاد دکتر محمود امین‌طوسی نام فعلی را برگزید.}
+--بخوانید زیباپوستر--.
+البته ناگفته نماند که پوسترهای تولیدی با بسته \texttt{beamerposter} زیبایی زاید الوصوفی دارند لکن به سبب اینکه بسته‌های
+بایدی و زی‌پرشین فعلا از بسته \texttt{beamer} پشتیبانی نمی‌کنند --آنهم به سبب وجود باگ‌هایی در موتور زی‌تک-- امکان
+فارسی‌سازی این بسته وجود نداشت پس بدین سبب تنها انتخابمان همان بسته اولیه \texttt{baposter} شد.
+متاسفانه به سبب وجود باگ‌\footnote{گزارش شده در \url{http://qa.parsilatex.com/10715}
+و \url{http://tex.stackexchange.com/questions/262877}} در موتور زی‌لتک فعلاً ویژگی محوشدگی رنگ را نخواهیم داشت.%
+\footnote{برای مشاهده
+نمونه‌هایی از این بسته‌ها می‌توانید به \url{http://www.latextemplates.com/cat/conference-posters} مراجعه نمایید.}
+\end{posterbox}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{posterbox}[name=usage,column=1,span=1,headershape=rounded,textborder=rectangle
+,textborder=faded]{نحوه کاربرد}
+محیط اصلی پوستر، محیط \texttt{poster} است با ساختاری مانند ذیل:
+\begin{latin}
+\vspace{-2mm}
+\begin{verbatim}
+\begin{poster}
+ { key=value options }
+ { Eye Catcher, empty
+ if option eyecatcher=no}
+ { Poster Title }
+ { Poster Authors }
+ { University Logo}
+
+ Definition of the boxes
+\end{poster}
+\end{verbatim}
+\end{latin}
+\end{posterbox}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{posterbox}[name=classoption,column=2,span=1,headershape=rectangle,textborder=roundedsmall]
+{گزینه‌های کلاس}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{itemize}
+ \item \texttt{portrait/landscape}: طرح‌بندی صفحه
+ \item \texttt{a0paper, a1paper, a2paper, a3paper, a4paper, archE}: سایز صفحات از پیش تعریف‌شده
+ \item \texttt{paperwidth=length, paperheight=length}: تنظیم عرض/ارتفاع صفحه.
+ این گزینه‌ها را بهیچوجه با صفحات از پیش‌تعریف شده بکار نبرید.
+ \item \texttt{margin=length}: حاشیه صفحه
+ \item \lr{\texttt{fontscale=real number}}:
+ \item \texttt{showframe}: نمایش فریم. این گزینه‌ در اشکال‌زدایی بکار می‌آید.
+\end{itemize}
+\end{posterbox}
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{posterbox}[name=posteroption,column=1,span=2,below=classoption]{گزینه‌های محیط \lr{poster}}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%\begin{multicols}{2}
+\begin{itemize}
+ \item \texttt{grid={yes,no}}: .نمایش یک گرید. این گزینه در فاز طرح‌بندی پوستر بکار آید.
+ \item \texttt{columns=4}: تعداد ستون‌ها.
+ (در حالت افقی ۴ و در حالت عمودی مقدار پیش‌فرض ۳ است و حداکثر تعداد ستون‌ها ۶ است.)
+ \item \texttt{colspacing=length}: فاصله بین‌ستون‌های پوستر.
+ \item \texttt{headerheight=length}: ارتفاع بخش سرآمد پوستر. مقدار پیش‌فرض آن {\verb|0.1\textheight|} است.
+ \item \lr{\texttt{background=poster background type}}: پشت‌زمینه پوستر را تعیین می‌کند که می‌تواند مقادیر زیر را بگیرد:
+ \begin{enumerate}
+ \item \texttt{plain}: رنگ پشت‌زمینه را رنگ \texttt{bgColorOne} می‌گذارد.
+ \item \texttt{user}: با دستور \verb|\background{...}| پشت‌زمینه مطلوبتان را می‌توانید طراحی نمایید.
+ \item \texttt{none}: بدون پشت زمینه.
+ \end{enumerate}
+ \item \lr{\texttt{bgColorOne=pgf color name}}: رنگ اول پشت‌زمینه. در حالت \texttt{plain} تنها همین رنگ بکار می‌رود.
+ \item \lr{\texttt{bgColorTwo=pgf color name}}: رنگ دوم پشت‌زمینه.
+ \item \lr{\texttt{eyecatcher={yes,no}}}: تعیین می‌کند که آیا آی‌کچر در سرآمد پوستر به نمایش درآید یا نه.
+ این تصویر در سمت راست عنوان قرار خواهد گرفت.
+\end{itemize}
+%\end{multicols}
+\end{posterbox}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{posterbox}[name=posterboxoption,column=1,span=2,below=posteroption,textborder=none
+,headershape=rectangle,headerborder=none,textborder=coils]
+{گزینه‌های محیط \lr{posterbox}}
+ هر جعبه پوستر باید در یک محیط \texttt{posterbox} به صورت زیر تعریف گردد:
+\begin{latin}
+\vspace{-3mm}
+\begin{verbatim}
+ \begin{posterbox}[ key=value options ]{ PosterBox Title }
+ Contents
+ \end{posterbox}
+\end{verbatim}
+\end{latin}
+\begin{itemize}
+ \item \lr{\texttt{name=box name}}: نام جعبه را مشخص می‌کند. این نام در تعیین موقعیت دیگر جعبه‌ها نسبت به آن بکار آید.
+ \item \lr{\texttt{column=column number}}: مشخص می‌کند که جعبه در کدام ستون قرار گیرد
+ --شماره ستون‌ها از صفر شروع می‌شود--.
+ \item \lr{\texttt{span=column span}}:
+ مشخص می‌کند که جعبه شامل چند ستون از پوستر خواهد بود --مقدار پیش‌فرض عدد یک است--.
+ \item \lr{\texttt{borderColor=pgf color name}}:
+ رنگ مورد استفاده در حاشیه جعبه‌ها.
+ \item \lr{\texttt{headerColorOne=pgf color}}:
+ رنگ اول عنوان جعبه.
+ \item \lr{\texttt{headerColorTwo=pgf color name}}:
+ رنگ دوم عنوان جعبه.
+ \item \lr{\texttt{textborder=border type}}:
+ نوع حاشیه پایین جعبه را تعیین می‌کند که خود شامل انواع زیر است:
+
+ \centerline{\includegraphics[scale=0.7]{docs-boxshape}}
+ \item \lr{\texttt{headerborder=header border type}}:
+ آن بخشی از جعبه که پیرامون عنوان قرار می گیرد را تعیین می‌کند:
+
+ \centerline{\includegraphics[scale=0.7]{docs-headerborder}}
+ \item \lr{\texttt{headershape=header border shape}}:
+ نوع آرایش عنوان جعبه را مشخص می‌کند:
+
+ \centerline{\includegraphics[scale=0.7]{docs-headershape}}
+ \item \lr{\texttt{headershade=type of header shading}}:
+
+ \begin{enumerate*}[label=\arabic*)]
+ \item\texttt{plain}
+ \item\texttt{shade-lr}
+ \item\texttt{shade-rl}
+ \item\texttt{shade-tb}
+ \item\texttt{shade-tb-inverse}
+ \end{enumerate*}
+
+ \item \lr{\texttt{boxshade}}:
+
+ \begin{enumerate*}[label=\arabic*)]
+ \item\texttt{plain}
+ \item\texttt{shade-lr}
+ \item\texttt{shade-tb}
+ \item\texttt{plain}
+ \item\texttt{none}
+ \end{enumerate*}
+ \item \lr{\texttt{headerfont=font definition}}:
+ دستوری که قبل از حروفچینی عنوان جعبه قرار داده می‌شود.
+ \item \lr{\texttt{headerFontColor=pgf color name}}:
+ رنگ قلم عنوان جعبه.
+ \item \lr{\texttt{linewidth=length}}:
+ عرض خطوط مورد استفاده در ترسیم پوستر
+ \item \lr{\texttt{above=box name,below=box name,aligned=box name,bottomaligned=box name}}:
+ نام جعبه‌ای را مشخص می‌کند که این جعبه باید نسبت به آن ترازبندی شود.
+\end{itemize}
+\vspace{-2mm}
+ نکته‌ای که باید در چینش جعبه‌ها در نظر داشته باشید این است که مکان جعبه‌ها می‌توانند به صورت نسبی یا دقیق تعیین شود.
+ اگر برای مثال جعبه ب قرار است دقیقاً بین جعبه‌های الف و ج قرار گیرد
+ آنگاه این دو جعبه اخیر حتماً باید پیش از جعبه ب تعریف شوند، در غیر اینصورت سبب تولید خطا می‌گردد. ضمنا می‌توانید بدون
+ تعیین این پارامترها چینش جعبه‌ها را به صورت خودکار و بهمان ترتیب تعریف به خود بسته واگذار نمایید.
+\end{posterbox}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{posterbox}[name=imagedataset,column=0,span=1,below=introduction,textborder=roundedleft]
+{\textxecolor{blue}{اجزاء تشکیل دهنده زیباپوستر}}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+زیباپوستر صفحه پوستر را به دو بخش سرآمد و محتوی تقسیم می‌کند. خود سرآمد نیز از سه بخش آی‌کچر، عنوان و لوگوی موسسه تشکیل
+شده است که بهمین ترتیب نمایش داده می‌شود. بخش آی‌کچر اختیاری است و می‌توان با گزینه \texttt{eyecatcher} آن را فعال یا غیرفعال
+نمود(\texttt{true,false}). در صورت عدم وجود آی‌کچر، عنوان و نام نویسنده‌(ها) راست چین خواهد شد و در صورت وجود آن به صورت
+وسط‌چین در خواهند آمد.
+
+بخش محتوای پوستر شامل تعدادی جعبه \texttt{tikz} است که حاوی مطالب پوستر خواهند بود. این جعبه‌ها از طریق
+محیط \texttt{posterbox} تعریف می‌شوند. تمامی این جعبه‌ها باید درون محیط \lr{poster} تعریف شده باشند.
+هر جعبه نیز از دو بخش عنوان و محتوی تشکیل شده است. و نهایتا پشت زمینه پوستر است که در حال حاضر تنها می‌تواند یک رنگ ساده
+باشد و یا اصلا چیزی نباشد و یا به اختیار کاربر قرار گیرد تا برای مثال در صورت تمایل یک تصویر پشت زمینه قرار دهد --البته همانطور که
+در بالا اشاره گردید برخی قابلیت‌های محیط \lr{tikz} از جمله محوشدگی قابل استفاده نمی‌باشند--.
+\end{posterbox}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{posterbox}[name=setting,column=0,span=1,below=imagedataset%
+,headerFontColor=brown,textborder=roundedright,headershape=roundedright]
+{\textxecolor{brown}{تنظیمـــــــــات (عمومی یا محلی؟!)}}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+کاربر می‌توانید تنظیماتی را که برای رنگ و حالت جعبه‌ها تعریف شده است را به کلی یا جزئی تغییر دهد. بدین معنی که برای یکبار همان
+ابتدای تعریف محیط \lr{poster} که این تنظیمات تعریف می‌شوند بر تمامی جعبه‌ها قابل اعمال هستند لکن این امکان نیز وجود دارد
+که هر جعبه را به طور خاص شخصی‌سازی نمود. در این پوستر سعی شده تا با اتخاذ
+شخصی‌سازی هر جعبه گزینه‌های مختلف موجود تا آنجا که ممکن است نشان داده شود.
+\end{posterbox}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{posterbox}[name=ack,column=0,span=1,below=setting,textborder=faded,
+,textborder=triangles]{قدردانی}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+با تشکر از دکتر \lr{Brian} خالق کلاس پوستر و تشکر ویژه از جناب آقای دکتر وفا خیلقی بخاطر زحماتی که برای فارسی‌نویسی در
+محیط زی‌لاتک انجام‌ داده‌اند و دکتر محمود امین‌طوسی به سبب پیشنهاد نام زیباپوستر و گروه پارسی‌لاتک برای تست این کلاس.
+\end{posterbox}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\end{poster}
+\end{document}
diff --git a/Master/texmf-dist/tex/latex/xebaposter/xebaposter.cls b/Master/texmf-dist/tex/latex/xebaposter/xebaposter.cls
new file mode 100644
index 00000000000..6b0e4ef08f5
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/xebaposter/xebaposter.cls
@@ -0,0 +1,1130 @@
+%%
+%% This is file `xebaposter.cls'
+%%
+%%% Copyright © 2015 by Seiied-Mohammad-Javad Razavian <javadr@gmail.com>
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% This work is “author-maintained” (as per LPPL maintenance status)
+%% by Seiied-Mohammad-Javad Razavian.
+%% The Current Maintainer of this work is Seiied-Mohammad-Javad Razavian
+%%
+%% A relatively comfortable latex class to produce posters with a grid based
+%% layout. It comes with a number of combinable styles and is (maybe only for
+%% the writer) easy to extend, as all the graphics is based on pgf.
+%%
+%%
+%% Copyright (C) 2007-2011 Brian Amberg
+%% Copyright (C) 2011 Reinhold Kainhofer <reinhold@kainhofer.com>
+%% Copyright (C) 2015 Seiied-Mohammad-Javad Razavian <javadr@gmail.com>
+%%
+%% 28. August 2015:
+%% - A bidi@tikzpicture is used instead of tikzpicture because it causes some unwanted extra spaces in the poster.
+%% 21. August 2015:
+%% - The xebaposter is named after changing the baposter style to adapt with right to left text like persian.
+%% 29. September 2011:
+%% - Finally fixed confusion with paper size handling and landscape. This required seperate handling of papersizes
+%% known to the geometry package and other packages.
+%% 26. September 2011:
+%% - Reverted drawing of faded borders to manual method, as the current result does not work with evince,
+%% and produced spurious colored boxes with okular and acroread.
+%% - Added one more example due to popular request
+%% 16. September 2011:
+%% - Removed nag package, such that it compiles on older systems
+%% - Added more examples
+%% 15. September 2011:
+%% - Merged fork by (rk) back into mainline, essentially taking over all the great improvements that Reinhold Kainhofer coded.
+%% We call this version 2, as it breaks the interface in some small points. Essentially watch out for this:
+%% - no/yes keys are now false/true
+%% - the shade-lr etc. keys have the hypen removed, and are now called shadelr etc.
+% - Added more examples, which are all adapted to work with the current version
+%% 27. August 2011 (rk):
+%% - Completely factored out all drawing commands to handler functions, assigned via choice keys
+%% - Added cornerradius, boxheaderheight, boxpadding options
+%% - Added missing roundedright
+%% 26. August 2011 (rk):
+%% - Turned headerbox cmd into posterbox environment (allows verbatim)
+%% - pass several options to packages
+%% - added debug cls option to reduce default output
+%% - rewrote several loops and ifthenelse
+%% - Use boolean and choice keys for all options
+%% - Changed all choice options to set a global function to
+%% \baposter@OPTION@OPTIONVALUE, which are a functions that execute the
+%% option's setting (drawing routine, color setting for tikz, etc.)
+%% - Add a5paper
+%% 07. April 2011: Fixed paper size handling
+%% - Fixed Paper Size handling, you can now specify all page sizes using paperwidth=, paperheight= class options.
+%% - Added rudimentary documentation of the available keys.
+%% 11. December 2010: Fixed "Empty Second Page" bug
+%% - A second empty page was introduced when a document ended with
+%% \end{poster}
+%% \end{document}
+%% This was fixed thanks to a suggestion by Martin Aulbach
+%% - Added
+%% \thispagestyle{empty}%% to suppress page numbers, which became visible when the margins are large.
+%% The underlying problem of page-size handling has not yet been solved.
+%% 30. September 2010: Border Bugfixes
+%% - Correct background color with textborder=rounded-small, Thanks to Ke Chen for the bugreport and patch
+%% - Correctly draw rectangular text boxes, Thanks to abenkst for the bugreport and fix
+%% 10. June 2010: Added option to set the number of columns
+%% - added a class option to set the number of columns
+%% - columns=5: sets the number of columns to 5, possible values are 1..6, default is 3 in portrait and 4 in landscape format
+%% 29. April 2009: Incorporated Patches by Arne Henningsen
+%% - added some class options
+%% - a4shrink: shrink the paper to A4 size (for printing drafts or handouts)
+%% - movebody=Xpt: move the text/poster body Xpt to the right
+%% (or to the left if Xpt is negative),
+%% e.g. for manually centering the poster on the page
+%% - showframe: use the "showframe" option of the "geometry" package
+%% - a0paper (default): set paper size to A0
+%% - archE: set paper size to Arch E
+%% - setting "background" can be "none" now (otherwise the "showframe"
+%% option has no effect)
+%% - the page number has been removed (it was mostly not visible before)
+%% - the "margin=" option works now
+%% 04. December 2008
+%% - Mainly an update to the landscape example
+%% 14. November 2008
+%% - Actually center the title when eyecatcher is used.
+%% 04. November 2008
+%% - Fixed bug with eyecatcher not working.
+%% 26. June 2008
+%% - Fixed bug with plain background mode.
+%% 14. June 2008
+%% - Support for portrait/landscape switching.
+%% - Some smaller bugfixes.
+%% 01. June 2007
+%% - First version released.
+%%
+%% Use this class with xelatex
+%%
+%% I have confirmed that this package works with
+%% - texlive 2015
+%%
+%%
+%% TODO:
+%% -) Rename backgrounds back to shaded-tb shade-lr
+%% -) Rename textborder back to rounded-small (consistent naming needed!)
+%% -) Rename headershade back to shade-lr, shade-tb, shade-tb-inverse
+%% -) Rename headershape back to small-rounded
+%% -) Option value consistency (small-rounded vs. rounded-small; missing ones)
+%% -) Rename \xebaposterHeaderSetShade, \xebaposterHeaderDrawText to include @ and verb
+%%
+%%
+%% Licence: GPL
+\ProvidesClass{xebaposter}[2015/08/28 v2.1 xebaposter class]
+\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+\LoadClass{article}
+\typeout{baposter: Brian Amberg, 2007, 2008, 2009, 2010, 2011 | http://www.brian-amberg.de/uni/poster/}
+\typeout{baposter: Reinhold Kainhofer, 2011 | http://reinhold.kainhofer.com/}
+\typeout{xebaposter: Seiied-Mohammad-Javad Razavian, 2015}
+%
+%% Define lengths only once on inclusion, such that we can make multiple posters
+\newlength{\xebaposter@basepaperwidth}%
+\newlength{\xebaposter@basepaperheight}%
+\newlength{\xebaposter@basemargin}%
+\newlength{\xebaposter@finalpaperwidth}%
+\newlength{\xebaposter@finalpaperheight}%
+\newlength{\xebaposter@finalmargin}%
+\newlength{\headerheight}%
+\newlength{\colwidth}%
+\newlength{\colheight}%
+\newlength{\xebaposter@@colspacing}%
+\newlength{\xebaposter@box@@cornerradius}%
+\newlength{\xebaposter@box@@boxheaderheight}%
+\newlength{\xebaposter@box@@boxpadding}%
+\newlength{\boxstartx}%
+\newlength{\boxstarty}%
+\newlength{\boxwidth}%
+\newlength{\boxheight}%
+\newlength{\xebaposter@titleimage@left@width}%
+\newlength{\xebaposter@titleimage@right@width}%
+\newlength{\xebaposter@titleimage@textwidth}%
+\newbox\xebaposter@box@content%
+\newbox\xebaposter@titleimage@left%
+\newbox\xebaposter@titleimage@title%
+\newbox\xebaposter@titleimage@right%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Packages
+%-------------------------------------------------------------------------------
+% The only ``weird'' dependency of this package is pgf. All the rest should be
+% installed on any decent system.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\typeout{Use Packages}%
+\RequirePackage{xkeyval}%
+\RequirePackage{calc}%
+\RequirePackage[cmyk]{xcolor}%
+\RequirePackage{tikz}%
+\RequirePackage{pgf}%
+\RequirePackage{ifthen}%
+\RequirePackage[T1]{fontenc}%
+%\RequirePackage[l2tabu, orthodox]{nag}%
+\usetikzlibrary{decorations}%
+\usetikzlibrary{fadings}%
+\usetikzlibrary{snakes}%
+\usetikzlibrary{calc}%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Settings
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Choose a smaller value for larger fonts
+\newcommand{\xebaposter@fontscale}{0.292}%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Zoom
+%-------------------------------------------------------------------------------
+% We scale the page from fontscale * papersize up to papersize
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%
+%% Paper sizes
+\newif\if@landscape%
+\newif\if@geometryKnowsThisSize%
+\DeclareOptionX{landscape}{\@landscapetrue}%
+\DeclareOptionX{portrait}{}%
+%
+\newcommand{\xebaposter@setfinalpapersize}[2]{%
+\if@geometryKnowsThisSize
+ \setlength{\xebaposter@finalpaperwidth}{#1}%
+ \setlength{\xebaposter@finalpaperheight}{#2}%
+\else
+\if@landscape
+% Transpose length, if geometry does not handle the papersize based on the key
+ \setlength{\xebaposter@finalpaperwidth}{#2}%
+ \setlength{\xebaposter@finalpaperheight}{#1}%
+\else
+ \setlength{\xebaposter@finalpaperwidth}{#1}%
+ \setlength{\xebaposter@finalpaperheight}{#2}%
+\fi
+\fi
+}
+%
+% Default paperwidth and paperheight = a0paper
+\DeclareOptionX{paperwidth}[841mm]{\setlength{\xebaposter@finalpaperwidth}{#1}}%
+\DeclareOptionX{paperheight}[1189mm]{\setlength{\xebaposter@finalpaperheight}{#1}}%
+\DeclareOptionX{archA} { \xebaposter@setfinalpapersize{9in}{12in}}%
+\DeclareOptionX{archB} { \xebaposter@setfinalpapersize{12in}{18in}}%
+\DeclareOptionX{archC} { \xebaposter@setfinalpapersize{18in}{24in}}%
+\DeclareOptionX{archD} { \xebaposter@setfinalpapersize{24in}{36in}}%
+\DeclareOptionX{archE} { \xebaposter@setfinalpapersize{36in}{48in}}%
+\DeclareOptionX{archE1} { \xebaposter@setfinalpapersize{30in}{42in}}%
+\DeclareOptionX{archE2} { \xebaposter@setfinalpapersize{26in}{38in}}%
+\DeclareOptionX{archE3} { \xebaposter@setfinalpapersize{27in}{39in}}%
+\DeclareOptionX{a0paper} {\@geometryKnowsThisSizetrue\xebaposter@setfinalpapersize{841mm}{1189mm}}%g
+\DeclareOptionX{a1paper} {\@geometryKnowsThisSizetrue\xebaposter@setfinalpapersize{594mm}{841mm}}%g
+\DeclareOptionX{a2paper} {\@geometryKnowsThisSizetrue\xebaposter@setfinalpapersize{420mm}{594mm}}%g
+\DeclareOptionX{a3paper} {\@geometryKnowsThisSizetrue\xebaposter@setfinalpapersize{297mm}{420mm}}%g
+\DeclareOptionX{a4paper} {\@geometryKnowsThisSizetrue\xebaposter@setfinalpapersize{210mm}{297mm}}%g
+\DeclareOptionX{a5paper} {\@geometryKnowsThisSizetrue\xebaposter@setfinalpapersize{148mm}{210mm}}%g
+\DeclareOptionX{a6paper} {\@geometryKnowsThisSizetrue\xebaposter@setfinalpapersize{105mm}{148mm}}%g
+\DeclareOptionX{b0paper} {\@geometryKnowsThisSizetrue\xebaposter@setfinalpapersize{1000mm}{1414mm}}%g
+\DeclareOptionX{b1paper} {\@geometryKnowsThisSizetrue\xebaposter@setfinalpapersize{707mm}{1000mm}}%g
+\DeclareOptionX{b2paper} {\@geometryKnowsThisSizetrue\xebaposter@setfinalpapersize{500mm}{707mm}}%g
+\DeclareOptionX{b3paper} {\@geometryKnowsThisSizetrue\xebaposter@setfinalpapersize{353mm}{500mm}}%g
+\DeclareOptionX{b4paper} {\@geometryKnowsThisSizetrue\xebaposter@setfinalpapersize{250mm}{353mm}}%g
+\DeclareOptionX{b5paper} {\@geometryKnowsThisSizetrue\xebaposter@setfinalpapersize{176mm}{250mm}}%g
+\DeclareOptionX{b6paper} {\@geometryKnowsThisSizetrue\xebaposter@setfinalpapersize{125mm}{176mm}}%g
+\DeclareOptionX{ansiapaper} {\@geometryKnowsThisSizetrue\xebaposter@setfinalpapersize{8.5in}{11in}}%
+\DeclareOptionX{ansibpaper} {\@geometryKnowsThisSizetrue\xebaposter@setfinalpapersize{11in}{17in}}%
+\DeclareOptionX{ansicpaper} {\@geometryKnowsThisSizetrue\xebaposter@setfinalpapersize{17in}{22in}}%
+\DeclareOptionX{ansidpaper} {\@geometryKnowsThisSizetrue\xebaposter@setfinalpapersize{22in}{34in}}%
+\DeclareOptionX{ansiepaper} {\@geometryKnowsThisSizetrue\xebaposter@setfinalpapersize{34in}{44in}}%
+\DeclareOptionX{letterpaper} {\@geometryKnowsThisSizetrue\xebaposter@setfinalpapersize{8.5in}{11in}}%
+\DeclareOptionX{legalpaper} {\@geometryKnowsThisSizetrue\xebaposter@setfinalpapersize{8.5in}{14in}}%
+\DeclareOptionX{executivepaper}{\@geometryKnowsThisSizetrue\xebaposter@setfinalpapersize{7.25in}{10.5in}}%
+\DeclareOptionX{screen} {\@geometryKnowsThisSizetrue\xebaposter@setfinalpapersize{225mm}{180mm}}%g
+%
+% Margin
+\setlength{\xebaposter@finalmargin}{1.5cm}%
+\DeclareOptionX{fontscale}[0.292]{\renewcommand{\xebaposter@fontscale}{#1}}%
+\DeclareOptionX{margin} [1.5cm]{\setlength{\xebaposter@finalmargin}{#1}}%
+%
+% move text/poster body to the right (or to the left if negative)
+\newlength{\xebaposter@movebody}%
+\setlength{\xebaposter@movebody}{0cm}%
+\DeclareOptionX{movebody}[0cm]{\setlength{\xebaposter@movebody}{#1}}%
+%
+%
+\newif\if@debug%
+\DeclareOptionX{debug}{\@debugtrue}%
+%% Will be passed on to other packages (xcolor and geometry), still we don't want unused warnings
+\DeclareOptionX{table}{}%
+\DeclareOptionX{showframe}{}%
+%
+\ProcessOptionsX%
+%
+\if@debug
+\newcommand{\debug}[1]{\typeout{#1}}%
+\else
+\newcommand{\debug}[1]{}%
+\fi
+%
+%
+%
+\setlength{\xebaposter@basepaperwidth} {\xebaposter@fontscale\xebaposter@finalpaperwidth }%
+\setlength{\xebaposter@basepaperheight}{\xebaposter@fontscale\xebaposter@finalpaperheight}%
+\setlength{\xebaposter@basemargin} {\xebaposter@fontscale\xebaposter@finalmargin}%
+\newlength{\xebaposter@basemarginright}%
+\setlength{\xebaposter@basemarginright}{\xebaposter@basemargin}%
+\addtolength{\xebaposter@basemarginright}{-\xebaposter@fontscale\xebaposter@movebody}%
+\newlength{\xebaposter@basemarginleft}%
+\setlength{\xebaposter@basemarginleft}{\xebaposter@basemargin}%
+\addtolength{\xebaposter@basemarginleft}{\xebaposter@fontscale\xebaposter@movebody}%
+%
+\typeout{Paperwidth=\the\xebaposter@finalpaperwidth}%
+\typeout{Paperheight=\the\xebaposter@finalpaperheight}%
+\typeout{BasePaperwidth=\the\xebaposter@basepaperwidth}%
+\typeout{BasePaperheight=\the\xebaposter@basepaperheight}%
+\usepackage[
+ paperwidth=\xebaposter@basepaperwidth,%
+ paperheight=\xebaposter@basepaperheight,%
+ tmargin=\xebaposter@basemargin,%
+ bmargin=\xebaposter@basemargin,%
+ lmargin=\xebaposter@basemarginleft,%
+ rmargin=\xebaposter@basemarginright,%
+ ]{geometry}%
+%
+\usepackage{pgfpages}%
+\if@landscape
+\if@geometryKnowsThisSize
+\pgfpagesuselayout{resize to}[physical paper width=\xebaposter@finalpaperheight,physical paper height=\xebaposter@finalpaperwidth]%
+\else
+\pgfpagesuselayout{resize to}[physical paper width=\xebaposter@finalpaperwidth,physical paper height=\xebaposter@finalpaperheight]%
+\fi
+\else
+\pgfpagesuselayout{resize to}[physical paper width=\xebaposter@finalpaperwidth,physical paper height=\xebaposter@finalpaperheight]%
+\fi
+%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Default functions for borders/backgrounds
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%% These functions will all be redefined from the actual option values. In
+%% particular, they will be set to \xebaposter@optionname@optionvalue, which
+%% should do the actual work / setting for that particular optionvalue.
+%
+\newcommand{\xebaposterPosterDrawBackground}[2]{} % Draw poster background
+%
+\newcommand{\xebaposterBoxGetShape}{} % Returns path of text box shape
+\newcommand{\xebaposterBoxDrawBackground}[2]{} % Draw bg of boxes
+\newcommand{\xebaposterBoxDrawBorder}[1]{} % Draw border of individual boxes
+%
+\newcommand{\xebaposterHeaderGetShape}{} % Returns path of text box shape
+\newcommand{\xebaposterHeaderSetShade}[3]{} % Set bg style for box headers
+\newcommand{\xebaposterHeaderDrawBackground}[3]{} % Draw background of box header
+\newcommand{\xebaposterHeaderDrawBorder}[1]{} % Draw border of box header
+\newcommand{\xebaposterHeaderDrawText}[1]{} % Draw text inside box header
+%
+\newcommand{\@@previousbox}{notset} % stores the previously processed box for below=auto
+%
+% Function to set a user-defined background
+\newcommand{\xebaposter@backgroundCmd}{\error{No background command defined. Use \background{...} to define background}}%
+\newcommand{\background}[1]{\renewcommand{\xebaposter@backgroundCmd}{#1}}%
+%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Handle poster and box options
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+\debug{Handling keys}%
+%
+%%
+%% POSTER OPTIONS
+%%
+%% Store all poster options in variables of the form \xebaposter@option
+%% choose-keys also store the index in \xebaposter@optionnr
+%% choose-keys typically also assign a function
+\definecolor{xebaposter@silver}{cmyk}{0,0,0,0.7}%
+\define@boolkey[ba]{poster}[xebaposter@]{grid} [false] {}%
+\define@boolkey[ba]{poster}[xebaposter@]{eyecatcher} [true] {}%
+\define@cmdkey [ba]{poster}[xebaposter@]{headerheight} [0.1\textheight]{}%
+\define@cmdkey [ba]{poster}[xebaposter@]{columns} [{}] {}%
+\define@cmdkey [ba]{poster}[xebaposter@]{colspacing} [1em] {}%
+\define@cmdkey [ba]{poster}[xebaposter@]{bgColorOne} [xebaposter@silver]{}%
+\define@cmdkey [ba]{poster}[xebaposter@]{bgColorTwo} [green] {}%
+%
+% background can be one of: shadeLR, shadeTB, plain, user, none
+\define@choicekey*+[ba]{poster}{background}%
+ [\xebaposter@background\xebaposter@backgroundnr]%
+ {shadeLR, shadeTB, plain, user, none} [plain] {%
+ \debug{Poster background: \xebaposter@background}%
+ \renewcommand{\xebaposterPosterDrawBackground}[2]{%
+ \csname xebaposter@background@\xebaposter@background\endcsname{##1}{##2}}%
+}{%
+ \PackageWarning{xebaposter}{Unknown background `\xebaposter@background' (use
+ shadeLR, shadeTB, plain, none, or user). If user is used, you also
+ have to define \background{...}.}%
+ \renewcommand{\xebaposterPosterDrawBackground}[2]{\xebaposter@background@none{##1}{##2}}
+}%
+%
+%
+%%
+%% BOX OPTIONS
+%%
+\define@cmdkey[ba]{posterbox}[xebaposter@box@]{cornerradius} [1em] {}%
+\define@cmdkey[ba]{posterbox}[xebaposter@box@]{boxheaderheight} [2em] {}%
+\define@cmdkey[ba]{posterbox}[xebaposter@box@]{boxpadding} [0.5em] {}%
+%
+%
+% textborder can be one of: none, bars, coils, triangles, rectangle, rounded,
+% roundedleft, roundedsmall, faded; UNIMPLEMENTED: roundedright
+\edef\xebaposter@box@textborder@validvalues{none,bars,coils,triangles,rectangle,rounded,roundedleft,roundedsmall,faded}%
+\define@choicekey*+[ba]{posterbox}{textborder}%
+ [\xebaposter@box@textborder\xebaposter@box@textbordernr]%
+ {none,bars,coils,triangles,rectangle,rounded,roundedleft,roundedright,roundedsmall,faded} [rectangle] {%
+ \debug{Text border: \xebaposter@box@textborder}%
+ \renewcommand{\xebaposterBoxGetShape}{%
+ \csname xebaposter@box@boxshape@\xebaposter@box@textborder\endcsname}%
+ \renewcommand{\xebaposterBoxDrawBorder}[1]{%
+ \csname xebaposter@box@drawborder@\xebaposter@box@textborder\endcsname{##1}}%
+}{%
+ \PackageWarning{xebaposter}{Unknown text-border style `\xebaposter@box@textborder'.
+ Edit your file to choose a valid option (\xebaposter@box@textborder@validvalues).}%
+ \renewcommand{\xebaposterBoxGetShape}{\xebaposter@boxshape@rectangle}%
+ \renewcommand{\xebaposterBoxDrawBorder}[1]{\xebaposter@drawborder@rectangle{##1}}%
+}%
+%
+% boxshade can be one of: shadeLR, shadeTB, plain, none
+\define@choicekey*+[ba]{posterbox}{boxshade}%
+ [\xebaposter@box@boxshade\xebaposter@box@boxshadenr]%
+ {shadelr,shaderl,shadetb,plain,none} [none] {%
+ \debug{Box shade: \xebaposter@box@boxshade}%
+ \renewcommand{\xebaposterBoxDrawBackground}[2]{%
+ \csname xebaposter@box@drawbackground@\xebaposter@box@boxshade\endcsname{##1}{##2}}%
+}{%
+ \PackageWarning{xebaposter}{Unknown boxshade style `\xebaposter@boxshade'.
+ Edit your file to choose a valid option.}%
+ \renewcommand{\xebaposterBoxDrawBackground}[2]{\xebaposter@box@drawbackground@none{##1}{##2}}%
+}%
+%
+% headershade can be one of: shade-lr,shade-rl, shade-tb, shade-tb-inverse, plain
+\define@choicekey*+[ba]{posterbox}{headershade}%
+ [\xebaposter@box@headershade\xebaposter@box@headershadenr]%
+ {shadelr,shaderl, shadetb, shadetbinverse, plain} [shadelr] {%
+ \debug{Header shade: \xebaposter@box@headershade}%
+ \renewcommand{\xebaposterHeaderSetShade}[3]{%
+ \csname xebaposter@box@headershade@\xebaposter@box@headershade\endcsname{##1}{##2}{##3}}
+}{%
+ \PackageWarning{xebaposter}{Unknown headershade style `\xebaposter@box@headershade'.
+ Edit your file to choose a valid option.}%
+ \renewcommand{\xebaposterHeaderSetShade}[3]{\xebaposter@box@headershade@none{##1}{##2}{##3}}%
+}%
+%
+% headershape can be one of: rectangle, rounded, smallrounded, roundedleft, roundedright
+\define@choicekey*+[ba]{posterbox}{headershape}%
+ [\xebaposter@box@headershape\xebaposter@box@headershapenr]%
+ {rectangle,rounded,smallrounded,roundedleft,roundedright} [roundedright] {%
+ \debug{Header shape: \xebaposter@box@headershape}%
+ \renewcommand{\xebaposterHeaderGetShape}{%
+ \csname xebaposter@box@headershape@\xebaposter@box@headershape\endcsname}%
+ \renewcommand{\xebaposterHeaderDrawText}[1]{%
+ \csname xebaposter@box@headerdrawtext@\xebaposter@box@headershape\endcsname{##1}}%
+ \renewcommand{\xebaposterHeaderDrawBorder}[1]{%
+ \csname xebaposter@box@headerdrawborder@\xebaposter@box@headershape\endcsname{##1}}%
+}{%
+ \PackageWarning{xebaposter}{Unknown headershape style `\xebaposter@headershape'.
+ Edit your file to choose a valid option.}%
+ \renewcommand{\xebaposterHeaderGetShape}{\xebaposter@box@headershape@rectangle}%
+ \renewcommand{\xebaposterHeaderDrawText}[1]{\xebaposter@box@headerdrawtext@rectangle{##1}}%
+ \renewcommand{\xebaposterHeaderDrawBorder}[1]{\xebaposter@box@headerdrawborder@rectangle{##1}}%
+}%
+%
+% headerborder can be one of: open, closed, none
+\define@choicekey*+[ba]{posterbox}{headerborder}%
+ [\xebaposter@box@headerborder\xebaposter@box@headerbordernr]%
+ {open,closed,none} [open] {%
+ \debug{Header border: \xebaposter@box@headerborder}%
+% \renewcommand{\xebaposterHeaderBorder}{
+% \csname xebaposter@headerborder@\xebaposter@box@headerborder\endcsname}
+}{%
+ \PackageWarning{xebaposter}{Unknown headerborder style `\xebaposter@headerborder'.
+ Edit your file to choose a valid option.}%
+% \renewcommand{\xebaposterHeaderBorder}{\xebaposter@box@headerborder@rectangle}
+}%
+%
+%
+\define@cmdkey[ba]{posterbox}[xebaposter@box@]{borderColor} [yellow] {}%
+\define@cmdkey[ba]{posterbox}[xebaposter@box@]{headerColorOne} [red] {}%
+\define@cmdkey[ba]{posterbox}[xebaposter@box@]{headerColorTwo} [brown] {}%
+\define@cmdkey[ba]{posterbox}[xebaposter@box@]{headerFontColor} [black] {}%
+\define@cmdkey[ba]{posterbox}[xebaposter@box@]{boxColorOne} [magenta] {}%
+\define@cmdkey[ba]{posterbox}[xebaposter@box@]{boxColorTwo} [cyan] {}%
+\define@cmdkey[ba]{posterbox}[xebaposter@box@]{headerfont} [\scshape\Large] {}%
+\define@cmdkey[ba]{posterbox}[xebaposter@box@]{textfont} [{}] {}%
+%
+\define@cmdkey[ba]{posterbox}[xebaposter@box@]{linewidth} [2pt] {}%
+%
+\define@cmdkey[ba]{posterbox}[xebaposter@box@]{below} [notset]{}%
+\define@cmdkey[ba]{posterbox}[xebaposter@box@]{above} [notset]{}%
+\define@cmdkey[ba]{posterbox}[xebaposter@box@]{aligned}[notset]{}%
+\define@cmdkey[ba]{posterbox}[xebaposter@box@]{bottomaligned}[notset]{}%
+\define@cmdkey[ba]{posterbox}[xebaposter@box@]{column} [0] {}%
+\define@cmdkey[ba]{posterbox}[xebaposter@box@]{row} [0] {}%
+\define@cmdkey[ba]{posterbox}[xebaposter@box@]{span} [1] {}%
+\define@cmdkey[ba]{posterbox}[xebaposter@box@]{height} [auto] {}%
+\define@cmdkey[ba]{posterbox}[xebaposter@box@]{name} [noname]{}%
+%
+% Set some default values, the poster and posterbox environments can override:
+\setkeys[ba]{poster}{%
+ % Debug grid
+ grid=false,%
+ % Is there an eyecatcher image
+ eyecatcher=true,%
+ columns={},%
+ % Colours
+ bgColorOne=xebaposter@silver,%
+ bgColorTwo=green,%
+ %
+ colspacing=1em,%
+ headerheight=0.1\textheight,%
+ background=shadeLR,%
+}{}%
+\setkeys[ba]{posterbox}{%
+ % Position
+ column=0,row=0,span=1,%
+ below=notset,above=notset,%
+ bottomaligned=notset,%
+ aligned=notset,%
+ height=auto,%
+ % Name
+ name=noname,%
+ % Box design: border:
+ linewidth=2pt,%
+ borderColor=yellow,%
+ cornerradius=1em,%
+ % text box:
+ textfont={},%
+ boxshade=plain,%
+ boxColorOne=magenta,%
+ boxColorTwo=cyan,%
+ textborder=faded,%
+ boxpadding=0.5em,%
+ % header
+ headerfont=\scshape\Large,% or headerfont=\color{white}\textsf\textbf
+ headerFontColor=black,%
+ headerColorOne=red,%
+ headerColorTwo=brown,%
+ headershape=rectangle,%
+ headershade=shadeLR,%
+ headerborder=none,%
+ boxheaderheight=2em,%
+}{}%
+%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Background options and functions (one function for each possible value)
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+\newcommand{\xebaposter@background@shaderl}[2]{%
+ \debug{xebaposter: Using shade right left background.}%
+ {\setLTR\begin{bidi@tikzpicture}[remember picture,overlay]%
+ \shade [shading=axis,left color=#1,right color=#2] (current page.north east)%
+ rectangle(current page.south west);%
+ \end{bidi@tikzpicture}}%
+}%
+\newcommand{\xebaposter@background@shadelr}[2]{%
+ \debug{xebaposter: Using shade left right background.}%
+ {\setLTR\begin{bidi@tikzpicture}[remember picture,overlay]%
+ \shade [shading=axis,left color=#1,right color=#2] (current page.north west)%
+ rectangle(current page.south east);%
+ \end{bidi@tikzpicture}}%
+}%
+\newcommand{\xebaposter@background@shadetb}[2]{%
+ \debug{xebaposter: Using shade top to bottom background.}%
+ {\setLTR\begin{bidi@tikzpicture}[remember picture,overlay]%
+ \shade [shading=axis,top color=#1,bottom color=#2] (current page.north west)%
+ rectangle(current page.south east);%
+ \end{bidi@tikzpicture}}%
+}%
+\newcommand{\xebaposter@background@plain}[2]{%
+ \debug{xebaposter: Using plain background.}%
+ {\setLTR\begin{bidi@tikzpicture}[remember picture,overlay]%
+ \fill [#1] {(current page.north west) rectangle (current page.south east)};%
+ \end{bidi@tikzpicture}}%
+}%
+\newcommand{\xebaposter@background@user}[2]{%
+ \debug{xebaposter: Using user background.}%
+ {\setLTR\xebaposter@backgroundCmd}%
+}%
+\newcommand{\xebaposter@background@none}[2]{%
+ \debug{xebaposter: Using no background.}%
+}%
+%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Return shape path of text box (depending on the box shape)
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+\newcommand{\xebaposter@box@boxshape@none}{\xebaposter@box@boxshape@rectangle}%
+\newcommand{\xebaposter@box@boxshape@bars}{%
+ (\xebaposter@box@name tnw) -- (\xebaposter@box@name sw) %
+ (\xebaposter@box@name se) -- (\xebaposter@box@name tne)%
+}%
+\newcommand{\xebaposter@box@boxshape@coils}{\xebaposter@box@boxshape@bars}%
+\newcommand{\xebaposter@box@boxshape@triangles}{\xebaposter@box@boxshape@bars}%
+\newcommand{\xebaposter@box@boxshape@rectangle}{%
+ (\xebaposter@box@name tnw) -- (\xebaposter@box@name sw) -- %
+ (\xebaposter@box@name se) -- (\xebaposter@box@name tne)%
+}%
+\newcommand{\xebaposter@box@boxshape@faded}{%
+ (\xebaposter@box@name tnw) -- (\xebaposter@box@name sw) %
+ (\xebaposter@box@name tne) -- (\xebaposter@box@name se)%
+ }%
+\newcommand{\xebaposter@box@boxshape@rounded}{%
+ [rc] \xebaposter@box@boxshape@rectangle%
+}%
+\newcommand{\xebaposter@box@boxshape@roundedsmall}{%
+ [src] \xebaposter@box@boxshape@rectangle%
+}%
+\newcommand{\xebaposter@box@boxshape@roundedleft}{%
+ (\xebaposter@box@name tnw) {[rc]-- (\xebaposter@box@name sw)} -- %
+ (\xebaposter@box@name se) -- (\xebaposter@box@name tne)%
+}%
+\newcommand{\xebaposter@box@boxshape@roundedright}{%
+ (\xebaposter@box@name tnw) -- (\xebaposter@box@name sw) {[rc]-- %
+ (\xebaposter@box@name se)} -- (\xebaposter@box@name tne)%
+}%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Draw box background (one function for each possible value)
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% These functions take no arguments
+\newcommand{\xebaposter@box@drawbackground@none}[2]{%
+ \tikzstyle{box colors}=[]%
+}%
+\newcommand{\xebaposter@box@drawbackground@plain}[2]{%
+ \tikzstyle{box colors}=[fill=#1]%
+ \fill[box colors] \xebaposterBoxGetShape;%
+}%
+\newcommand{\xebaposter@box@drawbackground@shadelr}[2]{%
+ \tikzstyle{box colors}=[shading=axis, left color=#1, right color=#2]%
+ \fill[box colors] \xebaposterBoxGetShape;%
+}%
+\newcommand{\xebaposter@box@drawbackground@shadetb}[2]{%
+ \tikzstyle{box colors}=[shading=axis, top color=#1, bottom color=#2]%
+ \fill[box colors] \xebaposterBoxGetShape;%
+}%
+%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Draw box border
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% These functions take two arguments: borderColor
+\newcommand{\xebaposter@box@drawborder@none}[1]{}%
+\newcommand{\xebaposter@box@drawborder@bars}[1]{%
+ \draw[color=#1] \xebaposterBoxGetShape;%
+}%
+\newcommand{\xebaposter@box@drawborder@coils}[1]{%
+ \draw[color=#1,segment amplitude=0.35em,segment length=0.4em,snake=coil] \xebaposterBoxGetShape;%
+}%
+\newcommand{\xebaposter@box@drawborder@triangles}[1]{%
+ \draw[color=#1,segment amplitude=0.2em,segment length=0.4em,snake=triangles] \xebaposterBoxGetShape;%
+}%
+\newcommand{\xebaposter@box@drawborder@rectangle}[1]{%
+ \draw[color=#1] \xebaposterBoxGetShape;%
+}%
+\newcommand{\xebaposter@box@drawborder@rounded}[1]{%
+ \draw[color=#1] \xebaposterBoxGetShape;%
+}%
+\newcommand{\xebaposter@box@drawborder@roundedleft}[1]{%
+ \draw[color=#1] \xebaposterBoxGetShape;%
+}%
+\newcommand{\xebaposter@box@drawborder@roundedright}[1]{%
+ \draw[color=#1] \xebaposterBoxGetShape;%
+}%
+\newcommand{\xebaposter@box@drawborder@faded}[1]{%
+ % This is the right way to do it, but it does not work with evince, and has problems during printing, so instead we do
+ %\draw[color=#1,path fading=south] \xebaposterBoxGetShape;%
+ % this
+ \foreach \x in {0,1,...,90} \draw[color=#1!\x] ($(\xebaposter@box@name tnw)!{(100-\x)/100}!(\xebaposter@box@name sw)$) -- ($(\xebaposter@box@name tnw)!{(100-(\x+10))/100}!(\xebaposter@box@name sw)$);%
+ \foreach \x in {0,1,...,90} \draw[color=#1!\x] ($(\xebaposter@box@name tne)!{(100-\x)/100}!(\xebaposter@box@name se)$) -- ($(\xebaposter@box@name tne)!{(100-(\x+10))/100}!(\xebaposter@box@name se)$);%
+}%
+\newcommand{\xebaposter@box@drawborder@roundedsmall}[1]{%
+ \draw[color=#1] \xebaposterBoxGetShape;%
+}%
+%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Return shape path of text box (depending on the box shape)
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% These functions take no arguments
+% TODO: For headerborder==none, use (\xebaposter@box@name outer tnw) instead!
+\newcommand{\xebaposter@box@headershape@rectangle}{%
+ (\xebaposter@box@name tnw) -- (\xebaposter@box@name nw) -- %
+ (\xebaposter@box@name ne) -- (\xebaposter@box@name tne)%
+}%
+\newcommand{\xebaposter@box@headershape@smallrounded}{%
+ (\xebaposter@box@name tnw) {[src] -- (\xebaposter@box@name nw) -- %
+ (\xebaposter@box@name ne)} -- (\xebaposter@box@name tne)%
+}%
+\newcommand{\xebaposter@box@headershape@roundedright}{%
+ (\xebaposter@box@name tnw) -- (\xebaposter@box@name nw) {[rc] -- %
+ (\xebaposter@box@name ne)} -- (\xebaposter@box@name tne)%
+}%
+\newcommand{\xebaposter@box@headershape@roundedleft}{%
+ (\xebaposter@box@name tnw) {[rc]-- (\xebaposter@box@name nw)} -- %
+ (\xebaposter@box@name ne) -- (\xebaposter@box@name tne)%
+}%
+\newcommand{\xebaposter@box@headershape@rounded}{%
+ (\xebaposter@box@name tnw) {[rc] -- (\xebaposter@box@name nw) -- %
+ (\xebaposter@box@name ne) } -- (\xebaposter@box@name tne)%
+}%
+%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Header text drawing (one function for each possible value of headershape)
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% These functions take one argument: the header text
+\newcommand{\xebaposter@box@headerdrawtext@rectangle}[1]{%
+ \path (\xebaposter@box@name ne) +(0em,-0.5\xebaposter@box@@boxheaderheight) node[anchor=east,inner sep=0.4em] {#1};%
+}%
+\newcommand{\xebaposter@box@headerdrawtext@smallrounded}[1]{%
+ \path (\xebaposter@box@name nw) +(0.5\boxwidth,-0.5\xebaposter@box@@boxheaderheight) node[anchor=center] {#1};%
+}%
+\newcommand{\xebaposter@box@headerdrawtext@roundedright}[1]{%
+ \path (\xebaposter@box@name ne) +(0em,-0.5\xebaposter@box@@boxheaderheight)%
+ node[anchor=east,inner sep=0.4em,text depth=0.4em] {#1};%
+}%
+\newcommand{\xebaposter@box@headerdrawtext@roundedleft}[1]{%
+ \path (\xebaposter@box@name ne) +(0em,-0.5\xebaposter@box@@boxheaderheight)%
+ node[anchor=east,inner sep=0.4em] {#1};
+}%
+\newcommand{\xebaposter@box@headerdrawtext@rounded}[1]{%
+ \path (\xebaposter@box@name nw) +(0.5\boxwidth,-0.5\xebaposter@box@@boxheaderheight) node[anchor=center] {#1};%
+}%
+%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Header shade options and functions (one function for each possible value)
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% These functions take two arguments: headerColorOne, headerColorTwo and borderColor
+\newcommand{\xebaposter@box@headershade@shadelr}[3]{%
+ \debug{Header-Shade: Shade Left - Right}%
+ \tikzstyle{header colors}=[%
+ color=#3,%
+ shading=axis,%
+ left color=#1,%
+ right color=#2%
+ ]%
+}%
+\newcommand{\xebaposter@box@headershade@shaderl}[3]{%
+ \debug{Header-Shade: Shade Right - Left}%
+ \tikzstyle{header colors}=[%
+ color=#3,%
+ shading=axis,%
+ left color=#2,%
+ right color=#1%
+ ]%
+}%
+\newcommand{\xebaposter@box@headershade@shadetb}[3]{%
+ \debug{Header-Shade: Shade Top - Bottom}%
+ \tikzstyle{header colors}=[%
+ color=#3,%
+ shading=axis,%
+ top color=#1,%
+ bottom color=#2%
+ ]%
+}%
+\newcommand{\xebaposter@box@headershade@shadetbinverse}[3]{%
+ \debug{Header-Shade: Shade Top - Bottom - Inverse }%
+ \tikzstyle{header colors}=[%
+ top color=#1!75!#2,%
+ bottom color=#2!100!#1,%
+ shading angle=20%
+ ]%
+ \colorlet{xebaposterHeaderFontColor}{white}%
+}%
+\newcommand{\xebaposter@box@headershade@plain}[3]{%
+ \debug{Header-Shade: Plain}%
+ \tikzstyle{header colors}=[%
+ color=#3,%
+ fill=#1%
+ ]%
+}%
+\newcommand{\xebaposter@box@headershade@none}[3]{%
+ \debug{Header-Shade: none}%
+ \tikzstyle{header colors}=[]%
+}%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% The main poster environment
+%%% \begin{xebaposter}{settings}{Eye Catcher}{Title}{Author}{University Logo}
+%%%-----------------------------------------------------------------------------
+%%% The settings are
+%%% - grid=true,[false]:Show grid to help with alignment
+%%% - colspacing=0.7em: Column spacing
+%%% - columns=4: number of columns (default 4 in landscape and 3 in portrait format) (maximum number is 6)
+%%% - color=[orange]: xcolor color definition used as the main color of the poster
+%%% - colortwo=[white]: The other color for gradient based layouts
+%%% - textborder=none,bars,coils,triangles,rectangle,rounded,roundedsmall,roundedleft,roundedright,[faded]
+%%% The style of the box around the text area
+%%% - headerborder=none,closed,open
+%%% No extra border around box header, full border around box header or border that is open below.
+%%% - headershape=rectangle,rounded,roundedleft,roundedright
+%%% Shape of the box-header region
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newenvironment{poster}[5]{% BEGIN poster begin
+ \thispagestyle{empty}% Suppress Page Number
+ \debug{Poster Starts}%
+ % This setkeys call parses all provided options and depending on the option
+ % value, assigns different handler functions to the \xebaposter(Box|Header)*
+ % functions. Once that is done, we don't have to care about particular
+ % values for border, shading, etc. All we have to do is call the
+ % handler functions and let them do their job.
+ % This also allows the user to override the poster-wide defaults on a per-box
+ % basis.
+ \setkeys[ba]{posterbox,poster}{#1}%
+%
+ % TODO: Move all those assignments to the key macros!
+ % Parse Keys%
+ \colorlet{bgColorOne}{\xebaposter@bgColorOne}%
+ \colorlet{bgColorTwo}{\xebaposter@bgColorTwo}%
+%
+ %% Boxes%
+ \setlength{\headerheight}{\xebaposter@headerheight}%
+ \setlength{\colheight}{\textheight-\xebaposter@headerheight}%
+ \renewcommand{\@@previousbox}{notset}%
+%
+ \debug{Format}%
+ % Set default for columns if unset (4 for landscape, 3 for portrait)
+ \ifthenelse{\equal{\xebaposter@columns}{}}{%
+ \renewcommand{\xebaposter@columns}{\if@landscape4\else3\fi}%
+ }{}%
+%
+ \debug{Columns: \xebaposter@columns}%
+ \setlength{\xebaposter@@colspacing}{\xebaposter@colspacing}%
+ \setlength{\colwidth}{\textwidth}%
+ \addtolength{\colwidth}{\xebaposter@@colspacing*(1-\xebaposter@columns)}%
+ \ifcase\xebaposter@columns\relax%
+ \error{You need to have at least one column!}%
+ \or % 1
+ \setlength{\colwidth}{\colwidth}%
+ \or % 2
+ \setlength{\colwidth}{0.5\colwidth}%
+ \or % 3
+ \setlength{\colwidth}{0.3333333333333\colwidth}%
+ \or % 4
+ \setlength{\colwidth}{0.25\colwidth}%
+ \or % 5
+ \setlength{\colwidth}{0.2\colwidth}%
+ \or % 6
+ \setlength{\colwidth}{0.16666666666\colwidth}%
+ \else % >6
+ \error{You do not want so many columns}%
+ \fi%
+%
+ \newcommand{\xebaposter@reference}{north west}%
+%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % A box with a header and some content. The basic unit of the poster%
+ %---------------------------------------------------------------------------%
+ % Each box has a name and can be placed absolutely or relatively.%
+ % The only inconvenience is that you can only specify a relative position %
+ % towards an already declared box. So if you have a box attached to the %
+ % bottom, one to the top and a third one which should be inbetween, you %
+ % have to specify the top and bottom boxes before you specify the middle %
+ % box.%
+ %%
+ % below= name of other node%
+ % above= name of other node%
+ % aligned=name of other node%
+ % bottomaligned=name of other node%
+ % column= [0] %
+ % row= [0] %
+ % span= [1] %
+ % height= <size in percent of column height>,[auto]%
+ % name= [noname]%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+ % Backward-compatibility definition (\headerbox command uses posterbox env):
+ \newcommand{\headerbox}[3]{%
+ \begin{posterbox}[##2]{##1}%
+ ##3%
+ \end{posterbox}%
+ }%
+%
+ \newenvironment{posterbox}[2][]{%
+ \debug{Poster box options: ##1}%
+ % Override the poster-wide defaults on a per-box basis
+ \setkeys[ba]{posterbox}{##1}%
+%
+ \def\xebaposter@box@title{\rl{##2}}%
+%
+ \colorlet{borderColor}{\xebaposter@box@borderColor}%
+ \colorlet{headerColorOne}{\xebaposter@box@headerColorOne}%
+ \colorlet{headerColorTwo}{\xebaposter@box@headerColorTwo}%
+ \colorlet{headerFontColor}{\xebaposter@box@headerFontColor}%
+ \colorlet{boxColorOne}{\xebaposter@box@boxColorOne}%
+ \colorlet{boxColorTwo}{\xebaposter@box@boxColorTwo}%
+%
+ \setlength{\xebaposter@box@@cornerradius}{\xebaposter@box@cornerradius}%
+ \setlength{\xebaposter@box@@boxheaderheight}{\xebaposter@box@boxheaderheight}%
+ \setlength{\xebaposter@box@@boxpadding}{\xebaposter@box@boxpadding}%
+%
+%
+ %% The columns is always given absolute
+ % boxstartx = column * colwidth + column * colspacing
+% \setlength{\boxstartx}{(\colwidth+\xebaposter@@colspacing)*\xebaposter@box@column}%
+ % boxstartx = (columns-column-span) * colwidth + (columns-column-span) * colspacing
+% \setlength{\boxstartx}{(\xebaposter@columns+-\xebaposter@box@column+-\xebaposter@box@span)*\colwidth+(\xebaposter@columns+-\xebaposter@box@column+-\xebaposter@box@span)*\xebaposter@@colspacing}%by smjr
+ \setlength{\boxstartx}{\xebaposter@columns\colwidth}% by smjr
+ \addtolength{\boxstartx}{-\xebaposter@box@column\colwidth}% by smjr
+ \addtolength{\boxstartx}{-\xebaposter@box@span\colwidth}% by smjr
+ \addtolength{\boxstartx}{\xebaposter@columns\xebaposter@@colspacing}% by smjr
+ \addtolength{\boxstartx}{-\xebaposter@box@column\xebaposter@@colspacing}% by smjr
+ \addtolength{\boxstartx}{-\xebaposter@box@span\xebaposter@@colspacing}% by smjr
+%
+ %% The width is gvien absolute
+ % Box Width = span * colwidth + (span-1) * colspacing
+ \setlength{\boxwidth}{\xebaposter@box@span\colwidth} %
+ \addtolength{\boxwidth}{\xebaposter@@colspacing*(\xebaposter@box@span-1)}%
+%
+ %% Measure the content of the box%
+ \setbox\xebaposter@box@content=\hbox\bgroup%
+ \begin{pgfinterruptpicture}%
+ \begin{minipage}[t]{\boxwidth-\xebaposter@box@@boxpadding*2}
+ \persian%
+ \xebaposter@box@textfont\bgroup%
+ }% End of posterbox preamble
+ %%% HERE COME THE ACTUAL CONTENTS OF THE POSTERBOX ENVIRONMENT
+ {% posterbox handling after contents (i.e. drawing everything)
+ \egroup%
+ \end{minipage}%
+ \end{pgfinterruptpicture}%
+ \egroup%
+ \setlength{\boxheight}{\ht\xebaposter@box@content}%
+ \addtolength{\boxheight}{\dp\xebaposter@box@content}%
+ \addtolength{\boxheight}{\xebaposter@box@@boxheaderheight} % Header%
+ \addtolength{\boxheight}{2\xebaposter@box@@boxpadding} % Inner Sep
+%
+ \ifthenelse{\equal{\xebaposter@box@height}{bottom}}{%
+ }{\ifthenelse{\equal{\xebaposter@box@height}{auto}}{%
+ }{ % Neither auto nor bottom%
+ \setlength{\boxheight}{\xebaposter@box@height\colheight}%
+ }}%
+%
+ %% Determine the box position%
+ \debug{Setting Coordinates}%
+ \debug{Upper Right}%
+ \debug{\xebaposter@box@name}%
+%
+ %%% Upper Right Corner%
+ % if below=auto, set it to the previous box
+ % TODO: We should generalize this to the previous box of the used column,
+ % currently we use the previous box, which might be in a different column
+ \ifthenelse{\equal{\xebaposter@box@below}{auto}}{%
+ \edef\xebaposter@box@below{\@@previousbox}%
+ \debug{Box \xebaposter@box@name has below=auto, placing it below box \xebaposter@box@below.}%
+ }{}%
+ \xdef\@@previousbox{\xebaposter@box@name}%
+%
+ \ifthenelse{\not\equal{\xebaposter@box@below}{notset} }{%
+ %% Below%
+ \debug{Below}%
+ \path[shape=coordinate] (\boxstartx,0pt |- \xebaposter@box@below se) ++(0pt,-\xebaposter@@colspacing) coordinate(\xebaposter@box@name nw);%
+ }{%
+ \ifthenelse{\not\equal{\xebaposter@box@aligned}{notset} }{%
+ %% Aligned%
+ \debug{Aligned: \xebaposter@box@aligned}%
+ \path[shape=coordinate] (\boxstartx,0pt |- \xebaposter@box@aligned nw) coordinate(\xebaposter@box@name nw);%
+ }{%
+ %% Fixed%
+ \debug{Fixed}%
+ \setlength{\boxstarty}{\xebaposter@box@row\colheight}%
+ \path[shape=coordinate] (\boxstartx,\colheight-\boxstarty) coordinate(\xebaposter@box@name nw);%
+ }}%
+%
+ %% Lower Left Corner%
+ \debug{Lower Left}%
+ \ifthenelse{\equal{\xebaposter@box@above}{bottom}}{%
+ %% Above = Bottom%
+ \debug{Above bottom}%
+ \ifthenelse{\equal{\xebaposter@box@below}{notset} \and \equal{\xebaposter@box@aligned}{notset}}{%
+ \path[shape=coordinate] (\boxstartx,\boxheight) coordinate(\xebaposter@box@name nw);%
+ }{}%
+ \path[shape=coordinate] (\boxstartx+\boxwidth,0pt) coordinate(\xebaposter@box@name se);%
+ }{\ifthenelse{\not \equal{\xebaposter@box@bottomaligned}{notset}}{%
+ \path[shape=coordinate] (\boxstartx+\boxwidth,0pt |- \xebaposter@box@bottomaligned se) coordinate(\xebaposter@box@name se);%
+ }{{\ifthenelse{\not \equal{\xebaposter@box@above}{notset}}{%
+ %% Above = Node%
+ \path[shape=coordinate] (\boxstartx+\boxwidth,0pt |- \xebaposter@box@above nw) +(0pt,\xebaposter@@colspacing) coordinate(\xebaposter@box@name se);%
+ }{%
+ %% Above = notset%
+ \debug{Above=not set}%
+ \ifthenelse{\equal{\xebaposter@box@height}{bottom}}{%
+ %% height=bottom%
+ \debug{height=bottom}%
+ \path[shape=coordinate] (\boxstartx+\boxwidth,0pt) coordinate(\xebaposter@box@name se);%
+ }{ %% height=auto or fixed%
+ \debug{height=auto or fixed}%
+ \path[shape=coordinate] (\xebaposter@box@name nw) ++(\boxwidth,-\boxheight) coordinate(\xebaposter@box@name se);%
+ }}}}}%
+%
+ %
+ % Set coordinates relative to nw,se%
+ \debug{Fixing Coordinates}%
+ \path[shape=coordinate]%
+ (\xebaposter@box@name nw) +(0pt,-\xebaposter@box@@boxheaderheight) coordinate(\xebaposter@box@name tnw)%
+ (\xebaposter@box@name nw |- \xebaposter@box@name se) coordinate(\xebaposter@box@name sw)%
+ (\xebaposter@box@name se |- \xebaposter@box@name nw) coordinate(\xebaposter@box@name ne)%
+ (\xebaposter@box@name ne) +(0pt,-\xebaposter@box@@boxheaderheight) coordinate(\xebaposter@box@name tne)%
+%
+ (\xebaposter@box@name nw) +(-0.025em,0pt) coordinate(\xebaposter@box@name outer nw)%
+ (\xebaposter@box@name tnw) +(-0.025em,0pt) coordinate(\xebaposter@box@name outer tnw)%
+ (\xebaposter@box@name sw) +(-0.025em,0pt) coordinate(\xebaposter@box@name outer sw)%
+%
+ (\xebaposter@box@name ne) +( 0.025em,0pt) coordinate(\xebaposter@box@name outer ne)%
+ (\xebaposter@box@name tne) +( 0.025em,0pt) coordinate(\xebaposter@box@name outer tne)%
+ (\xebaposter@box@name se) +( 0.025em,0pt) coordinate(\xebaposter@box@name outer se);%
+%
+ %% Setting the bg colors of the box header
+ \xebaposterHeaderSetShade{headerColorOne}{headerColorTwo}{borderColor}%
+%
+ \tikzstyle{rc}=[rounded corners=\xebaposter@box@@cornerradius];%
+ \tikzstyle{src}=[rounded corners=0.5em];%
+%
+
+ %% Now that everything is set up, draw the actual box, with bg and header
+ \begin{scope}[line width=\xebaposter@box@linewidth]%
+ %% Header%
+ \debug{Header}%
+ \debug{Header-Shape: \xebaposter@box@headershape, header-border: \xebaposter@box@headerborder (\xebaposter@box@headerbordernr)}%
+ % TODO: Also turn this last ifcase construct into a handler function
+ % We only need to determine (fill|shade)(draw|)...
+ \xebaposterHeaderDrawBackground{bgColorOne}{bgColorTwo}{borderColor}
+ \xebaposterHeaderDrawBorder{borderColor}
+ \ifcase\xebaposter@box@headerbordernr\relax%
+ % open
+ \ifthenelse{\equal{\xebaposter@box@headershade}{plain}}{%
+ \filldraw [style=header colors] \xebaposterHeaderGetShape;%
+ }{%
+ \shadedraw [style=header colors] \xebaposterHeaderGetShape;%
+ }%
+ \or
+ % closed
+ \ifthenelse{\equal{\xebaposter@box@headershade}{plain}}{%
+ \filldraw [style=header colors] \xebaposterHeaderGetShape -- cycle;%
+ }{%
+ \shadedraw [style=header colors] \xebaposterHeaderGetShape -- cycle;%
+ }%
+ \or
+ % none
+ \ifthenelse{\equal{\xebaposter@box@headershade}{plain}}{%
+ \fill [style=header colors] \xebaposterHeaderGetShape;%
+ }{%
+ \shade [style=header colors] \xebaposterHeaderGetShape;%
+ }%
+ \fi
+ %
+ %% Draw the text inside the box header:
+ %%% %%% %%% %%% %%% buggy part because of color!! %%% %%% %%% %%% %%% %%%
+ \xebaposterHeaderDrawText{\hbox{{\color{headerFontColor}\xebaposter@box@headerfont%
+ {\xebaposter@box@title}}}};%
+ %
+ %% Text borders (border around boxes)
+ \debug{Poster boxes}%
+ % First set box shade
+ \xebaposterBoxDrawBackground{boxColorOne}{boxColorTwo}%
+ \xebaposterBoxDrawBorder{borderColor}%
+ %%
+ %% Text Box%
+ \debug{Drawing Text}%
+ \path (\xebaposter@box@name tnw) node(text) [anchor=north west,%
+ outer sep=-0.000em,text width=\boxwidth-2\xebaposter@box@@boxpadding,inner sep=\xebaposter@box@@boxpadding,%
+ text justified] {{\usebox{\xebaposter@box@content}}};%
+ \end{scope}%
+ %
+ % Finally store the box name as the previous box for the next call
+% \xdef\@@previousbox{\xebaposter@box@name}%
+ }% END of posterbox definition
+%
+ %% Poster Background%
+ \xebaposterPosterDrawBackground{bgColorOne}{bgColorTwo}%
+ %% Poster header/title
+ \hspace{-1.5em}%
+ \bgroup\setLTR
+ \begin{bidi@tikzpicture}[inner sep=0pt,outer sep=0pt,line width=0.05em,align=right]%
+ \useasboundingbox (0em,0em) rectangle(\textwidth,\textheight);%
+ \path[shape=coordinate]%
+ (0pt,\colheight) coordinate(north west) (\textwidth,\colheight) coordinate(north east)%
+ (0pt,0pt) coordinate(south west) (\textwidth,0pt) coordinate(south east);%
+%
+ \ifxebaposter@eyecatcher% Has eye catcher
+ \debug{Eyecatcher found!}%
+ \setbox\xebaposter@titleimage@left=\hbox{#2}%
+ \else% Has no eye catcher%
+ \setbox\xebaposter@titleimage@left=\hbox{}%
+ \fi%
+ \setlength{\xebaposter@titleimage@left@width}{\wd\xebaposter@titleimage@left}%
+ \setbox\xebaposter@titleimage@right=\hbox{#5}%
+ \setlength{\xebaposter@titleimage@right@width}{\wd\xebaposter@titleimage@right}%
+ \setlength{\xebaposter@titleimage@textwidth}{\textwidth}%
+ \addtolength{\xebaposter@titleimage@textwidth}{-\xebaposter@titleimage@left@width}%
+ \addtolength{\xebaposter@titleimage@textwidth}{-\xebaposter@titleimage@right@width}%
+%
+ \debug{#3}%
+ %
+ %
+ % % Draw Header%
+ \draw (north west) +(0em,1em+0.5\headerheight) node(image)[anchor=west] { {\usebox{\xebaposter@titleimage@right }} };%
+ \draw (north east) +(0em,1em+0.5\headerheight) node(logo) [anchor=east] { {\usebox{\xebaposter@titleimage@left}} };%
+ %
+ \ifxebaposter@eyecatcher% Has eye catcher%
+ \draw (image.east) node(title)[anchor=west,text width=\xebaposter@titleimage@textwidth]{%
+ \begin{minipage}{\xebaposter@titleimage@textwidth}%
+ \begin{center}%
+ \textbf{\Huge \rl{#3}}\\%
+ {\Large \rl{#4}}%
+ \end{center}%
+ \end{minipage}%
+ };%
+ \else% Has no eye catcher
+ \draw (image.east) node(title)[anchor=west] { {\begin{minipage}{\xebaposter@titleimage@textwidth}\persian{\bfseries\Huge\rl{#3}}\\{\Large\rl{#4}}\end{minipage}} };%
+ \fi
+ }% END poster begin
+% The body
+ {% BEGIN poster end
+ % The end, draw gridlines if neccesary
+ \ifxebaposter@grid
+ \newdimen{\gridpos}%
+ \pgfmathsetmacro{\z}{\xebaposter@columns-1}%
+ \foreach \y in {0,...,\z}%
+ {%
+ \setlength{\gridpos}{\y\colwidth+\y\xebaposter@@colspacing}%
+ \draw[draw=green,draw opacity=0.7] (\gridpos,0pt) -- (\gridpos,\colheight)%
+ (\gridpos+\colwidth,0pt) -- (\gridpos+\colwidth,\colheight);%
+ }%
+ % Horizontal lines, every 0.1:
+ %% Explicitly list all percentages, because with {0.0, 0.1, ..., 1.0} we
+ %% get rounding errors in the displayed numbers!
+ \foreach \y in {0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0}%
+ \draw[draw=green,draw opacity=0.7] (0pt,\colheight-\y\colheight) --%
+ (\textwidth,\colheight-\y\colheight) node[anchor=west] {\y};%
+ \fi%
+ \end{bidi@tikzpicture}%
+ \egroup
+% \xkvview{}
+ \par
+ }% END poster end