LaTeX amsart类奇数页右上角页码与长标题重叠问题求解
问题背景
使用amsart文档类编写LaTeX论文时,编译后出现奇数页右上角页码被页眉处的长标题遮挡的问题,页码隐藏在标题末尾字母后方。因需求无法缩短论文正式标题,且LaTeX基础薄弱,需要步骤明确、无需修改原标题长度的可行解决方法。
原核心代码框架如下:
\documentclass[a4paper,12pt,reqno, two side]{amsart} % 导言区已加载amsmath、amssymb、hyperref等常用宏包 \begin{document} \title{Brown-McCoy Radical and its properties in B-topological Rings} % 省略作者、地址、摘要、关键词等配置 \maketitle \section{Introduction} % 正文内容 \end{document}
解决方案
以下方案均无需修改论文首页显示的完整长标题,按操作难度从低到高排序:
方案1:调用amsart原生短页眉命令(最推荐,符合学术出版规范)
amsart文档类原生支持单独设置页眉显示的短标题,不会改动标题页、正文首页的完整长标题显示,操作步骤:
- 定位到代码中
\title{完整长标题}的所在行 - 在
\title命令的下一行新增一行命令,大括号内填写长度更短的标题版本即可,示例如下:
\title{Brown-McCoy Radical and its properties in B-topological Rings} \shorttitle{Brown-McCoy Radical in B-topological Rings} % 新增该行
- 重新编译文件即可,页眉会自动调用短版本标题,为页码预留足够显示空间,彻底解决遮挡问题。
方案2:调整页眉排版宽度(需页眉显示完整标题时使用)
如果要求页眉也显示完整长标题,可以通过调整页眉文本可用宽度,为右侧页码预留足够空白,操作步骤:
- 定位到导言区末尾、
\begin{document}之前的位置 - 在该位置粘贴以下调整代码:
% 调整页眉可用宽度,为右侧页码预留1.5cm空白 \setlength{\headwidth}{\dimexpr\textwidth-1.5cm\relax} \setlength{\headsep}{1cm}
- 重新编译即可,页眉标题会在预留空白前自动截断/换行,不会覆盖页码位置。如果仍有轻微遮挡,可以把代码中
1.5cm的数值适当调大(比如改为2cm)后再次编译测试。
方案3:重定义奇数页页眉格式(兜底方案)
如果前两种方案未达到预期效果,可以直接重定义amsart的奇数页页眉样式,强制将页码和标题文本分离排版,操作步骤:
- 在导言区末尾、
\begin{document}之前粘贴以下代码:
\makeatletter \def\ps@headings{\ps@empty \def\@evenhead{% \setTrue{runhead}% \normalfont\scriptsize \rlap{\thepage}\hfil \def\thanks{\protect\thanks@warning}% \leftmark{}{}\hfil}% \def\@oddhead{% \setTrue{runhead}% \normalfont\scriptsize \hfil \def\thanks{\protect\thanks@warning}% \rightmark{}{}\hfil \llap{\thepage}}% 强制页码放置在页眉最右侧独立位置 \let\@mkboth\markboth \def\partmark{\@secmark\markboth\partrunhead\partname}% \def\sectionmark{% \@secmark\markright\sectionrunhead\sectionname}% } \makeatother
- 重新编译即可,该代码会强制将奇数页页码固定在页眉最右侧的独立区域,和标题文本完全分隔,不会出现重叠遮挡。
前置修正提示:原代码中
\documentclass的参数two side存在拼写错误,正确写法为twoside(无空格),建议先修正该拼写错误再测试上述方案,避免双面排版参数失效导致的页眉位置异常。
注意:所有代码修改完成后,需要连续编译2次LaTeX文件,页眉和页码的位置才会完全更新生效。
内容的提问来源于stack exchange,提问作者Bhaskar Vashishth
相关产品推荐
相关产品推荐

