如何在自定义位置对齐 mdframed 的框架标题?

如何在自定义位置对齐 mdframed 的框架标题?

mdframed有一个选项frametitlealignment,但手册没有列出可能的值。我想知道它是否接受除leftright和之外的其他值center(除了像 这样的衍生物raggedleft)。

是否可以将标题放在自定义位置(例如左侧 30%)?

如果没有,如何设置标题的填充(边距)?我只是将标题移动了

frametitle=\hspace{1em}Title

但问题是我在页眉中使用了标题,但我不想把它放在hspace那里。

编辑:MWE 澄清了该问题。

\documentclass{article}

\usepackage{mdframed}
\usepackage{lipsum}
\makeatletter
\mdfdefinestyle{example}{settings={\@mkboth{\mdf@frametitle}{\mdf@frametitle}}}
\makeatother
\pagestyle{headings}
\begin{document}

\begin{mdframed}[style=example,frametitle=\hspace*{0.30\linewidth}Some Title 1]
\lipsum[1]
\end{mdframed}
\end{document}

在此处输入图片描述 在此处输入图片描述

可以看出,通过添加\hspaceframetitle,不仅可以frame title添加移位,还page header可以添加。我需要自定义框架标题的位置,但不需要自定义页眉。

事实上,我无法改变frametitle,因为它的值恰好用在页眉中。我需要将框架标题与对齐frametitlealignment

答案1

您可以使用frametitlealignment={\hspace*{0.30\linewidth}}将文本定位到 30%\linewidth

在此处输入图片描述

\documentclass{article}

\usepackage{mdframed}
\usepackage{lipsum}
\makeatletter
\mdfdefinestyle{example}{settings={\@mkboth{\mdf@frametitle}{\mdf@frametitle}}}
\makeatother
\pagestyle{headings}
\begin{document}

\begin{mdframed}[style=example,frametitle=Some Title 1,
frametitlealignment={\hspace*{0.30\linewidth}}]
\lipsum[1]
\end{mdframed}
\end{document}

相关内容