5 在fancyhdr中是否可以设置页眉横线的长度由字符实际长度动态决定呢?

发布于 2024-07-19 12:15:27

在尝试使用facnyhdr更改页眉页脚的样式时,希望可以将页眉的横线长度根据各个section的实际长度动态调整,而我只找到`%renewcommand{headwidth}{<length>}这样一个宏,不太确定能否动态决定页眉横线的长度。
效果如下图
image.png

MWE

\documentclass[12pt]{ctexart}
\usepackage{amsmath}
\usepackage{fancyhdr}
\usepackage{lastpage}
\usepackage{lipsum}
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\thepage}{\roman{page}}
\fancyhead[L]{\leftmark}
\fancyfoot[C]{第 \thepage 页,共 \pageref{LastPage} 页}
\begin{document}
\section{如何入门\LaTeX{}}
\lipsum[2-6]
\section{如何进一步学习\LaTeX{}Long Long Long Long Long Long}
\lipsum[2-6]
\section{如何系统性学习\LaTeX{}}
\lipsum[2-6]
\section{如何入坑\LaTeX{}}
\lipsum[2-6]
\section{如何放弃\LaTeX{}Long Long Long Long}
\lipsum[2-6]
\end{document}

查看更多

关注者
0
被浏览
329
鱼香肉丝没有鱼先生
脾气不好,别来惹我!!!
\newlength{\leftmarkwidth}
\renewcommand{\headrule}{%
    \settowidth{\leftmarkwidth}{\leftmark}%
    \vspace*{-.5\baselineskip}%
    \vrule width \leftmarkwidth height .5pt\relax%
}
\documentclass[12pt]{ctexart}
\usepackage{amsmath}
\usepackage{fancyhdr}
\usepackage{lastpage}
\usepackage{lipsum}
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\thepage}{\roman{page}}
\newlength{\leftmarkwidth}
\renewcommand{\headrule}{%
    \settowidth{\leftmarkwidth}{\leftmark}%
    \vspace*{-.5\baselineskip}%
    \vrule width \leftmarkwidth height .5pt\relax%
}
\fancyhead[L]{\leftmark}
\fancyfoot[C]{第 \thepage 页,共 \pageref{LastPage} 页}
\begin{document}
\section{如何入门\LaTeX{}}
\lipsum[2-6]
\section{如何进一步学习\LaTeX{}Long Long Long Long Long Long}
\lipsum[2-6]
\section{如何系统性学习\LaTeX{}}
\lipsum[2-6]
\section{如何入坑\LaTeX{}}
\lipsum[2-6]
\section{如何放弃\LaTeX{}Long Long Long Long}
\lipsum[2-6]
\end{document}

image.png

1 个回答

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览