在新命令中将缩进设置为零的正确方法

在新命令中将缩进设置为零的正确方法

我定义了一个新命令来对章节中的问题进行编号:

\newcounter{problemNo} %problem counter
\setcounter{problemNo}{1} %start at one
\newcommand\problem[1]{\textbf{Problem \thechapter.
\arabic{problemNo} }#1 \par\smallskip\stepcounter{problemNo}\noindent}

此代码存在一些缩进问题:

F

我也尝试过使用\setlength{\parindent}{0cm},但没有成功:

\newcommand\problem[1]{\textbf{Problem \thechapter.\arabic{problemNo}
}#1 \par\smallskip\stepcounter{problemNo}\setlength{\parindent}{0cm}}

ff

事实上,现在所有地方的缩进都为零。

仅在命令后删除缩进的正确方法是什么\problem


完整代码:

\documentclass[12pt,twoside]{book}

\newcounter{problemNo}
\setcounter{problemNo}{1}
\newcommand\problem[1]{\textbf{Problem \thechapter.
\arabic{problemNo} }#1 \par\smallskip\stepcounter{problemNo}\noindent}


\begin{document}

\chapter{Problems}

\problem{Solve this problem:}
Problem statement.\\

\problem{Solve this problem too:}
Problem statement.\\


\end{document}

答案1

这是一个选项:

在此处输入图片描述

\documentclass{book}

\newcounter{problemNo}[chapter]
\renewcommand{\theproblemNo}{\thechapter.\arabic{problemNo}}
\newcommand{\problem}[1]{%
  \par
  \addvspace{\bigskipamount}
  \refstepcounter{problemNo}%
  \noindent\textbf{Problem \theproblemNo}
  #1
  \par\nobreak
  \smallskip
  \noindent\ignorespaces
}


\begin{document}

\chapter{Problems}

\problem{Solve this problem:}
Problem statement.

\problem{Solve this problem too:}
Problem statement.

\end{document}

变化的内容:

  • 计数器的正确定义是problemNo每次重置[chapter],并具有包括章节编号表示在内的表示形式(\thechapter)。

  • A\problem首先添加一些空间,直到达到\bigskipamount

  • problemNo在设置前步进问题 XY\label;如果您使用- ,这允许正确引用\ref

  • 在设定问题陈述之后,\par启动图表中断没有可以进行分页(感谢\nobreak)。这样可以避免问题 XY在页面底部,问题陈述在下一页顶部。

问题陈述的后续段落将有常规的\parindent。如果您想完全避免这种情况,请将其添加\setlength{\parindent}{0pt}到您的序言中。


一种完全不同的方法是将你的定义\problem为类似于定理的环境。但是,这需要改变你的输入。

答案2

这个如何?

在此处输入图片描述

\documentclass[12pt,twoside]{book}
\usepackage{amsthm}
\theoremstyle{definition}
\newtheorem{problem}{Problem}[chapter]

\begin{document}

\chapter{Problems}

\begin{problem}
Solve this problem:\\ Problem statement.
\end{problem}

Text in middle.

\begin{problem}
Solve this problem:\\ Problem statement.
\end{problem}

\begin{problem}
Solve this problem:\\ Problem statement.
\end{problem}

\end{document}

相关内容