本の中の問題を章番号に従って列挙するにはどうすればよいでしょうか?

本の中の問題を章番号に従って列挙するにはどうすればよいでしょうか?

私は本を​​書いていますが、各章の終わりに次のようなラベルの付いた問題のあるセクションがあります。

\chapter{Chapter 1}

Bla bla bla...

\section*{Problems:}
\begin{enumerate}
\item \label{ch1_pr1} Prove...
\item \label{ch1_pr2} Calculate...
\item \label{ch1_pr3} Fill the details in...
\end{enumerate}

このアプローチの問題は、すべての問題のセクションがすべての章でまったく同じ番号 (1、2、3、4 など) が付けられていることです。そのため、たとえば、第 4 章で第 1 章の最初の問題を引用したい場合、本では「1」(数字の 1) だけになります。引用している問題が属する章を参照していないため、混乱が生じます。

私の質問は次のとおりです。問題を、それが属する章を考慮して列挙するにはどうすればよいでしょうか?

第 1 章の問題については 1.1、1.2、1.3、... のように考えていました。第 2 章の問題については 2.1、2.2、2.3、... のように考えていました。しかし、その方法がわかりません。

私は Latex にあまり詳しくないので、問題の解決策はできるだけ簡単なものにしていただきたいと思います。


アップデート:以下にサンプル コードを示します。これをコンパイルして、必要なものをよりよく理解してください。

\documentclass[12pt,letterpaper]{book}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}

\begin{document}

\chapter{First}

Bla bla bla...

\section*{Problems:}

\begin{enumerate}
\item \label{ch1_pr1} Prove...
\item \label{ch1_pr2} Calculate...
\item \label{ch1_pr3} Fill the details in...
\end{enumerate}

\chapter{Second}

Bla bla bla....

\section*{Problems:}

\begin{enumerate}
\item \label{ch2_pr1} Prove...
\item \label{ch2_pr2} Calculate...
\item \label{ch2_pr3} Fill the details in...
\end{enumerate}

\chapter{Third}

First problem in Chapter 1:~\ref{ch1_pr1}

First problem in Chapter 2:~\ref{ch2_pr1} \\

The issue: Different problems appear to be the same when cited!

\end{document}

答え1

これは、パッケージを使用した同様のソリューションです。これにより、enumitem新しいリストやカスタマイズされたリストの定義がはるかに簡単になります。環境名にも を使用しましたproblems。ここでは、元の問題セット内のラベルは1or whatever だけですが、参照は1.1etcとして表示されます。

後で項目を挿入または削除する場合に備えて、 sでは明示的な番号を使用しないことをお勧めします。LaTeX ではまったく問題になりませんが、第 2 章の 9 番の問題を参照する\label{}と、人間を非常に混乱させる傾向があります。chap3_prf5

\documentclass{book}
\usepackage{enumitem}
\newlist{problems}{enumerate}{1}
\setlist[problems]{label={\arabic*.}, ref={\thechapter.\arabic*}}
\begin{document}
\chapter{Chapter 1}

Bla bla bla \dots

\section*{Problems:}
\begin{problems}
  \item \label{pr:intro_prove} Prove \dots
  \item \label{pr:intro_calc} Calculate \dots
  \item \label{pr:intro_details} Fill the details in \dots
\end{problems}

\chapter{Pethau Pellach}
Fel dywedwyd ym mhroblem \ref{pr:intro_calc} \dots
\end{document}

フェル・ディウェドウィド...

元のラベルにも章番号を表示したい場合は、

\setlist[problems]{label={\arabic*.}, ref={\thechapter.\arabic*}}

\setlist[problems]{label={\thechapter.\arabic*}}

オリジナルラベルも

答え2

enumerateこれを行うには、 に基づいて、いくつかの仕様を持つ新しいリストを定義します。problemsこのリストには 2 つのレベルがあります。

\documentclass{report}
\usepackage{geometry}
\usepackage{enumitem}
\usepackage{etoolbox}
\AtBeginEnvironment{enumerate}{\everymath{\displaystyle}}
\newlist{problems}{enumerate}{2}
\setlist[problems]{wide=0pt}
\setlist[problems, 1]{label =\thechapter.\arabic*, font=\bfseries, wide=0pt}
\setlist[problems,2]{label =(\alph*), wide =0.5em, topsep=2pt, itemsep =2pt}

\begin{document}

\chapter{Chapter 1}

Bla bla bla...

\section*{Problems:}

\begin{problems}
  \item \label{ch1_pr1} Prove...
  \begin{problems}
    \item A first question
    \item Another silly question. A silly question. A silly question. A silly question. A silly question. A silly question. A silly question. A silly question. A silly question.
  \end{problems}
  \item \label{ch1_pr2} Calculate...
  \item \label{ch1_pr3} Fill the details in...Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
\end{problems}

\chapter{Chapter 2}

Bla bla bla...

\section*{Problems:}

\begin{problems}
  \item \label{ch1_pr1} Prove...
  \begin{problems}
    \item A first question
    \item Another silly question. A silly question. A silly question. A silly question. A silly question. A silly question. A silly question. A silly question. A silly question.
  \end{problems}
  \item \label{ch1_pr2} Calculate...
  \item \label{ch1_pr3} Fill the details in...Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
\end{problems}

\end{document} 

ここに画像の説明を入力してください

関連情報