Estou escrevendo um diário e usando o enumitem
pacote padrão para escrever listas enumeradas. A lista atual que estou usando é:
No preâmbulo
\usepackage[shortlabels]{enumitem}
e no documento
\begin{enumerate}[label=\textbf{\arabic*}.]
%code to executed here
\end{enumerate}
No entanto, a equipe da revista me pediu para alterar isso para o seguinte:
______________________
Exercício XX
______________________
onde XX é o contador, por exemplo, 1, 2, 3... e assim por diante. Eu não tenho nenhuma idéia de como fazer isso. A única coisa que vem à mente é combinar o TIkZ com um enumerador criado por você mesmo. No entanto, não consigo encontrar as macros corretas necessárias para fazer isso.
Qualquer ajuda?
Responder1
Usei amsthm
porque seus exercícios pareciam muito com os definidos no amsthm
pacote. Convido você a ler essa documentação.
A vantagem é que você pode estilizar a coisa muito bem e facilmente, a desvantagem é que você tem um ambiente por exemplo.
Aqui o que eu consegui:
\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}
com este resultado:
Estas são as linhas principais:
\theoremstyle{definition}
usa o estilo predefinido de amsthm\newtheorem{xca}{Exercise}
estabelece um novo teorema (xca
) no estilo acima mencionado, com títuloExercícioEm seguida, tenho que estabelecer as regras, que considero uma
\rule{4pc}{1pt}
vez que me parecem adequadas. Eles podem precisar de ajuste finoServem
\par\noindent
para encerrar o parágrafo anterior e não deixar recuo. Onoindent
é necessário depois do ambiente também.
EDITAR
Como o OP precisa de algo um pouco diferente, ou seja, um \newline
após o título, defini um novo theoremstyle
e apliquei-o. amsthm
a documentação tem tudo 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}
Com resultado:
OBSERVAÇÃO:Coloquei alguns exemplos fictícios de separação superior e inferior, apenas para mostrar que você pode colocar dimensões "normais" ali.
Responder2
Esta é outra possibilidade, com ntheorem
. Eu corrigi o break
estilo para definir um ruled
estilo e adicionei um pequeno presente com 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}