![是否有可能改变 \ref 的外观?](https://linux22.com/image/238507/%E6%98%AF%E5%90%A6%E6%9C%89%E5%8F%AF%E8%83%BD%E6%94%B9%E5%8F%98%20%5Cref%20%E7%9A%84%E5%A4%96%E8%A7%82%EF%BC%9F.png)
我正在使用文章类,默认情况下,章节和小节的编号会按照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}