在标题中使用破折号代替点

在标题中使用破折号代替点

如何在标题中设置-而不是作为分隔符?.

1 Chap
1-1 Sec
1-2 Sec
1-2-1 SubSec
2 Chap
2-1 Sec

我使用XePersian包。以下不起作用:

\documentclass{book}

\renewcommand{\thesection}{\arabic{chapter}-\arabic{section}}
\usepackage{xepersian}
\begin{document}

\chapter{First}

\section{Test}

\end{document}

答案1

正如 Marco Daniel 所建议的那样,更明智的做法是使用

\renewcommand{\thesection}{\thechapter-\arabic{section}}

以考虑章节号显示的任何变化。这也引出了以下注释:如果您还想修改小节号(对于较低级别也是如此),则可以使用通用代码:

\renewcommand{\thesubsection}{\thesection-\arabic{subsection}}

MWE 用于说明所建议的代码:

\documentclass{book}

\renewcommand{\thesection}{\thechapter-\arabic{section}}
\renewcommand{\thesubsection}{\thesection-\arabic{subsection}}


\begin{document}
\chapter{First}
\section{Foo}
\subsection{Bar}
\end{document}

其输出如下:

输出2

编辑我被要求扩展这个答案,因为图表和表格具有相同的行为。这是解决方案(与章节和小节相同的技巧)

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

float包仅用于将所有浮动放在同一页面上,以获得更清晰的输出:

表格和图形的输出

答案2

如果使用包,更好的方法是按如下方式xepersian设置:SepMark

\usepackage{xepersian}
\SepMark{-}

这样数字的方向也保留了下来!

答案3

使用这个答案:https://tex.stackexchange.com/a/139684/13747

\documentclass{book}

\usepackage{bidi}
\SepMark{-}

\begin{document}
\chapter{First}
\section{Foo}
\subsection{Bar}

\begin{figure}[H]
\caption{FooBar}
\end{figure}

\begin{table}[H]
\caption{Baz}
\end{table}

\end{document}

相关内容