diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/tuda-ci/tudasciposter.cls')
-rw-r--r-- | Master/texmf-dist/tex/latex/tuda-ci/tudasciposter.cls | 575 |
1 files changed, 575 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudasciposter.cls b/Master/texmf-dist/tex/latex/tuda-ci/tudasciposter.cls new file mode 100644 index 00000000000..7d4069a3f39 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tuda-ci/tudasciposter.cls @@ -0,0 +1,575 @@ +%% This is file `tudasciposter.cls' version 1.00 (2019/07/20), +%% it is part of +%% TUDa-CI -- Corporate Design for TU Darmstadt +%% ---------------------------------------------------------------------------- +%% +%% Copyright (C) 2018--2019 by Marei Peischl <marei@peitex.de> +%% +%% ============================================================================ +%% 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'. +%% +%% The Current Maintainers of this work are +%% Marei Peischl <tuda-ci@peitex.de> +%% Markus Lazanowski <latex@ce.tu-darmstadt.de> +%% +%% The development respository can be found at +%% https://github.com/tudace/tuda_latex_templates +%% Please use the issue tracker for feedback! +%% +%% ============================================================================ +%% +\def\fileversion{1.00} +\def\filedate{2019/07/20} +\NeedsTeXFormat{LaTeX2e} +\RequirePackage{expl3} +\ProvidesExplPackage{tudasciposter}{\filedate}{\fileversion}{Scientific Poster Layout for TU Darmstadt} + +\RequirePackage{l3keys2e} + +\prop_new:N \g_TUDa_clsopts_prop +\tl_new:N \g_TUDa_boxstyle_tl +\int_new:N \g_TUDa_paper_int + +\keys_define:nn {TUDa/poster} { + accentcolor .code:n = {\PassOptionsToPackage{accent =#1}{tudacolors}}, + color .meta:n = {accentcolor = #1}, + textaccentcolor .code:n = {\PassOptionsToPackage{textaccent =#1}{tudacolors}}, + identbarcolor .code:n = {\PassOptionsToPackage{indentbar =#1}{tudacolors}}, + titletext .code:n = {\PassOptionsToPackage{text =#1}{tudacolors}}, + footer .bool_gset:N = \g_TUDa_poster_foot_bool, + footer .default:n = true, + footer .initial:n = true, + thanks .tl_gset:N = \g_TUDa_footnote_label_tl, + thanks .initial:n = arabic*, + pdfa .bool_gset:N = \g_TUDa@pdfa_bool, + pdfa .initial:n = false, + boxstyle .choice:, + boxstyle / official .code:n = \tl_gset:Nn \g_TUDa_boxstyle_tl {TUDa}, + boxstyle / colored .code:n= \tl_gset:Nn \g_TUDa_boxstyle_tl {TUDa-colored}, + boxstyle / boxed .code:n= \tl_gset:Nn \g_TUDa_boxstyle_tl {TUDa-boxed}, + boxstyle /default .meta:n = {boxstyle=official}, + boxstyle .initial:n = default, + unknown .code:n = {\prop_gput:NVn \g_TUDa_clsopts_prop \l_keys_key_tl {#1}}, + paper .choices:nn = {a0,a1,a2,a3}{ + \int_gset_eq:NN \g_TUDa_paper_int \l_keys_choice_int + \PassOptionsToPackage{paper=\l_keys_choice_tl}{tudarules} + \PassOptionsToPackage{\l_keys_choice_tl paper}{geometry} + }, + paper .initial:n = a0, + fontsize .code:n = \prop_gput:Nnn \g_TUDa_clsopts_prop {fontsize} {#1}, + logofile .tl_gset:N = \g_TUDa_logofile_tl, + logofile .initial:n = tuda_logo, +} + + + + + +\ProcessKeysOptions{TUDa/poster} + + +\int_case:nn {\g_TUDa_paper_int} +{ + %paper=a0 + {1} { %{130pt}{146pt} + \cs_set:Nn \TUDa_title_fontsize: {{125pt}{165pt}} + \cs_set:Nn \TUDa_titleinfo_fontsize: {{42pt}{55pt}} + \cs_set:Nn \TUDa_titlethanks_fontsize: {{28pt}{35pt}} + \prop_gput_if_new:Nnn \g_TUDa_clsopts_prop {fontsize} {30pt} + \dim_const:Nn \c_TUDa_margin_dim {30mm} + } + %paper=a1 + {2} { + \cs_set:Nn \TUDa_title_fontsize: {{86pt}{120pt}} + \cs_set:Nn \TUDa_titleinfo_fontsize: {{35pt}{42pt}} + \cs_set:Nn \TUDa_titlethanks_fontsize: {{22pt}{26pt}} + \prop_gput_if_new:Nnn \g_TUDa_clsopts_prop {fontsize} {21pt} + \dim_const:Nn \c_TUDa_margin_dim {30mm} + } + %paper=a2 + {3} { + \cs_set:Nn \TUDa_title_fontsize: {{65pt}{82pt}} + \cs_set:Nn \TUDa_titleinfo_fontsize: {{22pt}{28pt}} + \cs_set:Nn \TUDa_titlethanks_fontsize: {{14pt}{20pt}} + \prop_gput_if_new:Nnn \g_TUDa_clsopts_prop {fontsize} {15pt} + \dim_const:Nn \c_TUDa_margin_dim {30mm} + } + %paper=a3 + {4} { + \cs_set:Nn \TUDa_title_fontsize: {{47pt}{61pt}} + \prop_gput_if_new:Nnn \g_TUDa_clsopts_prop {fontsize} {11pt} + \dim_const:Nn \c_TUDa_margin_dim {15mm} + } +} + + +\prop_map_inline:Nn \g_TUDa_clsopts_prop { + \tl_if_empty:nTF {#2} + {\exp_args:NnV\PassOptionsToClass{#1}\l_tmpa_tl} + {\clist_map_inline:nn {#2} {\PassOptionsToClass{#1=##1}{scrartcl}}} +} + +\bool_if:NT \g_TUDa@pdfa_bool {\PassOptionsToPackage{RGB}{xcolor}} + +\ExplSyntaxOff +\PassOptionsToPackage{DIV=10}{typearea} +\LoadClass[parskip=full-]{scrartcl} +\RequirePackage{tudafonts} +\RequirePackage{tikz} +\usetikzlibrary{calc} + +\RequirePackage{tcolorbox} +\tcbuselibrary{poster} + +\RequirePackage[margin=0pt]{geometry} +\ExplSyntaxOn + + + +%Font adjusments +\renewcommand*{\familydefault}{\sfdefault} + +\setkomafont{title}{ + \color{titlefgcolor} + \expandafter\fontsize\TUDa_title_fontsize:\selectfont + \bfseries +} + +\setkomafont{author}{\bfseries} +\setkomafont{captionlabel}{\bfseries} + +% end of font adjustments + +\RequirePackage[mode=tikz]{tudarules} +\RequirePackage{tudacolors} +\RequirePackage{qrcode} + +\dim_const:Nn \c_TUDa_headrule_ht_dim {\c_TUDa_rulesep_dim +\c_TUDa_largerule_dim + \c_TUDa_smallrule_dim} +%Setup title +\box_new:N \l_TUDa_tmpa_box +\box_new:N \g_TUDa_titlegraphic_box +\box_new:N \g_TUDa_title_box +\box_new:N \g_TUDa_author_box +\box_new:N \g_TUDa_credit_box + +\TUDa@makeheadrule[ + width=\paperwidth-2\c_TUDa_margin_dim, + color=identbarcolor + ]{TUDa@posterrule} + +\tl_new:N \g_TUDa_thanks_tl +\newcommand*{\TUDa@title@footnote}[2][1]{ + \begingroup + \TUDa_def_footnotelabel: + \footnotemark[#1]\,#2\quad + \endgroup +} + +\tl_greplace_all:Nnn \g_TUDa_footnote_label_tl {*} {{footnote}} +\clist_map_inline:nn {alph, arabic, fnsymbol, Alph, roman, Roman} { + \tl_greplace_all:Nnn \g_TUDa_footnote_label_tl {#1} {\use:c {#1}} +} + +\cs_set:Nn \TUDa_def_footnotelabel: { + \renewcommand*{\thefootnote}{\g_TUDa_footnote_label_tl} +} + +\pagestyle{empty} +\renewcommand*{\title}[1]{\gdef \@title {#1}} + + +\dim_new:N \g_TUDa_footheight_dim +\dim_gset:Nn \g_TUDa_footheight_dim {0.06\paperwidth}% + +\box_new:N \g_TUDa_footergraphics_box +\newcommand*{\footergraphics}[1]{ + \begingroup + \let\height\g_TUDa_footheight_dim + \hbox_gset:Nn \g_TUDa_footergraphics_box {#1} + \endgroup +} + +\tl_new:N \g_TUDa_poster_foot_tl +\newcommand{\footer}[1]{ + \tl_gset:Nn \g_TUDa_poster_foot_tl {#1} +} + +\tl_new:N \g_TUDa_poster_qrcode_tl +\newcommand*{\footerqrcode}[1]{ + \tl_gset:Nn \g_TUDa_poster_qrcode_tl {#1} +} + +%%%%%%%%%%%%%%%%%%% +% Begin of PDF/A mode +%%%%%%%%%%%%%%%%%%% +%PDFA +\if_bool:N \g_TUDa@pdfa_bool +\PassOptionsToPackage{a-1b}{pdfx} +\RequirePackage{pdfx} +%%hyperref +\hypersetup{hidelinks, unicode, hyperfootnotes=false} +\iow_new:N \TUDa@xmpdata_stream +\iow_open:Nn \TUDa@xmpdata_stream {\jobname.xmpdata} +\tl_new:N \g_TUDa@xmp_title +\tl_new:N \g_TUDa@xmp_author + +\cs_new:Nn \TUDa_pass_TitleData: { + \begingroup + \def\newline{} + \def\\{} + \let\thanks\use_none:n + \cs_set:Npn \and {\sep} + \bool_if:NTF \g_TUDa_pass_TitleData_bool { + \tl_gset:Nx \g_TUDa@xmp_title {\@title} + \seq_clear:N \l_tmpa_seq + \seq_map_inline:Nn \g_TUDa_author_seq { + \seq_put_right:Nx \l_tmpa_seq {##1} + } + \tl_gset:Nx \g_TUDa@xmp_author {\seq_use:Nn \l_tmpa_seq {\sep}} + \iow_now:Nx \TUDa@xmpdata_stream + { + \exp_not:N \Title{\tl_to_str:V \g_TUDa@xmp_title} + ^^J + \exp_not:N \Author{\tl_to_str:V \g_TUDa@xmp_author} + ^^J + \exp_not:N \Creator{LaTeX~ using~ the~ TUDa-CI~ Bundle} + } + }{ + \begingroup + \use:c {pdfx@localcommands} + \prop_map_function:NN \g_TUDa_MetaData_prop \TUDa_write_xmp_line:nn + \endgroup + } + \endgroup +} + +\cs_new:Nn \TUDa_write_xmp_line:nn { + \cs_if_exist:cTF {\tl_mixed_case:n {#1}} { + \iow_now:Nx \TUDa@xmpdata_stream { + \c_backslash_str \tl_mixed_case:n {#1} {\exp_not:n {#2}}%\iow_newline: + } + }{ + \msg_error:nnn {TUDapub} {unknown-metadata} {#1} + } +} + +\bool_new:N \g_TUDa_pass_TitleData_bool +\bool_gset_true:N \g_TUDa_pass_TitleData_bool +\prop_new:N \g_TUDa_MetaData_prop + +\newcommand*{\Metadata}[1]{ + \bool_gset_false:N \g_TUDa_pass_TitleData_bool + \prop_gset_from_keyval:Nn \g_TUDa_MetaData_prop {#1} +} + + +\msg_new:nnnn {TUDapub} {unknown-metadata} { + You~ used~ the~ #1~ metadata~ entry.\\ + I~ don't~ know~ how~ to~ handle~ that.\\ + It~ will~ be~ ignored. +} {See~ TUDa-CI~ or~ pdfx~ documentation~ for~ details.} +\else: +\msg_new:nnn {tudapub} {no-pdfa}{The~ tudapub~ class~ won't~ create~ PDF/A-mode.} +\msg_info:nn {tudapub} {no-pdfa} +%%hyperref +\RequirePackage[hidelinks, unicode,hyperfootnotes=false]{hyperref} +\fi: + +%%%%%%%%%%%%%%%%%%% +% End of PDF/A mode +%%%%%%%%%%%%%%%%%%% + +%redefine \author to manage \and and \thanks + +\seq_new:N \g_TUDa_author_seq + +\renewcommand*\author[1]{ + \seq_gset_split:Nnn \g_TUDa_author_seq {\and} {#1} +} + +\msg_new:nnn {TUDaSciPoster} {unknown-language} { + You~selected~an~unknown~language~#1.\\ + The~Variable~#2~does~not~have~a~predefined~value.\\ + Ensure~to~redefine~#2~to~match~your~language.\\ + Otherwise~the~ngerman~vaue~#3~will~be~used. +} + +\providecommand*\authorandname{ + \msg_warning:nnxxx {TUDaSciPoster} {unknown-language} + {\languagename} {\exp_not:N \authorandname} {und} + und +} + +\defcaptionname{ngerman, german}{\authorandname}{und} +\defcaptionname{english, USenglish, american, UKenglish, british}{\authorandname}{and} + + +\renewcommand*{\@author}{ + \seq_use:Nnnn \g_TUDa_author_seq {~\authorandname{}~} {,~} {~\&~} +} + +\newcommand\titlegraphic[1]{\def\@titlegraphic{#1}} +\titlegraphic{} + +\newcommand{\institute}[1]{\def\@institute{#1}} +\institute{} + + + +%Language dependend configuration +\AtBeginDocument{ + \@ifpackageloaded{babel}{ + \addto\extrasngerman{\def\authorandname{und}} + \addto\extrasgerman{\def\authorandname{und}} + \addto\extrasenglish{\def\authorandname{and}} + \addto\extrasbritish{\def\authorandname{and}} + \addto\captionsngerman{\renewcommand{\figurename}{Abb.}} + \addto\captionsgerman{\renewcommand{\figurename}{Abb.}} + \addto\captionsenglish{\renewcommand{\figurename}{Fig.}} + \addto\captionsbritish{\renewcommand{\figurename}{Fig.}} + }{} +} + +\newlength{\contentwidth} +\setlength{\contentwidth}{\dimexpr\paperwidth-2\c_TUDa_margin_dim\relax} +\newlength{\contentheight} + + +\tcbposterset{ + coverage = + { + spread, + parbox=false, + bottom=\dim_eval:n {\c_TUDa_margin_dim + \bool_if:NT \g_TUDa_poster_foot_bool {+\g_TUDa_footheight_dim + 3\c_TUDa_rulesep_dim} + }, + left=\c_TUDa_margin_dim, + right=\c_TUDa_margin_dim, + before= {\TUDa@poster_setup_title_box:}, + top= \dim_eval:n { + \c_TUDa_margin_dim + +\box_ht:N \TUDa@posterrule_box + +\box_dp:N \TUDa@posterrule_box ++ \g_TUDa_titleblock_dim + +4\c_TUDa_rulesep_dim + +\box_ht:N \g_TUDa_author_box + +\box_dp:N \g_TUDa_author_box + }, + overlay={% + \coordinate(topleft) at ([xshift=\c_TUDa_margin_dim, yshift=-\c_TUDa_margin_dim]current~page.north~ west); + \coordinate(topright) at ([xshift=-\c_TUDa_margin_dim, yshift=-\c_TUDa_margin_dim]current~page.north~ east); + \coordinate(bottomleft) at ([xshift=\c_TUDa_margin_dim, yshift=\c_TUDa_margin_dim]current~page.south~ west); + \coordinate(bottomright) at ([xshift=-\c_TUDa_margin_dim, yshift=\c_TUDa_margin_dim]current~page.south~ east); + + + \node[inner~sep=0pt, anchor=north~west](identbar) at (topleft){\TUDa@posterrule}; + + \fill[identbarcolor] + (identbar.south~east)rectangle([yshift=-\g_TUDa_titleblock_dim]identbar.south~west) coordinate(bottomlefttitleblock); + + \node[anchor=north~east,inner~sep=0pt,minimum~width=2.5\c_TUDa_logoheight_dim](TUDalogo) at ([xshift=.3\c_TUDa_logoheight_dim,yshift=-.5\c_TUDa_logoheight_dim]identbar.south~east){ + \includegraphics[height=\c_TUDa_logoheight_dim]{\g_TUDa_logofile_tl}}; + + \node[inner~sep=0pt,text~width=2.2\c_TUDa_logoheight_dim,align=right,anchor=north~west,](titlegraphic) at ([yshift=-\c_TUDa_rulesep_dim]TUDalogo.south~west){\box_use:N \g_TUDa_titlegraphic_box}; + + \node[anchor=north~west,inner~sep=0pt,] (title) at ([xshift=3\c_TUDa_rulesep_dim,yshift=-.5\c_TUDa_logoheight_dim]identbar.south~west) {\box_use:N \g_TUDa_title_box}; + + \draw[line~ width=.5\c_TUDa_smallrule_dim](bottomlefttitleblock)--++(\contentwidth,0); + + \node[anchor=north~west, inner~xsep=0pt, inner~ ysep=\c_TUDa_rulesep_dim] (author) at ([xshift=3\c_TUDa_rulesep_dim]bottomlefttitleblock) {\box_use:N \g_TUDa_author_box}; + + \draw[line~ width=.5\c_TUDa_smallrule_dim](author.south-|identbar.west)--++(\contentwidth,0); + + + + \bool_if:NT \g_TUDa_poster_foot_bool { + \coordinate(lastpos) at (bottomright); + \tl_if_empty:NF \g_TUDa_poster_qrcode_tl + { + \node[anchor=south~east, inner~sep=\z@] (qrcode)at (lastpos) + { + \exp_args:NnV \use:n {\qrcode[height=\dim_use:N \g_TUDa_footheight_dim]}\g_TUDa_poster_qrcode_tl + }; + \coordinate (lastpos) at (qrcode.south~west); + } + \box_if_empty:NF \g_TUDa_footergraphics_box { + \node[anchor=south~east, inner~sep=\z@] at (lastpos) { + \accentfont + \box_use:N \g_TUDa_footergraphics_box + }; + } + \node[anchor=north~ west, inner~ sep=\z@] (infofooter) at ([yshift=\g_TUDa_footheight_dim]bottomleft) { + \parbox{\dim_eval:n {\contentwidth + -\box_wd:N \g_TUDa_footergraphics_box + \tl_if_empty:NF \g_TUDa_poster_qrcode_tl {-\g_TUDa_footheight_dim-\c_TUDa_rulesep_dim} + }}{ + \rule{\linewidth}{.5\c_TUDa_smallrule_dim}\\ + \accentfont\small\g_TUDa_poster_foot_tl + \par\medskip + \let\footnotetext\TUDa@title@footnote + \g_TUDa_thanks_tl} + }; + + +} + }} +} + +% Background Colors +\colorlet{backgroundcolor}{white} +\colorlet{framecolor}{white} +% Title Colors +\colorlet{titlefgcolor}{textonaccentcolor} +\colorlet{titlebgcolor}{accentcolor} +% Block Colors +\colorlet{blocktitlebgcolor}{accentcolor} +\colorlet{blocktitlefgcolor}{textonaccentcolor} +\colorlet{blockbodybgcolor}{white} +\colorlet{blockbodyfgcolor}{black} +% Innerblock Colors +\colorlet{innerblocktitlebgcolor}{black!15} +\colorlet{innerblocktitlefgcolor}{black} +\colorlet{innerblockbodybgcolor}{textonaccentcolor} +\colorlet{innerblockbodyfgcolor}{black} + +\dim_new:N \g_TUDa_titleblock_dim + +\cs_new:Nn \TUDa@poster_setup_title_box: { + \hbox_gset:Nn \g_TUDa_title_box { + \parbox{.65\paperwidth}{ + \raggedright + \usekomafont{disposition}\usekomafont{title}\leavevmode\@title \par + } + } + \hbox_gset:Nn \g_TUDa_author_box { + \parbox{\dimexpr\contentwidth-6\c_TUDa_rulesep_dim\relax}{ + \TUDa_def_footnotelabel: + {\usekomafont{author}\@author\\}%\\[.2\titleinnersep] + \tl_gset:No \g_TUDa_thanks_tl {\@thanks} + \@institute + } + } + \tl_if_empty:NF \@titlegraphic { + \hbox_gset:Nn \g_TUDa_titlegraphic_box { + \parbox{2.2\c_TUDa_logoheight_dim}{ + \raggedleft + \@titlegraphic + } + } + } + \dim_gset:Nn \g_TUDa_titleblock_dim { + \dim_max:nn + {\dim_max:nn + {2\c_TUDa_logoheight_dim} + {\box_ht:N \g_TUDa_titlegraphic_box +\box_dp:N \g_TUDa_titlegraphic_box+1.8\c_TUDa_logoheight_dim} + } + {\box_ht:N \g_TUDa_title_box+ \box_dp:N \g_TUDa_title_box+.8\c_TUDa_logoheight_dim} + } +} + +%%%%%%%%%%%%%%%%%%%%%% +%Declare TCBstyles for tudaposter +\tcbset { + TUDa/.style = + { + enhanced, + coltitle=black, + colbacktitle=white, + coltext=black, + colback=white, + size=minimal, + boxrule=.5\c_TUDa_smallrule_dim, + leftrule=\z@, + rightrule=\z@, + fonttitle=\usekomafont{disposition}\usekomafont{section}, + before~title={\strut}, + toptitle=.5\c_TUDa_rulesep_dim, + bottomtitle=.5\c_TUDa_rulesep_dim, + top=\c_TUDa_rulesep_dim, + bottom=\c_TUDa_rulesep_dim, + frame~code={ + \iftcb@hasTitle + \fill[tcbcolframe](frame.north~west)rectangle(title.north~east); + \fill[tcbcolframe](title.south~west)rectangle(interior.north~east); + \else + \fill[tcbcolframe](frame.north~west)rectangle(interior.north~east); + \fi + \fill[tcbcolframe](interior.south~west)rectangle(frame.south~east); + }, + parbox=false, + }, + TUDa-inner/.style = + { + TUDa, + fonttitle=\usekomafont{disposition}\usekomafont{subsubsection} + }, + TUDa-colored/.style = + { + TUDa, + left=.5\c_TUDa_rulesep_dim, + right=.5\c_TUDa_rulesep_dim, + colbacktitle=blocktitlebgcolor, + coltitle=blocktitlefgcolor, + colback=blockbodybgcolor, + coltext=blockbodyfgcolor, + titlerule=\z@, + }, + TUDa-colored-inner/.style = + { + TUDa-colored, + colbacktitle=innerblocktitlebgcolor, + coltitle=innerblocktitlefgcolor, + colback=innerblockbodybgcolor, + coltext=innerblockbodyfgcolor, + fonttitle=\usekomafont{disposition}\usekomafont{subsubsection} + }, + TUDa-boxed/.style = + { + enhanced, + size=minimal, + colbacktitle=blocktitlebgcolor, + coltitle=blocktitlefgcolor, + colback=blockbodybgcolor, + coltext=blockbodyfgcolor, + boxsep=\c_TUDa_rulesep_dim, + boxrule=.5\c_TUDa_smallrule_dim, + titlerule=\z@, + arc=1ex, + auto~outer~arc, + fonttitle=\usekomafont{disposition}\usekomafont{section}, + before~title={\strut}, + parbox=false, + }, + TUDa-boxed-inner/.style = + { + TUDa-boxed, + colbacktitle=innerblocktitlebgcolor, + coltitle=innerblocktitlefgcolor, + colback=innerblockbodybgcolor, + coltext=innerblockbodyfgcolor, + sharp~corners, + fonttitle=\usekomafont{disposition}\usekomafont{subsubsection} + }, +} + +%Select default box styles according to style option +\tcbposterset{boxes ={\g_TUDa_boxstyle_tl}, poster={spacing=5cm}} +\tcbset{ + every~ box~ on~ layer~ 3/.style={reset,\g_TUDa_boxstyle_tl -inner}, + every~ box~ on~ layer~ 4/.style={reset,\g_TUDa_boxstyle_tl -inner}, +} + +%ADjust caption indent +\setcapindent{1em} + + +\endinput +%end of tudasciposter.cls |