是否有可能改变 \ref 的外观?

是否有可能改变 \ref 的外观?

我正在使用文章类,默认情况下,章节和小节的编号会按照1 section, 2 section我希望的时间显示1. section, 2. section(带点)。

我已重新定义我的部分、小节等的格式,如下所示:

\renewcommand\thesection{\arabic{section}.}
\renewcommand\thesubsection{\arabic{section}.\arabic{subsection}.}

因为我想要.在节和小节的编号后面加上 。幸运的是,我得到了我想要的格式,但现在我又遇到了另一个问题,当我使用交叉引用节或小节时,.引用后面出现了多余的 ,如:as we have seen in section 1..,或者section 2..它是不需要的。我怎样才能摆脱这个多余的.?有没有办法改变或重新定义 的外观\ref

答案1

我的回答我可以更改 refs 输出吗可以对此进行调整:

\documentclass{article}

\renewcommand\thesection{\arabic{section}.}
\renewcommand\thesubsection{\thesection\arabic{subsection}.}
\renewcommand\thesubsubsection{\thesubsection\arabic{subsubsection}.}

\makeatletter
\renewcommand{\p@section}{\arabic{section}\expandafter\@gobble}
\renewcommand{\p@subsection}{\thesection\arabic{subsection}\expandafter\@gobble}
\renewcommand{\p@subsubsection}{\thesubsection\arabic{subsubsection}\expandafter\@gobble}
\makeatother

\begin{document}

\section{test}\label{test}
\subsection{subtest}\label{subtest}
\subsubsection{subsubtest}\label{subsubtest}


See section~\ref{test} and subsection~\ref{subtest} and subsubsection~\ref{subsubtest}!

\end{document}

请注意,这有点儿像黑客行为。

您也可以使用来调整分段命令titlesec

答案2

请参阅相关英国 TUG 常见问题解答

\makeatletter
\renewcommand{\@seccntformat}[1]{\csname the#1\endcsname.\quad}
\makeatother

答案3

请使用类scrartcl。它有一个可选参数:

\documentclass[numbers=enddot]{scrartcl}

相关内容