
Enumero algunas relaciones con declaraciones breves y descriptivas sobre ellas. Tal como lo imagino, estoy tratando de poner las relaciones a la izquierda y las etiquetas a la derecha, alineadas con respecto al margen izquierdo. El intento falso a continuación ilustra mi intención:
Sólo quiero que esto parezca una lista enumerada "extendida". Por lo tanto, debería tener la misma sangría y espaciado vertical que mis otras listas y sin números de ecuación. Pensé en usar el tabular
entorno, pero no sé cómo expresar los espacios en términos de qué enumerate
usos.
¿Cuál sería una forma sensata de hacerlo?
Respuesta1
Use un regular enumerate
y establezca cada ecuación dentro del cuadro del mismo tamaño (usandoeqparbox
's \eqmakebox[<tag>][<align>]{<stuff>}
:
\documentclass{article}
\usepackage{eqparbox}
\begin{document}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut lorem ac orci ullamcorper mattis.
Nunc at convallis turpis, aliquam vehicula leo. Etiam mollis, urna nec interdum suscipit, lacus
ante mollis risus, placerat efficitur lacus quam at mauris. Vestibulum pretium dolor a eleifend
vestibulum. Duis sed ornare sapien.
\begin{enumerate}
\item First item
\item Second item
\item Third item
\end{enumerate}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut lorem ac orci ullamcorper mattis.
Nunc at convallis turpis, aliquam vehicula leo. Etiam mollis, urna nec interdum suscipit, lacus
ante mollis risus, placerat efficitur lacus quam at mauris. Vestibulum pretium dolor a eleifend
vestibulum. Duis sed ornare sapien.
\begin{enumerate}
\item
\eqmakebox[leq][l]{$f(x) = \Theta$} \qquad (belonging to~$\Theta$)
\item
\eqmakebox[leq][l]{$f(x+y) = x \leftrightarrow x > y$} \qquad (identity of confusion)
\item
\eqmakebox[leq][l]{$\lambda f(x) = f(x^\lambda)$} \qquad (non-sensible relation)
\end{enumerate}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut lorem ac orci ullamcorper mattis.
Nunc at convallis turpis, aliquam vehicula leo. Etiam mollis, urna nec interdum suscipit, lacus
ante mollis risus, placerat efficitur lacus quam at mauris. Vestibulum pretium dolor a eleifend
vestibulum. Duis sed ornare sapien.
\end{document}
Usar una lista en lugar de una tabular
asegurará que las cosas se alineen de la misma manera que sus otras listas, y configurar el contenido en cuadros de tamaño similar garantizará una alineación horizontal con sus "comentarios".
Respuesta2
Puede definir un nuevo entorno basado en tabular
un comando combinado con un elemento que proporcionará la numeración y alineación:
\documentclass{article}
\usepackage{array,environ}
\newcolumntype{L}{>{$}l<{$}}
\newcounter{aenum}
\renewcommand{\theaenum}{\arabic{aenum}.}
\newcommand{\aitem}[2]{\refstepcounter{aenum}\theaenum&(#2)\\}
\NewEnviron{annotedeqnlist}{\noindent
\begin{tabular}{rL@{\quad}l}
\setcounter{aenum}{0}%
\BODY
\end{tabular}}
\begin{document}
\begin{annotedeqnlist}
\aitem{f(x) \in \Theta}{belonginess to \( \Theta \)}
\aitem{f(x+y)=x \iff x>y}{identity of confusion}
\end{annotedeqnlist}
\end{document}
He utilizado el array
paquete para proporcionar una columna de tipo matemático conveniente. Podría considerar agregar \displaystyle
a la definición de la columna lo siguiente:
\newcolumntype{L}{>{$\displaystyle}l<{$}}
Respuesta3
\documentclass[a4paper]{article}
%% Language and font encodings
\usepackage[english]{babel}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
%% Useful packages
\usepackage{amsmath}
\newcommand\lreqn[2]{\noindent\makebox[\textwidth]{$\displaystyle#1$\hfill(#2)}\vspace{2ex}}
\begin{document}
\lreqn{f(x)= \Theta}{first function}
\lreqn{f(x+y)=f(x)+f(y)}{second function}
\end{document}
Respuesta4
El código puede parecer complicado, pero la sintaxis es bastante amigable. El annotedeqn
entorno es una lista de líneas introducidas por \item
, con &
como separador. La parte anterior &
está escrita en modo matemático (esto se puede cambiar, si lo necesita), la segunda parte en modo texto.
Las primeras partes estarán medidas, por lo que podremos empezar las segundas partes en la misma posición horizontal, a dos ems del final de la primera parte más ancha.
La suposición obvia es que cada elemento cabe en una línea.
\documentclass{article}
\usepackage{environ,xparse}
\usepackage{lipsum}
\ExplSyntaxOn
\NewEnviron{annotedeqnlist}
{
\giusti_annotedeqn_list:V \BODY
}
\seq_new:N \l__giusti_annotedeqn_list_seq
\seq_new:N \l__giusti_annotedeqn_listarg_seq
\seq_new:N \l__giusti_annotedeqn_temp_seq
\box_new:N \l__giusti_annotedeqn_first_box
\cs_new_protected:Nn \giusti_annotedeqn_list:n
{
% get the items
\seq_set_split:Nnn \l__giusti_annotedeqn_list_seq { \item } { #1 }
% discard the first empty item
\seq_pop_left:NN \l__giusti_annotedeqn_list_seq \l_tmpa_tl
% massage the items
\seq_clear:N \l__giusti_annotedeqn_listarg_seq
\seq_map_inline:Nn \l__giusti_annotedeqn_list_seq
{
\seq_set_split:Nnn \l__giusti_annotedeqn_temp_seq { & } { ##1 }
\seq_put_right:Nx \l__giusti_annotedeqn_listarg_seq
{
{\seq_item:Nn \l__giusti_annotedeqn_temp_seq { 1 } }
{\seq_item:Nn \l__giusti_annotedeqn_temp_seq { 2 } }
}
}
% measure the equations
\hbox_set:Nn \l__giusti_annotedeqn_first_box
{
$\begin{array}{@{}l@{}}
\seq_map_function:NN \l__giusti_annotedeqn_listarg_seq \__giusti_annotedeqn_first:n
\end{array}$
}
% produce the enumerate environment
\begin{enumerate}
\seq_map_function:NN \l__giusti_annotedeqn_listarg_seq \__giusti_annotedeqn_item:n
\end{enumerate}
}
\cs_generate_variant:Nn \giusti_annotedeqn_list:n { V }
\cs_new_protected:Nn \__giusti_annotedeqn_first:n
{
\use_i:nn #1 \\
}
\cs_new_protected:Nn \__giusti_annotedeqn_item:n
{
\__giusti_annotedeqn_item:nn #1
}
\cs_new_protected:Nn \__giusti_annotedeqn_item:nn
{
\item
\makebox[\box_wd:N \l__giusti_annotedeqn_first_box][l]{$#1$}
\qquad
#2
}
\ExplSyntaxOff
\begin{document}
\lipsum*[2]
\begin{annotedeqnlist}
\item f(x) \in \Theta & (belonginess to \( \Theta \))
\item\label{confusion} f(x+y)=x \iff x>y & (identity of confusion)
\item \lambda f(x)=f(x^\lambda) & (non-sensible relation)
\end{annotedeqnlist}
with a reference to item~\ref{confusion}.
\lipsum*[3]
\begin{annotedeqnlist}
\item f(x) \in \Theta & (belonginess to \( \Theta \))
\item \lambda f(x)=f(x^\lambda) & (non-sensible relation)
\end{annotedeqnlist}
\end{document}