将较长的节名称与标题右侧对齐

将较长的节名称与标题右侧对齐

我正在努力完成我的论文,但在标题中遇到了一些文本对齐问题。我使用 fancyhdr 包,我希望章节位于标题的左侧,部分位于标题的右侧。由于我的部分名称较长,我尝试了以下解决方案:

\newcommand{\changefont}{
    \fontsize{10}{11}\selectfont
}

\fancyhf[lh,rh,ch]{}
\fancyhf[lh]{\begin{minipage}[t]{\textwidth}\changefont 
\slshape\raggedleft\leftmark\qquad\raggedright\rightmark\\\\
\end{minipage}}

导致 在此处输入图片描述

该部分的第一行和第二行均未向右对齐。另一个问题是第二行与标题的水平线相冲突。我希望该部分向右对齐,一旦超出页面中心,它就会继续在新行上。

我希望有人有想法甚至解决方案。

谢谢,约翰内斯

答案1

您可以将内容\rightmark(即章节编号和章节标题)放入宽度为 的小页面中0.5\textwidth

为了您的目的而提供的演示:

\documentclass{book}
\usepackage{showframe}
\usepackage{fancyhdr}
\renewcommand{\chaptermark}[1]%
  {\markboth{\thechapter.\ #1}{}}
\renewcommand{\sectionmark}[1]%
  {\markright{\thesection.\ #1}}
\setlength{\headheight}{20pt}
\fancyhf{}
\fancyhead[L]{\fontsize{8}{9}\selectfont\slshape\leftmark}
\fancyhead[R]{\minipage[b]{.5\textwidth}\fontsize{8}{9}\selectfont\slshape\raggedleft\rightmark\endminipage}
\pagestyle{fancy}
\begin{document}

\chapter{AAAAA}
\section{This section is very very very very very very very very long}
some text
\newpage 
some text
\newpage
\section{aaaa}
some text

\end{document}

在此处输入图片描述

在此处输入图片描述

答案2

这里的想法是调整右侧的宽度\parbox以适应剩余空间。有趣的是,困难的部分是始终让标题的顶部每次都显示在同一水平。

\documentclass{book}
\usepackage{showframe}
\setlength{\headheight}{20pt}
\makeatletter
\newsavebox{\lefthead}
\def\ps@myheadings{%
  \def\@oddfoot{\hfil\thepage\hfil}% assuming you want the page number somewhere
  \let\@evenfoot\@oddfoot
  \def\@oddhead{\savebox{\lefthead}{\slshape\leftmark}%
    \parbox[b][\headheight][t]{\textwidth}{\usebox\lefthead\hfill
      \parbox[t]{\dimexpr \textwidth-\wd\lefthead-\columnsep}%
        {\raggedleft\slshape\rightmark}\par}}%
  \let\@evenhead\@oddhead
  \let\@mkboth\markboth
  \def\chaptermark##1{%
    \markboth {\MakeUppercase{%
      \ifnum \c@secnumdepth >\m@ne
        \@chapapp\ \thechapter. \ %
      \fi
      ##1}}{}}%
  \def\sectionmark##1{%
    \markright {\MakeUppercase{%
      \ifnum \c@secnumdepth >\z@
        \thesection. \ %
      \fi
      ##1}}}}
\makeatother
\pagestyle{myheadings}
\begin{document}

\chapter{AAAAA}
\section{This section is very very very very very very very very long}
some text
\newpage 
some text
\newpage
\section{aaaa}
some text

\end{document}

相关内容