Using dash instead of point in headers
As suggested by Marco Daniel, it would be smarter to use
\renewcommand{\thesection}{\thechapter-\arabic{section}}
to take into account any change in the chapter number display. This leads also to the following remark that if you also want to modify the subsections number (and so on for the lower levels), you can use the generic code:
\renewcommand{\thesubsection}{\thesection-\arabic{subsection}}
A MWE to illustrate the proposed code:
\documentclass{book}
\renewcommand{\thesection}{\thechapter-\arabic{section}}
\renewcommand{\thesubsection}{\thesection-\arabic{subsection}}
\begin{document}
\chapter{First}
\section{Foo}
\subsection{Bar}
\end{document}
And its output:
EDIT I have been asked to extend this answer for having the same behaviour for the figures and tables. Here is the solution (same trick as for the sections and subsections)
\documentclass{book}
\usepackage{float}
\renewcommand{\thesection}{\thechapter-\arabic{section}}
\renewcommand{\thesubsection}{\thesection-\arabic{subsection}}
\renewcommand{\thefigure}{\thechapter-\arabic{figure}}
\renewcommand{\thetable}{\thechapter-\arabic{table}}
\begin{document}
\chapter{First}
\section{Foo}
\subsection{Bar}
\begin{figure}[H]
\caption{FooBar}
\end{figure}
\begin{table}[H]
\caption{Baz}
\end{table}
\end{document}
The float
package is used only to have all the float on the same page for a clearer output:
if you use xepersian
package, the better way is to set SepMark
as follows:
\usepackage{xepersian}
\SepMark{-}
This way the direction of the numbers is also kept!