Использовать заголовок раздела в верхнем колонтитуле сценария презентации Latex KOMA

Использовать заголовок раздела в верхнем колонтитуле сценария презентации Latex KOMA

Я хотел бы использовать шаблон презентации Latex KOMA [1] для своей презентации. Но я хочу заменитьбегущая головавверху по названию (под)раздела.

В настоящее время шаблон презентации Latex KOMA [1] выглядит следующим образом:

\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}

Я попытался заменитьбегущая головас помощью следующей пользовательской \currtitleкоманды:

\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

Но как мне скрыть заголовок раздела на слайде? (под зеленой строкой заголовка) Или как мне переместить заголовок (под)раздела на слайд?бегущая головапозиция?

Спасибо!

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

решение1

Я спросил вас в комментариях, нужно ли вам сгенерировать TOC и был довольно настойчив в своей просьбе об ответе. На это есть довольно веская причина.

Прямо сейчас (с этим решением/обходным путем) заголовки разделов вообще не печатаются (в классическом смысле с использованием \@startsection). Каждый раз, когда вы вызываете новую команду, sectionaстраница очищается (т. е. начинается новая страница/слайд), обновляется заголовок и создается запись оглавления. Можно было бы просто обновить определение раздела, но это означало бы испортить определение \tableofcontents, а может быть, и список рисунков/таблиц или библиографию.

Оригинальная статья Маркуса устарела на несколько лет, и многое изменилось. Например, KOMA теперь выдает огромное предупреждение, потому что titlesecиспользуется. Новый пакет под названием scrlayer-scrpageприсоединился к пакету KOMA, внеся большой вклад в бегущую заголовочную часть.

Подводя итог, статья представила прототип для использования класса KOMA-article для презентаций. Есть некоторые шероховатости, которые нужно отполировать. Для прототипа это было довольно хорошо несколько лет назад, но сейчас, и особенно в предоставленном шаблоне, я бы сказал: «Руки прочь от этого!»

Возвращаясь к теме, что я сделал? Я использовал пакет xparse для проверки версии со звездочкой. Версия со звездочкой обновляет текущий заголовок (который является чем-то вроде заголовка фрейма), но не размещает запись оглавления. Кроме того, счетчик section(который в любом случае не используется) увеличивается на единицу.
Если вы не используете команду со звездочкой sectiona, вы можете выбрать необязательный заголовок для записи оглавления. Это в какой-то степени эквивалентно стандартному поведению команды section.
subsectionas обновляет заголовок, немного уменьшает его и добавляет запись оглавления subsection в TOC.

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Предоставленный шаблон имеет некоторые острые углы, особенно если вы считаете, что наложения и подобные изящные штуки великолепны, переключитесь на класс, который был разработан для этого.
Не поймите меня неправильно, использование scrartcl для презентаций — отличная идея, но вы никогда не получите всех наворотов, которые он beamerпредоставляет.

Для MWE важно, честно говоря, следующее: не так уж и много, но все же...

\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}%
}%
%

А теперь полный пример, готовый к копированию/вставке/компиляции:

\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}

Связанный контент