我想要一条从标题左右两侧各一条水平线。线宽应根据标题进行调整。因此,例如,如果标题占用 0.4\textwidth,则标题左侧的水平线应占用 0.3\textwidth,作为标题右侧的线。
到目前为止,我有这样的代码:
\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}
\usebackgroundtemplate%
{%
\includegraphics[width=\paperwidth,height=\paperheight]{/some/picture.png}%
}
\beamertemplatenavigationsymbolsempty
\begin{document}
\frame[c]{%
\centering
\Huge{\textbf{\rule{0.1\textwidth}{.4pt} Main title \rule{0.1\textwidth}{.4pt}\\
subtitle}\\
not bold text}
}
\end{document}
我的问题是:1)线条不是垂直于线的中心,而是在底部。2)我必须手动调整线条的宽度,因此,如果标题发生变化,则必须手动更改线宽。
有人能帮帮我吗?我试过谷歌搜索,但没有找到我需要的东西。
答案1
您可以使用它来以水平模式\leaders\hrule\hfill
执行。\hrule
我从示例代码中删除了背景图像,并添加了一个\maintitle
执行所需格式的宏。我还在两边添加了一个小空间。我觉得这样看起来更好。
\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}
\makeatletter
\newcommand\maintitle[1]{%
\quitvmode
\hb@xt@\linewidth{%
\dimen@=1ex
\advance\dimen@-2pt
\leaders\hrule \@height1ex \@depth-\dimen@\hfill
\enskip
\textbf{#1}%
\enskip
\leaders\hrule \@height1ex \@depth-\dimen@\hfill
}%
}
\makeatother
\beamertemplatenavigationsymbolsempty
\begin{document}
\frame[c]{%
\centering
\Huge
\maintitle{Main title}\\
\textbf{subtitle}\\
not bold text
}
\end{document}