#% Do not delete the line below; configure depends on this # \DeclareLaTeXClass[article]{AspectC++ Manual (Standard Class)} # \DeclareCategory{Articles} # AspectC++ Manual textclass definition file. Based on 'Artical' source code # Author : Olaf Spinczyk Format 104 Input stdclass.inc DefaultModule tcolorbox SecNumDepth 3 TocDepth 3 DocBookRoot article NoStyle Chapter NoCounter chapter NoStyle Chapter* Style Part Align Left AlignPossible Left LabelType Above TopSep 2 BottomSep 1.5 Font Series Bold Size Huge EndFont LabelFont Series Bold Size Larger EndFont End Style Part* Align Left AlignPossible Left TopSep 2 BottomSep 1.5 Font Series Bold Size Huge EndFont End AddToPreamble % % setup fancyhdr % % % two side book class setup % odd page - left head: chapter - left foot: page number % even page - right head: section - right foot: page number % no head on plain pages % \fancyhf{}% \fancyhead[LE,RO]{\slshape \rightmark} \fancyhead[LO,RE]{\slshape \leftmark} \fancyfoot[LE,RO]{\thepage} % % rules for head and foot % also on plain pages % \renewcommand{\headrulewidth}{.4pt} \renewcommand{\footrulewidth}{.4pt} \renewcommand{\plainfootrulewidth}{.4pt} % % Variables to change some details % % version number for this document % \newcommand{\@version}{1} \newcommand{\version}[1]{ \renewcommand{\@version}{#1} } % % \newcommand\pslogo[1]{\gdef\@pslogo{#1}} \pslogo{} % \newcommand\otherlogo[1]{\gdef\@otherlogo{#1}} \otherlogo{} % \newcommand\remark[1]{\gdef\@remark{#1}} \remark{} % \newcommand{\doctype}[1]{\gdef\@doctype{#1}} \doctype{Studie:} % \newcommand\credit[1]{\gdef\@credit{#1}} \credit{Diese Studie wurde durch die\par \vskip .3cm pure-systems GmbH\par Agnetenstr. 14\par 39106 Magdeburg\par http://www.pure-systems.com\par \vskip .3cm erstellt.} % % % \newcommand\layoutlogos{ \newlength{\@pslogowidth} \newlength{\@otherlogowidth} \settowidth{\@otherlogowidth}{\@otherlogo} \settowidth{\@pslogowidth}{\@pslogo} \noindent \begin{minipage}{\@otherlogowidth} {\@otherlogo} \end{minipage} \hspace*{\fill} \begin{minipage}{\@pslogowidth} {\@pslogo} \end{minipage} } % % redefine \maketitle macro % \renewcommand{\maketitle}{ \null \thispagestyle{empty} {\layoutlogos} \vskip 3cm \begin{center}\leavevmode {\Huge\raggedright {\@doctype}\\ {\@title}\par} \rule{\textwidth}{1mm} \vskip 3mm {\Large\raggedleft {\@author}\par} \vskip 15mm {\Large\raggedleft {\@date}\par} \end{center} \vfill {\large\raggedleft {\@remark}\par} \vskip 1cm \null % \newpage % \null \thispagestyle{empty} } %-------------------------------------------------------------------- % setup pure-systems style %-------------------------------------------------------------------- \doctype{Documentation:} \otherlogo{ \resizebox{4cm}{!}{\includegraphics{images/ac++logo}}} %-------------------------------------------------------------------- % place footnotes at the bottom of the page %-------------------------------------------------------------------- \renewcommand\footnoterule{% \vfill \kern-3\p@ \hrule\@width.3\columnwidth \kern2.6\p@} %-------------------------------------------------------------------- % leave less than one and a half space between lines %-------------------------------------------------------------------- \setstretch{1.15} %-------------------------------------------------------------------- % environment 'comment' %-------------------------------------------------------------------- \usepackage{comment} %-------------------------------------------------------------------- % add 'Index' to table of contents %-------------------------------------------------------------------- \let\old@theindex\theindex \def\theindex{ \old@theindex \addcontentsline{toc}{section}{\indexname}} %-------------------------------------------------------------------- % landscape mode %-------------------------------------------------------------------- \usepackage{pdflscape} %-------------------------------------------------------------------- % caption of longtables %-------------------------------------------------------------------- \usepackage{capt-of} \usepackage{xcolor} % for colored listings \usepackage{parskip} % do no indent paragraphs %-------------------------------------------------------------------- % encircled numbers \usepackage{pifont} %-------------------------------------------------------------------- %-------------------------------------------------------------------- % configure color box, which are use for nice breakable listings %-------------------------------------------------------------------- \usepackage{tcolorbox} \tcbuselibrary{breakable, skins} \tcbset{breakable, enhanced, skin=enhanced, colback=black!10, colframe=black!30} \usepackage{tikz} \usetikzlibrary{ arrows.meta, tikzmark, calc, positioning } \usepackage{listings} \lstset{basicstyle={\ttfamily}, escapeinside={<==}{\^^M}, showstringspaces=false, upquote=true} \usetikzmarklibrary{listings} %-------------------------------------------------------------------- % AspectC++ listing style definitions %-------------------------------------------------------------------- \lstdefinelanguage[Aspect]{C++}[ISO]{C++}{ morekeywords={[2], aspect, advice, pointcut, attribute, slice, call, execution, construction, destruction, get, set, ref, builtin, within, cflow, before, around, after, tjp, JoinPoint, order, derived, base, args, that, target, result, override } } %-------------------------------------------------------------------- % special setting for bash code %-------------------------------------------------------------------- \lstdefinelanguage{bash}{ keywords={}, backgroundcolor=\color{black!10} } %-------------------------------------------------------------------- % special setting for cmake code %-------------------------------------------------------------------- \lstdefinelanguage{cmake}{ keywords={cmake_minimum_required, project, set, add_executable, file}, backgroundcolor=\color{black!10} } % Create a counter for listings so that the comment markers have a local scope \newcounter{aclstcount} \tikzset{ tikzmark suffix={-\theaclstcount} } \AtBeginEnvironment{lstlisting}{\stepcounter{aclstcount}} \newcommand{\pos}[1]{\tikzmark{pos_#1}} % This is needed, because 'tikzmark's are stored in the aux file, which is only rebuild % by lyx if cross-references change. The warning message fakes this situation. Without % it mistakes with using the marks could remain visible even after fixing them. Restarting % LyX helps, but is annoying. So we better wait a little longer for every rebuild. \wlog{LaTeX Warning:Rerun to get cross-references} % latex commands to draw the markers with tikz: \newcommand{\lstarrowcomment}[4]{% \def\vertval{#3}% \ifdimless{\vertval}{0.0cm}{% \begin{tikzpicture}[% remember picture, overlay, annotation/.style={ inner sep=0pt, outer sep=0pt, outer xsep=1mm, text width=10cm, font=\bfseries }, >={Stealth[inset=0pt, angle=45:7pt]} ] \draw[<-] (pic cs:pos_#1) ++(0.5,.5ex) -| ++(#2,#3) node[annotation, above right] {\normalfont #4}; \end{tikzpicture} }{ \begin{tikzpicture}[% remember picture, overlay, annotation/.style={ inner sep=0pt, outer sep=0pt, outer xsep=1mm, text width=10cm, font=\bfseries }, >={Stealth[inset=0pt, angle=45:7pt]} ] \draw[<-] (pic cs:pos_#1) ++(0.5,.5ex) -| ++(#2,#3) node[annotation, below right] {\normalfont #4}; \end{tikzpicture}% } } EndPreamble AddToHTMLPreamble EndPreamble # Make sure that no HTML styling is generated for listings and their caption InsetLayout Listings HTMLTag pre HTMLStyle EndHTMLStyle End # No styling for the table of contents, too! InsetLayout TOC HTMLStyle EndHTMLStyle End Style "Listing Arrow Comment" LatexType Paragraph Align Left AlignPossible Left LeftDelim "
\lstarrowcomment" RightDelim "
\vspace{-\the\baselineskip}
" LeftMargin "listing arrow comment: " LabelString "Listing arrow comment: " LabelType Static LabelFont Series Medium Shape Italic Size Small Color textlabel1 EndFont Newline 1 End InsetLayout "Flex:Listing Arrow P1: Pos" LyXType custom Decoration Classic LatexType None BgColor white LabelString "pos" LeftDelim "{" RightDelim "}" HTMLIsBlock 0 End InsetLayout "Flex:Listing Arrow P2: Len" LyXType custom Decoration Classic LatexType None BgColor white LabelString "len" LeftDelim "{" RightDelim "}" HTMLIsBlock 0 End InsetLayout "Flex:Listing Arrow P3: Height" LyXType custom Decoration Classic LatexType None BgColor white LabelString "height" LeftDelim "{" RightDelim "}" HTMLIsBlock 0 End InsetLayout "Flex:Listing Arrow P4: Text" LyXType custom Decoration Classic LatexType None BgColor white LabelString "txt" MultiPar 0 LeftDelim "{" RightDelim "}" HTMLIsBlock 0 End