对于会议论文,我必须使用会议提供的自定义包。此包包含以下行:
\renewcommand{\thesection}{\arabic{section}.}
这会将一个点放在章节标题的数字后面。现在,当我添加对章节的引用时,该点也会显示在引用中。MWE:
\documentclass{article}
% real code:
% \usepackage{myconference}
% MWE code:
\renewcommand{\thesection}{\arabic{section}.}
\begin{document}
\section{First section}
\label{sec:first}
In Section~\ref{sec:first} the reference does not look good.
\end{document}
会议的样式指南没有指定章节引用的外观。因此,我想删除引用中的点(同时保留标题本身中的点)。我不能更改会议包,但我可以修改我自己的论文的代码,包括重新定义\ref
(或使用自定义命令进行引用)如果需要的话。有什么想法吗?
答案1
可以.
使用类似的方式来吞噬\def\@gobbledot
,用 来分隔它,\csname thesection\endcsname
然后重新定义\p@section
,这基本上负责交叉引用格式化。
这种方法与我的回答非常相似自动将交叉引用的公式编号括在圆括号中或者在文本中引用附录对象为“A.1”,而不是“附录 A.1”
\documentclass{article}
% real code:
% \usepackage{myconference}
% MWE code:
\renewcommand{\thesection}{\arabic{section}.}
\makeatletter
\def\@gobbledot\csname thesection\endcsname{\arabic{section}}
\renewcommand{\p@section}{\@gobbledot}
\makeatother
\begin{document}
\section{First section}
\label{sec:first}
In Section~\ref{sec:first} the reference does not look good.
\end{document}