
Я пишу некоторые заметки, содержащие много глав и разделов. В конце каждого раздела этого файла я хотел бы вставить список упражнений со следующим названием:
Problems - Section x.y (x = chapter, y = section)
\begin{exercise}
blah blah blah
\end{exercise}
Я мог бы сделать это с помощью команды \label, например
\section{NameSection}\label{secx.y}
bla bla bla
Problems - Section \ref{secx.y}
\begin{exercise}
blah blah blah
\end{exercise}
Есть ли способ использовать команду типа \lastchapter.section или \current.chapther.section вместо \ref{secx.y}?
Я использую гиперссылки.
\documentclass[a4paper, 12pt]{report}
\usepackage{mathpazo, amsmath,amsfonts,amscd,bezier, amssymb, ifthen,amsthm}
\usepackage[x11names, usenames,svgnames,dvipsnames, table]{xcolor}
\RequirePackage[babel=true]{microtype}
\usepackage{babel}
\usepackage[utf8]{inputenc}
\usepackage{enumerate}
\usepackage[shortlabels]{enumitem}
\usepackage{multicol}
\usepackage{multirow}
\usepackage{tasks}
\usepackage{graphicx}
\usepackage{float}
\usepackage[margin=1.5cm ]{geometry}
\usepackage[most]{tcolorbox}
\usepackage{indentfirst}
\usepackage{eqparbox, ulem}
\usepackage{lipsum}
\usepackage[colorlinks=true]{hyperref}
\hypersetup{allcolors=magenta}
\everymath{\displaystyle}
\newcounter{theeq}
\counterwithin{theeq}{chapter}
\setcounter{theeq}{0}
\newcommand{\eq}{
\
\noindent
\refstepcounter{theeq}\textbf{\thechapter.\arabic{theeq}}. }
%%%%%%%%%%%%%%%%%
\begin{document}
\chapter{test1}
\lipsum[2]
\section{test1.1}\label{test1.1}
\lipsum[3]
\begin{center}
\Large{Problems - Section \ref{test1.1}}
\end{center}
\eq Let \(x \in R\)
\eq xx
\section{test1.2}\label{test1.2}
\lipsum[3]
\begin{center}
\Large{Problems - Section \ref{test1.2}}
\end{center}
\eq Let \(x \in R\)
\eq xx
\section{test1.3}\label{test1.3}
\lipsum[3]
\begin{center}
\Large{Problems - Section \ref{test1.3}}
\end{center}
\eq Let \(x \in R\)
\eq xx
\chapter{test2}
\lipsum[3]
\section{test2.1}\label{test2.1}
\begin{center}
\Large{Problems - Section \ref{test2.1}}
\end{center}
\eq Let \(x \in R\)
\eq \(\lim_{x\to 0} \frac{1}{x}\)
\chapter{test3}
\section{test3.1}\label{test3.1}
\begin{center}
\Large{Problems - Section \ref{test3.1}}
\end{center}
\eq Let \(x \in R\)
\eq xx
\end{document}
решение1
Это сработает за один проход. Вы можете ввести в текстовую запись почти все, что угодно.
Это может не всегда работать для section.\thesection
, в зависимости от того, как \thesection
определено. Если вы посмотрите в файле aux, \contentsline
вы найдете имя якоря, section.1.1
(например). Это то, что вам нужно воспроизвести для \hyperlink
.
\documentclass[a4paper, 12pt]{report}
\usepackage{mathpazo, amsmath,amsfonts,amscd,bezier, amssymb, ifthen,amsthm}
\usepackage[x11names, usenames,svgnames,dvipsnames, table]{xcolor}
\RequirePackage[babel=true]{microtype}
\usepackage{babel}
\usepackage[utf8]{inputenc}
\usepackage{enumerate}
\usepackage[shortlabels]{enumitem}
\usepackage{multicol}
\usepackage{multirow}
\usepackage{tasks}
\usepackage{graphicx}
\usepackage{float}
\usepackage[margin=1.5cm ]{geometry}
\usepackage[most]{tcolorbox}
\usepackage{indentfirst}
\usepackage{eqparbox, ulem}
\usepackage{lipsum}
\usepackage[colorlinks=true]{hyperref}
\hypersetup{allcolors=magenta}
\everymath{\displaystyle}
\newcounter{theeq}
\counterwithin{theeq}{chapter}
\setcounter{theeq}{0}
\newcommand{\eq}{
\
\noindent
\refstepcounter{theeq}\textbf{\thechapter.\arabic{theeq}}. }
%%%%%%%%%%%%%%%%%
\begin{document}
\chapter{test1}
\lipsum[2]
\section{test1.1}\label{test1.1}
\lipsum[3]
\begin{center}
\Large{Problems - \hyperlink{section.\thesection}{Section \thesection}}
\end{center}
\eq Let \(x \in R\)
\eq xx
\section{test1.2}
\lipsum[3]
\begin{center}
\Large{Problems - \hyperlink{section.\thesection}{Section \thesection}}
\end{center}
\eq Let \(x \in R\)
\eq xx
\section{test1.3}
\lipsum[3]
\begin{center}
\Large{Problems - \hyperlink{section.\thesection}{Section \thesection}}
\end{center}
\eq Let \(x \in R\)
\eq xx
\chapter{test2}
\lipsum[3]
\section{test2.1}
\begin{center}
\Large{Problems - \hyperlink{section.\thesection}{Section \thesection}}
\end{center}
\eq Let \(x \in R\)
\eq \(\lim_{x\to 0} \frac{1}{x}\)
\chapter{test3}
\section{test3.1}
\begin{center}
\Large{Problems - \hyperlink{section.\thesection}{Section \thesection}}
\end{center}
\eq Let \(x \in R\)
\eq xx
\end{document}