![创建我自己的练习分段命令](https://linux22.com/image/241857/%E5%88%9B%E5%BB%BA%E6%88%91%E8%87%AA%E5%B7%B1%E7%9A%84%E7%BB%83%E4%B9%A0%E5%88%86%E6%AE%B5%E5%91%BD%E4%BB%A4.png)
我正在编辑一本书。我想要一个像 、 和朋友这样的分段命令\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
选择eqexam
。
http://www.math.uakron.edu/~dpstory/eqexam.html