Use o título da seção no cabeçalho do script de apresentação Latex KOMA

Use o título da seção no cabeçalho do script de apresentação Latex KOMA

Gostaria de usar o modelo de apresentação Latex KOMA [1] para minha apresentação. Mas eu quero substituir ocabeça correndona parte superior pelo título da (sub)seção.

Atualmente o modelo de apresentação Latex KOMA [1] tem a seguinte aparência:

\documentclass[
paper=128mm:96mm, % The same paper size as used in the beamer class
fontsize=11pt, % Font size
pagesize, % Write page size to dvi or pdf
parskip=half-, % Paragraphs separated by half a line
]{scrartcl} % KOMA script (article)

\linespread{1.12} % Increase line spacing for readability

%------------------------------------------------
% Colors
\usepackage{xcolor}  % Required for custom colors
% Define a few colors for making text stand out within the presentation
\definecolor{mygreen}{RGB}{44,85,17}
\definecolor{myblue}{RGB}{34,31,217}
\definecolor{mybrown}{RGB}{194,164,113}
\definecolor{myred}{RGB}{255,66,56}
% Use these colors within the presentation by enclosing text in the commands below
\newcommand*{\mygreen}[1]{\textcolor{mygreen}{#1}}
\newcommand*{\myblue}[1]{\textcolor{myblue}{#1}}
\newcommand*{\mybrown}[1]{\textcolor{mybrown}{#1}}
\newcommand*{\myred}[1]{\textcolor{myred}{#1}}
%------------------------------------------------

%------------------------------------------------
% Margins
\usepackage[ % Page margins settings
includeheadfoot,
top=3.5mm,
bottom=3.5mm,
left=5.5mm,
right=5.5mm,
headsep=6.5mm,
footskip=8.5mm
]{geometry}
%------------------------------------------------

%------------------------------------------------
% Fonts
\usepackage[T1]{fontenc}     % For correct hyphenation and T1 encoding
\usepackage{lmodern} % Default font: latin modern font
%\usepackage{fourier} % Alternative font: utopia
%\usepackage{charter} % Alternative font: low-resolution roman font
\renewcommand{\familydefault}{\sfdefault} % Sans serif - this may need to be commented to see the alternative fonts
%------------------------------------------------

%------------------------------------------------
% Various required packages
\usepackage{amsthm} % Required for theorem environments
\usepackage{bm} % Required for bold math symbols (used in the footer of the slides)
\usepackage{graphicx} % Required for including images in figures
\usepackage{tikz} % Required for colored boxes
\usepackage{booktabs} % Required for horizontal rules in tables
\usepackage{multicol} % Required for creating multiple columns in slides
\usepackage{lastpage} % For printing the total number of pages at the bottom of each slide
\usepackage[english]{babel} % Document language - required for customizing section titles
\usepackage{microtype} % Better typography
\usepackage{tocstyle} % Required for customizing the table of contents
%------------------------------------------------

%------------------------------------------------
% Slide layout configuration
\usepackage{scrpage2} % Required for customization of the header and footer
\pagestyle{scrheadings} % Activates the pagestyle from scrpage2 for custom headers and footers
\clearscrheadfoot % Remove the default header and footer
\setkomafont{pageheadfoot}{\normalfont\color{black}\sffamily} % Font settings for the header and footer

% Sets vertical centering of slide contents with increased space between paragraphs/lists
\makeatletter
\renewcommand*{\@textbottom}{\vskip \z@ \@plus 1fil}
\newcommand*{\@texttop}{\vskip \z@ \@plus .5fil}
\addtolength{\parskip}{\z@\@plus .25fil}
\makeatother

% Remove page numbers and the dots leading to them from the outline slide
\makeatletter
\newtocstyle[noonewithdot]{nodotnopagenumber}{\settocfeature{pagenumberbox}{\@gobble}}
\makeatother
\usetocstyle{nodotnopagenumber}

\AtBeginDocument{\renewcaptionname{english}{\contentsname}{\Large Outline}} % Change the name of the table of contents
%------------------------------------------------

%------------------------------------------------
% Header configuration - if you don't want a header remove this block
\ihead{
\hspace{-2mm}
\begin{tikzpicture}[remember picture,overlay]
\node [xshift=\paperwidth/2,yshift=-\headheight] (mybar) at (current page.north west)[rectangle,fill,inner sep=0pt,minimum width=\paperwidth,minimum height=2\headheight,top color=mygreen!64,bottom color=mygreen]{}; % Colored bar
\node[below of=mybar,yshift=3.3mm,rectangle,shade,inner sep=0pt,minimum width=128mm,minimum height =1.5mm,top color=black!50,bottom color=white]{}; % Shadow under the colored bar
shadow
\end{tikzpicture}
\color{white}\runninghead} % Header text defined by the \runninghead command below and colored white for contrast
%------------------------------------------------

%------------------------------------------------
% Footer configuration
%\newlength{\footheight}
\setlength{\footheight}{8mm} % Height of the footer
\addtokomafont{pagefoot}{\footnotesize} % Small font size for the footnote

\ifoot{% Left side
\hspace{-2mm}
\begin{tikzpicture}[remember picture,overlay]
\node [xshift=\paperwidth/2,yshift=\footheight] at (current page.south west)[rectangle,fill,inner sep=0pt,minimum width=\paperwidth,minimum height=3pt,top color=mygreen,bottom color=mygreen]{}; % Green bar
\end{tikzpicture}
\myauthor\ \raisebox{0.2mm}{$\bm{\vert}$}\ \myuni % Left side text
}

\ofoot[\pagemark/\pageref{LastPage}\hspace{-2mm}]{\pagemark/\pageref{LastPage}\hspace{-2mm}} % Right side
%------------------------------------------------

%------------------------------------------------
% Section spacing - deeper section titles are given less space due to lesser importance
\usepackage{titlesec} % Required for customizing section spacing
\titlespacing{\section}{0mm}{0mm}{0mm} % Lengths are: left, before, after
\titlespacing{\subsection}{0mm}{0mm}{-1mm} % Lengths are: left, before, after
\titlespacing{\subsubsection}{0mm}{0mm}{-2mm} % Lengths are: left, before, after
\setcounter{secnumdepth}{0} % How deep sections are numbered, set to no numbering by default - change to 1 for numbering sections, 2 for numbering sections and subsections, etc
%------------------------------------------------

%----------------------------------------------------------------------------------------
%   PRESENTATION INFORMATION
%----------------------------------------------------------------------------------------
\newcommand*{\mytitle}{Presentation Title} % Title
\newcommand*{\runninghead}{Running Head} % Running head displayed on almost all slides
\newcommand*{\myauthor}{John Smith} % Presenters name(s)
\newcommand*{\mydate}{\today} % Presentation date
\newcommand*{\myuni}{University of California --- Department of Statistics} % University or department
%----------------------------------------------------------------------------------------

\begin{document}

%----------------------------------------------------------------------------------------
\section{Displaying Text}
\clearpage
%----------------------------------------------------------------------------------------

\end{document}

Eu tentei substituir ocabeça correndopelo seguinte \currtitlecomando personalizado:

\makeatletter
\newcommand{\currtitle}{\ttl@savetitle}
\makeatother

%------------------------------------------------
% Header configuration - if you don't want a header remove this block
\ihead{
\hspace{-2mm}
\begin{tikzpicture}[remember picture,overlay]
\node [xshift=\paperwidth/2,yshift=-\headheight] (mybar) at (current page.north west)[rectangle,fill,inner sep=0pt,minimum width=\paperwidth,minimum height=2\headheight,top color=mygreen!64,bottom color=mygreen]{}; % Colored bar
\node[below of=mybar,yshift=3.3mm,rectangle,shade,inner sep=0pt,minimum width=128mm,minimum height =1.5mm,top color=black!50,bottom color=white]{}; % Shadow under the colored bar
shadow
\end{tikzpicture}
\color{white}\currtitle} % Header text defined by the \runninghead command below and colored white for contrast

Mas como posso ocultar o título da seção no slide? (abaixo da barra verde do cabeçalho) Ou como posso mover o título da (sub)seção para ocabeça correndoposição?

Obrigado!

[1]http://www.latetemplates.com/template/koma-script-presentation

Responder1

Perguntei nos comentários se você precisa gerar um sumário e fui bastante persistente com meu pedido de resposta. Há uma boa razão para isso.

No momento, (com esta solução/solução alternativa) não há nenhum título de seção impresso (no sentido clássico usando \@startsection). Cada vez que você chama o novo comando, sectionaa página é limpa (ou seja, uma nova página/slide é iniciada), o cabeçalho de execução é atualizado e uma entrada de toc é criada. Poderíamos simplesmente renovar a definição da seção, mas isso significaria bagunçar a definição de \tableofcontentse talvez uma lista de figuras/tabelas ou uma bibliografia.

O artigo original de Markus tem alguns anos e muitas coisas mudaram. Por exemplo, KOMA agora inicia um grande aviso porque titlesecé usado. Um novo pacote chamado scrlayer-scrpagejuntou-se ao pacote KOMA, fazendo uma grande contribuição para o funcionamento do head head.

Resumindo, o artigo apresentou um protótipo para utilizar a classe de artigos KOMA para apresentações. Existem algumas arestas que precisam ser polidas. Para um protótipo, era muito bom há alguns anos, mas agora, e especialmente no modelo fornecido, eu diria: »Tire as mãos dele!«

Voltando ao tópico, o que eu fiz? Usei o pacote xparse para verificar uma versão com estrela. A versão com estrela atualiza o cabeçalho em execução (que é algo como um frametitle), mas não coloca uma entrada toc. Além disso, o contador de section(que não é usado de qualquer maneira) é avançado em um.
Se você não usar o comando com estrela de sectiona, poderá escolher um título opcional para a entrada do token. De alguma forma, isso é equivalente ao comportamento padrão do comando de seção.
subsectionaVamos atualizar o cabeçalho, um pouco menor, e adicionar uma entrada de subseção no sumário.

AVISO LEGAL: O modelo fornecido tem algumas arestas vivas, especialmente se você acha que sobreposições e coisas bacanas como essas são ótimas, mude para uma classe que foi projetada para fazer isso.
Não me interpretem mal, usar o scartcl para apresentações é uma ótima idéia, mas você nunca obterá todos os recursos que ele beameroferece.

O que é importante para o MWE é apenas o seguinte, para ser sincero, não muito, mas ainda assim...

\usepackage{xparse}
%
\DeclareDocumentCommand\sectiona{s o m}{%
    \clearpage%
    \IfBooleanTF{#1}{%
        \renewcommand{\runninghead}{#3}%
    }{%
        \refstepcounter{section}%JB: Please don't aske mw, %
%why i am doing this, as they aren't printed anyway%
        \renewcommand{\runninghead}{#3}%always use the%
%       mandatory argument for the runninghead%
        \IfNoValueTF{#2}{%
            \addsectiontocentry{}{#3}%
        }{%
            \addsectiontocentry{}{#2}%
        }%
    }%
}%
\newcommand\subsectiona[1]{%
    \clearpage%
    \refstepcounter{subsection}%
    \renewcommand{\runninghead}{\small #1\par}%
    \addsubsectiontocentry{}{#1}%
}%
%

E agora o exemplo completo, pronto para copiar/colar/compilar:

\documentclass[
paper=128mm:96mm, 
fontsize=11pt, 
pagesize, 
parskip=half-, 
]{scrartcl} 

\linespread{1.12} 

\usepackage{bm}  
\usepackage{xcolor}  

\definecolor{mygreen}{RGB}{44,85,17}
\definecolor{myblue}{RGB}{34,31,217}
\definecolor{mybrown}{RGB}{194,164,113}
\definecolor{myred}{RGB}{255,66,56}

\newcommand*{\mygreen}[1]{\textcolor{mygreen}{#1}}
\newcommand*{\myblue}[1]{\textcolor{myblue}{#1}}
\newcommand*{\mybrown}[1]{\textcolor{mybrown}{#1}}
\newcommand*{\myred}[1]{\textcolor{myred}{#1}}




\usepackage[ 
includeheadfoot,
top=3.5mm,
bottom=3.5mm,
left=5.5mm,
right=5.5mm,
headsep=6.5mm,
footskip=8.5mm
]{geometry}




\usepackage[T1]{fontenc}     
\usepackage{lmodern} 


\renewcommand{\familydefault}{\sfdefault} 




\usepackage{tikz} 
\usepackage{lastpage} 
\usepackage[english]{babel} 
\usepackage{microtype} 
\usepackage{tocstyle} 
\usepackage{scrpage2} 
\pagestyle{scrheadings} 
\clearscrheadfoot 
\setkomafont{pageheadfoot}{\normalfont\color{black}\sffamily} 

\makeatletter
\renewcommand*{\@textbottom}{\vskip \z@ \@plus 1fil}
\newcommand*{\@texttop}{\vskip \z@ \@plus .5fil}
\addtolength{\parskip}{\z@\@plus .25fil}
\makeatother

\makeatletter
\newtocstyle[noonewithdot]{nodotnopagenumber}{\settocfeature{pagenumberbox}{\@gobble}}
\makeatother
\usetocstyle{nodotnopagenumber}

\AtBeginDocument{\renewcaptionname{english}{\contentsname}{Outline}} 




\ihead{
\hspace{-2mm}
\begin{tikzpicture}[remember picture,overlay]
\node [xshift=\paperwidth/2,yshift=-\headheight] (mybar) at (current page.north west)[rectangle,fill,inner sep=0pt,minimum width=\paperwidth,minimum height=2\headheight,top color=mygreen!64,bottom color=mygreen]{}; 
\node[below of=mybar,yshift=3.3mm,rectangle,shade,inner sep=0pt,minimum width=128mm,minimum height =1.5mm,top color=black!50,bottom color=white]{}; 
shadow
\end{tikzpicture}
\color{white}\runninghead} 





\setlength{\footheight}{8mm} 
\addtokomafont{pagefoot}{\footnotesize} 

\ifoot{
\hspace{-2mm}
\begin{tikzpicture}[remember picture,overlay]
\node [xshift=\paperwidth/2,yshift=\footheight] at (current page.south west)[rectangle,fill,inner sep=0pt,minimum width=\paperwidth,minimum height=3pt,top color=mygreen,bottom color=mygreen]{}; 
\end{tikzpicture}
\myauthor\ \raisebox{0.2mm}{$\bm{\vert}$}\ \myuni 
}

\ofoot[\pagemark/\pageref{LastPage}\hspace{-2mm}]{\pagemark/\pageref{LastPage}\hspace{-2mm}} 




\usepackage{titlesec} 
\titlespacing{\section}{0mm}{0mm}{0mm} 
\titlespacing{\subsection}{0mm}{0mm}{-1mm} 
\titlespacing{\subsubsection}{0mm}{0mm}{-2mm} 
\setcounter{secnumdepth}{0} 





\newcommand*{\mytitle}{Presentation Title} 
\usepackage{nameref}
\newcommand*{\runninghead}{}
\newcommand*{\myauthor}{John Smith} 
\newcommand*{\mydate}{\today} 
\newcommand*{\myuni}{University of California --- Department of Statistics} 


\usepackage{xparse}
%
\DeclareDocumentCommand\sectiona{s o m}{%
    \clearpage%
    \IfBooleanTF{#1}{%
        \renewcommand{\runninghead}{#3}%
    }{%
        \refstepcounter{section}%JB: Please don't aske mw, %
%why i am doing this, as they aren't printed anyway%
        \renewcommand{\runninghead}{#3}%always use the%
%       mandatory argument for the runninghead%
        \IfNoValueTF{#2}{%
            \addsectiontocentry{}{#3}%
        }{%
            \addsectiontocentry{}{#2}%
        }%
    }%
}%
\newcommand\subsectiona[1]{%
    \clearpage%
    \refstepcounter{subsection}%
    \renewcommand{\runninghead}{\small #1\par}%
    \addsubsectiontocentry{}{#1}%
}%
%




\begin{document}
\tableofcontents
\sectiona{a section}
Text in a section, runninghead updated

\sectiona{a different section}
Text in another section, runninghead updated
\subsectiona{a subsection}
The runninghead is now smaller, to distiguish it a bit from a
section
\sectiona*{a starred section}
Text in a starred section, runninghead updated, but no toc entry

\sectiona[toc entry]{running head}
an optional argument? REALLY?
\end{document}

informação relacionada