引用参考文献引起的 missing \item 玄学问题

2020-03-25 12:18发布

错误信息为 `Something's wrong--perhaps a missing \item.`。 显示错误的位置为 95 行 `\end` 处。 初步判断错误与引用有关。注释掉两条 `\b...

错误信息为 `Something's wrong--perhaps a missing \item.`。 显示错误的位置为 95 行 `\end` 处。 初步判断错误与引用有关。注释掉两条 `\bibitem` 即可通过编译,十分玄学。有时删除文中少量内容也可以编译成功。 已经搜索了网上的相关资料。文中有 `\cite`。 本地环境是较新版的 xelatex,造成问题的可能性不大;且在 overleaf 上用 xelatex 表现基本相同。 代码全文如下或见 [Ubuntu Pastebin](https://paste.ubuntu.com/p/zHcymm56vd/)。 难以构建更小的 MWE,原因是在正文中删除部分看似无关的内容后无法再现问题,敬请见谅。 ```tex \documentclass[UTF8,a4paper,10pt]{ctexart} \usepackage[left=2.00cm, right=2.00cm, top=2.00cm, bottom=2.00cm]{geometry} %页边距 \CTEXsetup[format={\Large\bfseries}]{section} %设置章标题居左 \usepackage{helvet} \usepackage{amsmath, amsfonts, amssymb} % math equations, symbols \usepackage{babel} \usepackage{color} % color content \usepackage{graphicx} % import figures \usepackage{bm} % bold type for equations \usepackage{multirow} \usepackage{threeparttable} \usepackage{float} \usepackage{booktabs} \usepackage{authblk} \usepackage{framed} \usepackage{hyperref} %bookmarks %\usepackage[hyphenbreaks]{breakurl} \hypersetup{colorlinks, bookmarks, unicode} %unicode \title{\textbf{信息学竞赛}} \date{\today} \begin{document} \maketitle \begin{center} \textbf{Keywords} \end{center} 好的 \pagebreak \tableofcontents \pagebreak \section{善于利用社区资源} 团结、协作是 OI 社区的优良传统,这样的传统也延续到了文化课上。 在文化课学习方面,OI 社区有大量的共享资源,如 \cite{ref6} 提供了高考数学、物理、化学、生物的知识梳理, \cite{ref7} 收集了一些高考语文学习方法等。这些资料以 OIer 的视角看文化课知识,富有 OI 特点,适合 OIer 使用。 此外,还可以加入“退役 OIer 文化课交流群”等在线互助群组,与其他 OIer 就文化课学习进行交流。 $abcd$ $$abcd$$ $a\sum_{i=1}^{n}a_i$ \begin{framed} 问题在于 好的 \end{framed} \section{总结} 从总体上看,OI 学习为文化课学习提供了丰富的知识储备和灵活的思维,具有较大的正面影响。 因此,不能认为信息学竞赛与高考没有关系。 当然,OI 学习对文化课学习也存在着一定的负面影响,但通过合理安排学习时间、扎实基础等措施,可以有效控制这些负面影响。 \section{致谢} 首先,要感谢母校提供的研究机会。 其次,要感谢支持我们完成研究的。 最后,要感谢热心 OI 领域、关心我们研究、参与的洛谷用户。 此外,。 %\section{参考文献} \renewcommand\refname{\section{参考文献}} \begin{thebibliography}{99} \bibitem{ref1}教育部考试中心. 2019 年普通高等学校招生全国统一考试大纲[EB/OL]. \url{http://www.neea.edu.cn/html1/report/19012/153-1.htm}. 2019-01-31 \bibitem{ref2}李煜东. 算法竞赛进阶指南[M]. 河南电子音像出版社: 郑州, 2018 \bibitem{ref3}中国计算机学会. 全国青少年信息学奥林匹克竞赛系列活动简介[EB/OL]. \url{http://www.noi.cn/newsview.html?id=66&hash=9CB0C5}. 2019 \bibitem{ref4}中国计算机学会. CCF关于NOI省队选拔相关问题的补充通知[EB/OL]. \url{http://www.noi.cn/newsview.html?id=1171&hash=A88788}. 2020-01-16 \bibitem{ref5}中华人民共和国教育部. 教育部关于在部分高校开展基础学科招生改革试点工作的意见[EB/OL]. \url{http://www.moe.gov.cn/srcsite/A15/moe_776/s3258/202001/t20200115_415589.html}. 2020-01-14 \bibitem{ref6}Magolor. 高中文化课学习笔记[EB/OL]. \href{https://magolor.cn/categories/高中文化课/}{https://magolor.cn/categories/高中文化课/}. 2019-06-04 \bibitem{ref7}Lu Shuyu. Chi-Wiki\ [EB/OL]. \href{https://chi.aqours.life/}{https://chi.aqours.life/}. 2019-12-17 \end{thebibliography} \end{document} ``` 非常感谢!
2条回答
83行 `\renewcommand\refname{\section{参考文献}}` 这一句是有问题的,应该是`\renewcommand\refname{参考文献}` 其实这一句本身也不需要,`ctexart` 把这些都已经设置好了。 `\refname` 只代表 reference 的标题名称,不应该用`\section` ,把这一句注释掉,编译正常。

作者追问:2020-03-25 12:52

谢谢,确实可以排除问题! 想问一下如果想把“参考文献”加到目录里应该怎么操作呢? 之前是为了让它进入目录才加入的 `\section`

回答: 2020-03-25 12:52

要加入到目录里,应该用`\addcontentsline` ```tex \phantomsection % in preamble: \usepackage{hyperref} \addcontensline{toc}{section}{\refname} \begin{thebibliography}{99} \bibitem ... \end{thebibliography} ```

回答: 2020-03-25 12:52

用`\phantomsection`的方法有时候并不完美,如果恰好在参考文献前换页,目录里的页码可能对不上,因为这时的幻影是在前一页。所以还有一种方法是 patch `thebibliography` 环境,在 `\section*{\refname}` 后面补上`\addcontentsline`的内容 ```tex % in preamble \usepackage{etoolbox} \patchcmd{\thebibliography}{\section*{\refname}}{\section*{\refname}\addcontentsline{toc}{section}{\refname}}{}{} ```

一周热门 更多>