创建我自己的练习分段命令

创建我自己的练习分段命令

我正在编辑一本书。我想要一个像 、 和朋友这样的分段命令\section\subsection在书的每个章节末尾排版一个练习部分。这些练习在某些列表环境中,我不希望练习本身有任何附加功能。

我不想重新定义一些提到的命令,因为我需要在这本书的版本中使用它们。所以,我尝试了

\documentclass[12pt,letterpaper]{book}
\usepackage[latin1]{inputenc}
\usepackage[spanish]{babel}
\usepackage{amsmath,amsfonts,amssymb,amsthm}
\usepackage{fancyhdr}

\pagestyle{fancy}
\fancyhf{}
\renewcommand\headrulewidth{0pt}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}     
\renewcommand{\sectionmark}[1]{\markright{#1}{}}
\fancyhead[LO]{\small\textsl{\leftmark}}            
\fancyhead[RE]{\small\textsl{\rightmark}}           
\fancyhead[LE,RO]{\thepage}                         

\newenvironment{ejercicios}{
\newpage

\vspace{0.5cm}

\rule{\textwidth}{0.5pt}
\makebox[\textwidth][r]{\Large Ejercicios \thesection. \rightmark}
\rule{\textwidth}{0.5pt}

\vspace{0.5cm}
}{\newpage}

问题在于规则和文本之间的间距不同。我尝试使用\parbox并尝试调整规则和文本之间的间距,但这不起作用,因为我需要(根据我的要求)以下内容:

\makeatletter 
\renewcommand\paragraph{\@startsection
{paragraph}{3}{0cm}             
{0cm}                           
{3mm}                   
{\bf}}  
\makeatother 

就是在每个段落标题后换行,我怀疑这会影响使用\parbox

无论如何,我解决这个问题的尝试并不优雅。我希望类似的东西\newsectioncommand独立于\paragraph命令的行为。

我想要的是生产

新页面

5 毫米

规则

3 毫米

右对齐 Ejercicios "章节编号". "章节名称"

3 毫米

规则

5 毫米

答案1

\sectionexercises在以下最小工作示例 (MWE) 中,打印上一节所需的“练习”布局的命令

在此处输入图片描述

\documentclass{article}
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\usepackage[showframe]{geometry}% http://ctan.org/pkg/geometry
\renewcommand{\sectionmark}[1]{\markright{#1}{}}
\newcommand{\sectionexercises}{%
  \newpage%
  \kern 5mm
  \hrule
  \kern 3mm
  \null \hfill Ejercicios~\thesection.~\rightmark\par
  \kern 3mm
  \hrule
  \kern 5mm
}
\begin{document}
\section{First section}\lipsum[1-2]
\sectionexercises
\begin{enumerate}
  \item Here is a question.
  \item Here is a question.
  \item Here is a question.
  \item Here is a question.
  \item Here is a question.
\end{enumerate}
\end{document}

lipsum包裹提供虚拟文本,同时geometry已加载showframe包选项以突出显示文本块边框。

nameref包裹如果您在排版某些练习之前要有很多章节,则提供了一种更通用的方法来利用章节标题。在这种情况下,您可以按以下方式修改 MWE:

\documentclass{article}
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\usepackage[showframe]{geometry}% http://ctan.org/pkg/geometry
\usepackage{nameref}% http://ctan.org/pkg/nameref
\newcommand{\sectionexercises}[1]{%
  \newpage%
  \kern 5mm
  \hrule
  \kern 3mm
  \null \hfill Ejercicios~\thesection.~\nameref{#1}\par
  \kern 3mm
  \hrule
  \kern 5mm
}
\begin{document}
\section{First section}\label{sec:first}\lipsum[1-2]
\sectionexercises{sec:first}
\begin{enumerate}
  \item Here is a question.
  \item Here is a question.
  \item Here is a question.
  \item Here is a question.
  \item Here is a question.
\end{enumerate}
\end{document}

这会产生与之前相同的结果,现在采用相应部分的\sectionexercises{<lab>}标签。<lab>

答案2

我建议您考虑一下唐·斯托里 (Don Story) 的套餐fortextbook选择eqexamhttp://www.math.uakron.edu/~dpstory/eqexam.html

相关内容