Estoy escribiendo un diario y estoy usando el enumitem
paquete estándar para escribir listas enumeradas. La lista actual que estoy usando es:
en el preámbulo
\usepackage[shortlabels]{enumitem}
y en el documento
\begin{enumerate}[label=\textbf{\arabic*}.]
%code to executed here
\end{enumerate}
Sin embargo, el equipo de la revista me pidió que cambiara esto a lo siguiente:
______________________
Ejercicio XX
______________________
donde XX es el contador, por ejemplo 1, 2, 3... y así sucesivamente. No tengo ni idea de cómo hacer esto. Lo único que me viene a la mente es combinar TIkZ con un enumerador de creación propia. Sin embargo, no puedo encontrar las macros correctas necesarias para hacer esto.
¿Alguna ayuda?
Respuesta1
Lo usé amsthm
porque tus ejercicios se parecían mucho a los definidos en el amsthm
paquete. Los invito a leer esa documentación.
La ventaja es que puedes diseñar la cosa bastante bien y fácilmente, la desventaja es que tienes un entorno, por ejemplo.
Aquí lo que obtuve:
\documentclass[letterpaper,12pt]{article}
\usepackage{amsthm}
\theoremstyle{definition}
\newtheorem{xca}{Exercise}
\newenvironment{myexercise}{%
\par\noindent \rule{4pc}{1pt}\begin{xca}}%
{\end{xca}\noindent\rule{4pc}{1pt}}
\begin{document}
\begin{myexercise}
Test
\end{myexercise}
\end{document}
con este resultado:
Estas son las líneas principales:
\theoremstyle{definition}
utiliza el estilo predefinido de amsthm\newtheorem{xca}{Exercise}
establece un nuevo teorema (xca
) en el estilo antes mencionado, con títuloEjercicioLuego tengo que establecer las reglas, que doy porque
\rule{4pc}{1pt}
me parecieron bien. Es posible que necesiten un ajuste finoTienen
\par\noindent
el propósito de finalizar el párrafo anterior y no dejar sangría. Estonoindent
también es necesario para el medio ambiente.
EDITAR
Como OP necesita algo un poco diferente, es decir, \newline
después del título, definí uno nuevo theoremstyle
y lo apliqué. amsthm
La documentación lo tiene todo explicado.
\documentclass[letterpaper,12pt]{article}
\usepackage{amsthm}
\newtheoremstyle{mydefinition}%
{3pt}% space above
{5pt}% space below
{}% body font
{}% indent
{\bfseries}% header font
{.} % header punctuation
{\newline}% after header space
{}%
\theoremstyle{mydefinition}
\newtheorem{xca}{Exercse}
\newenvironment{myexercise}{\par\noindent \rule{4pc}{1pt}\begin{xca}}{\end{xca}\noindent\rule{4pc}{1pt}}
\begin{document}
\begin{myexercise}
Test
\end{myexercise}
\end{document}
Con resultado:
NOTA:Pongo un ejemplo ficticio para la separación superior e inferior, sólo para mostrar que se pueden poner dimensiones "normales" allí.
Respuesta2
Esta es otra posibilidad, con ntheorem
. Parcheé el break
estilo para definirlo ruled
y le agregué un pequeño detalle con microtype
.
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{ntheorem}
\usepackage{microtype}
\usepackage{fourier, cabin}
\makeatletter
\newtheoremstyle{ruled}%
{\hrule\qquad\item[[\indent\rlap{\vbox{\hbox{\hskip\labelsep \theorem@headerfont
##1\ ##2\theorem@separator}\hbox{\strut}}}] \leavevmode\vspace*{-1.3ex}\hrule\vspace{2ex}}%
{\hrule\item[\indent\rlap{\vbox{\hbox{\hskip\labelsep \theorem@headerfont
##1\ ##2\ (##3)\theorem@separator}\hbox{\strut}}}] \leavevmode\vspace*{-1.3ex}\hrule\vspace{2ex}}
\makeatother
\theoremstyle{ruled}%
\theoremheaderfont{\lsstyle\sffamily\scshape}
\theorembodyfont{\normalfont}
\newtheorem{exercise}{Exercise}
\begin{document}
\begin{exercise}[An exciting exercise]
Prove that equality is an equivalence relation.
\end{exercise}
\end{document}