[Tex/LaTex] Is it possible to change the appearance of a \ref

cross-referencingpunctuationsectioning

I am using article class, and by default, the numbers of the sections, subsections appear like 1 section, 2 section in time I want them to appear like 1. section, 2. section (with dots).

I have redefined the format of my section, subsection, etc. as follows:

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

because I wanted . after the number of the section and the subsection. Fortunately, I got the format that I want, but now I have another problem, when I use the cross-reference to the section or the subsection, I got extra . after the reference, like: as we have seen in section 1.., or section 2.. it is unwanted. How can I get rid of this extra .? Is there anyway to change or redefine the appearance of the \ref?

Best Answer

My answer to can i change refs output can be adjusted for this:

\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}

Note that this is a little bit of a hack.

You could also adjust the sectioning commands using titlesec instead.

Related Question