报错解决:IEEE latex模版中thanks不显示 隶属关系 / 邮箱不显示

文章目录

前言

本人在使用IEEE官方LaTeX模版(IEEEtran.cls)撰写论文时,遇到一个共性问题:明明在\author中用\thanks加了作者隶属关系(单位)和通讯邮箱,编译后却完全不显示 ;或是作者名右上角标记异常(比如想显示"1"却出现"*")。这并非代码bug,而是IEEE模版的专属排版规则------它和普通LaTeX文档的作者信息配置逻辑完全不同。

一、本博客可以解决的问题

在开始解决前,先对号入座,确认问题场景:

  1. 隶属关系/邮箱"消失" :用\author{XXX\thanks{单位:XX大学;邮箱:XX@xx.com}}配置后,编译后作者名下方没有单位和邮箱,只显示作者名;

  2. \thanks内容错位\thanks里的单位/邮箱跑到了论文末尾的"致谢"部分,而非作者信息区;

  3. 作者标记异常 :用\IEEEauthorrefmark{1}想显示"1",结果右上角是"*"(星号),和预期不符。

隶属关系/邮箱"消失 例如以下效果(人名等均为虚构):

原本代码如下:

latex 复制代码
% 文档类:IEEE期刊格式(正确,但内容配置错误)
\documentclass[lettersize,journal]{IEEEtran}

% 错误点1:重复加载宏包+冗余宏包(可能引发冲突)
\usepackage{graphicx}
\usepackage{graphicx} % 重复加载
\usepackage{caption} % 非必要宏包,可能干扰排版

\begin{document}
	
	% 标题(正确)
	\title{Sample Title: IEEE Author Info (Error Demo)}
	
	% 错误点2:用普通\author格式,未使用IEEE专属block命令
	\author{
		Alice Smith, Bob Johnson, Charlie Brown% 所有作者挤在一行,无单独块
		% 错误点3:用\thanks代替\IEEEauthorblockA添加单位,且未关联作者
		\thanks{Department of Electrical Engineering, XYZ University, City A, Province B, 56789, Country X}%
		\thanks{Institute of Computer Science, ABC Research Center, City C, Province D, 101112, Country Y}%
		% 错误点4:邮箱用\thanks添加,未单独成块
		\thanks{Corresponding emails: alice.smith@xyz.edu; charlie.brown@abc.org}%
		% 错误点5:省略\IEEEauthorrefmark,无作者-单位关联标记
	}
	
	% 生成标题(正确,但内容会异常)
	\maketitle
	
	% 摘要(结构完整,不影响错误现象)
	\begin{abstract}
		This is an error demo: affiliations and emails will NOT display correctly below author names.
	\end{abstract}
	
	\section{Introduction}
	This section is for demonstration only. The key errors are in the author info configuration.
	
\end{document}

二、问题根源:误用普通LaTeX规则,忽略IEEE专属逻辑

这个其实在模版的注释内容里面是有说到的,但是我一开始确实也没有认真看。IEEE模版为了符合期刊/会议的严格排版规范,设计了独立的作者信息管理体系,普通LaTeX的\thanks用法在这里完全"水土不服",核心原因有3个:

1. \thanks在IEEE模版中的用途被"限定"

普通LaTeX中,\thanks可随意添加脚注信息(单位、邮箱、致谢等);但在IEEEtran中,\thanks仅用于"致谢内容" (比如"感谢XX基金资助"),一旦把单位/邮箱放进\thanks,这些信息会被自动屏蔽或者被归类到论文末尾的致谢区,而非作者名下方。

2. 作者信息需要用IEEE专属命令组织

IEEE模版不认可"直接在\author里堆内容"的方式,必须用以下3个命令分工协作:

  • \IEEEauthorblockN{}:专门放作者姓名 ,搭配\IEEEauthorrefmark{数字}标记作者所属单位;
  • \IEEEauthorblockA{}:专门放隶属关系/邮箱 ,用\IEEEauthorrefmark{数字}与作者名关联;
  • \IEEEauthorrefmark{数字}:建立"作者-单位"的对应关系,默认显示为符号(*、†等),而非数字。

3. 编译顺序或重复宏包导致信息"丢失"

  • 未按"PDFLaTeX → BibTeX → PDFLaTeX×2"的顺序编译,导致辅助文件(.aux)未更新,信息无法渲染;
  • 重复加载宏包(如graphicxcaption),可能引发编译冲突,干扰作者信息的显示。

三、分步解决

针对上述问题,给出可直接复用的解决方案,以"4位作者同属1个单位+2个通讯邮箱"为例(适配多数场景)。

第一步、用IEEE专属命令重构作者信息

删除原有的\author代码,替换为以下规范结构(关键命令已标注说明):

latex 复制代码
% 文档类:IEEE期刊格式,letter纸张大小
\documentclass[lettersize,journal]{IEEEtran}

% 仅保留必要宏包(确保作者信息渲染正常)
\usepackage{graphicx} % 基础排版支持(IEEE模板必要依赖)

\begin{document}

% 标题(虚拟)
\title{Sample Title: IEEE Author Info Demo}

% 作者信息(核心部分:虚拟名字、单位、邮箱)
\author{
  % 作者名块:每个作者单独列出,用\IEEEauthorrefmark{1}标记所属单位
  \IEEEauthorblockN{Alice Smith\IEEEauthorrefmark{1}}
  \IEEEauthorblockN{Bob Johnson\IEEEauthorrefmark{1}}
  \IEEEauthorblockN{Charlie Brown\IEEEauthorrefmark{2}}
  
  % 单位块1:与作者1、2关联(虚拟学校)
  \IEEEauthorblockA{\IEEEauthorrefmark{1} Department of Electrical Engineering, 
  XYZ University, City A, Province B, 56789, Country X}
  
  % 单位块2:与作者3关联(虚拟研究所)
  \IEEEauthorblockA{\IEEEauthorrefmark{2} Institute of Computer Science, 
  ABC Research Center, City C, Province D, 101112, Country Y}
  
  % 邮箱块:通讯作者邮箱(虚拟)
  \IEEEauthorblockA{Corresponding emails: alice.smith@xyz.edu (A. Smith); 
  charlie.brown@abc.org (C. Brown)}
}

% 生成标题和作者信息
\maketitle

% 简单摘要(确保文档结构完整,不影响作者信息显示)
\begin{abstract}
This is a demo to show how to correctly display author affiliations and emails in IEEE LaTeX templates.
\end{abstract}

% 正文开头(可选,仅为展示完整文档结构)
\section{Introduction}
This section is for demonstration only. The key part is the author info above.

\end{document} 

效果:

作者名→单位→邮箱会按顺序显示,单位和邮箱自动换行,"作者-单位"通过右上角符号(如*)关联,完全符合IEEE规范。

第二步:解决"作者名右上角是*不是1"的问题

很多人会疑惑:明明写了\IEEEauthorrefmark{1},为何显示*?这是IEEE的默认设计(符号比数字更简洁,避免与公式/章节号混淆),无需修改。

若目标期刊明确要求显示数字(极少数情况),可在导言区(\documentclass之后)添加以下代码,强制重定义符号为数字:

latex 复制代码
% 重定义\IEEEauthorrefmark,让参数直接显示为上标数字
\renewcommand{\IEEEauthorrefmark}[1]{\textsuperscript{#1}}

效果:
\IEEEauthorrefmark{1}会显示为¹,单位块中的标记也同步变为¹,保持关联一致。

四、避坑指南:3个容易忽略的关键点

  1. 不要用\footnotemark替代\IEEEauthorrefmark

    IEEE模版会自动禁用\footnotemark\author中的功能,强行使用会导致标记不显示。

  2. \IEEEauthorblockA无需手动加\\换行

    每个\IEEEauthorblockA会自动另起一段并预留间距,手动加\\反而可能导致排版错乱。

  3. 优先遵循IEEE规范,不随意自定义

    除非期刊明确允许,否则不要修改默认符号(*、†等)、间距等,避免因格式不符被拒稿。

五、常见问题Q&A

Q1:按上述代码修改后,邮箱还是不显示?

A1:检查是否漏了\maketitle命令(\author之后必须有\maketitle才能渲染作者信息),且确保编译次数≥3次。

Q2:多个单位如何配置?比如作者1属单位1,作者2属单位2?

A2:用\IEEEauthorrefmark{1}\IEEEauthorrefmark{2}区分,对应两个\IEEEauthorblockA(以下为虚拟信息示例):

latex 复制代码
\author{
  \IEEEauthorblockN{Emma Davis\IEEEauthorrefmark{1}}  % 作者1(属单位1)
  \IEEEauthorblockN{Frank Miller\IEEEauthorrefmark{2}}  % 作者2(属单位2)
  % 单位1信息(与作者1关联)
  \IEEEauthorblockA{\IEEEauthorrefmark{1} School of Mechanical Engineering, 
  First University, Virtual City X, 45678, Country M}
  % 单位2信息(与作者2关联)
  \IEEEauthorblockA{\IEEEauthorrefmark{2} Department of Biomedical Science, 
  Second Institute of Technology, Virtual City Y, 90123, Country N}
}

Q3:\IEEEauthorblockA中的内容太长,如何换行?

A3:在需要换行的地方加\linebreak(而非\\),避免破坏块结构(以下为虚拟信息示例):

latex 复制代码
\IEEEauthorblockA{Corresponding emails: emma.davis@firstu.edu (E. Davis); 
\linebreak frank.miller@secondinst.org (F. Miller)}

总结

IEEE LaTeX模版的作者信息显示问题,本质是"不熟悉专属规则"。

只要记住:用\IEEEauthorblockN/A分工,\IEEEauthorrefmark关联,按顺序编译

建议在投稿前对照目标期刊的"Author Guidelines",确保格式完全匹配------细节决定成败,规范的排版能给审稿人留下更好的第一印象。

相关推荐
李趣趣14 小时前
数据库字段类型bit容易被忽视的bug
c#·bug
kitsch0x971 天前
论文学习_One Bug, Hundreds Behind: LLMs for Large-Scale Bug Discovery
学习·bug
Brianna Home4 天前
从零到一:用Godot打造2D游戏《丛林探险》
算法·游戏·性能优化·游戏引擎·bug·godot·动画
AI云原生4 天前
云原生系列Bug修复:Docker镜像无法启动的终极解决方案与排查思路
运维·服务器·python·docker·云原生·容器·bug
东巴图5 天前
分解如何利用c++修复小程序的BUG
开发语言·c++·bug
workflower8 天前
Fundamentals of Architectural Styles and patterns
开发语言·算法·django·bug·结对编程
lvchaoq8 天前
记录小程序真机bug,而模拟器无法复现
小程序·bug
喜欢便码8 天前
禅道提交bug的几种状态
bug
从前慢,现在也慢8 天前
(3)Bug篇
学习·bug·测试