强制列表式缩进

强制列表式缩进

以下是 MWE:

 \documentclass[13pt, a4paper]{book}
    \usepackage{amsmath}
    \usepackage{amsfonts}
    \usepackage{amssymb}
    \usepackage[utf8]{inputenc}
    \usepackage[english, greek]{babel}
    \usepackage[shortlabels]{enumitem}
    \usepackage{kmath}
    \usepackage{gfsartemisia}
    \usepackage{xcolor}

\newcommand{\sub}[2]{{\color{blue}{$\text{#1}_{#2}$)}}}

\begin{document}

\sub{A}{1} Αν οι συναρτήσεις $f, g$ είναι παραγωγίσιμες στο $x_0$ τότε να 
αποδείξετε ότι και η συνάρτηση $f+g$ είναι παραγωγίσιμη στο $x_0$ και ισχύει 
\[
(f + g)'(x_0) = f'(x_0) + g'(x_0)
\]

\end{document}

它产生以下内容:

在此处输入图片描述

正如您所看到的,我已经声明了一个带有两个参数的新自定义命令。

我想要实现的是将文本对齐到文本下方,就像 enumitem 使用自定义枚举所做的那样,不过我可以用任意字母替换“A”,也可以用任意数字替换“1”。例如,请参阅以下代码:

 \begin{enumerate}[(a)]
 \item Αν οι συναρτήσεις $f, g$ είναι παραγωγίσιμες στο $x_0$ τότε να 
 αποδείξετε ότι και η συνάρτηση $f+g$ είναι παραγωγίσιμη στο $x_0$ και ισχύει  
 \end{enumerate}

显然,当前的输出相当丑陋。有什么建议吗?如果解决方案使用 enumitem,我不会感到惊讶。

更新:从图片中可以看到,当行发生变化时,文本会从自定义枚举中移到下方。我不希望这种情况发生。相反,我希望当行发生变化时,新文本会与上一行文本对齐。类似这样:

A1) This is some text.

    This is a new line of text.

我们现在有的就是这个。

A1) This is a text.
This is a new line of text.

答案1

您可以定义一个\myitem带有两个参数的宏,如下所示。请注意,如果有新行(但没有新项目),则悬挂缩进会保留。

在此处输入图片描述

\documentclass[12pt, a4paper]{book}
    \usepackage{amsmath,amssymb}
    \usepackage[utf8]{inputenc}
    \usepackage[english, greek]{babel}
    \usepackage[shortlabels]{enumitem}
    \usepackage{kmath,gfsartemisia,xcolor}

\newcommand{\sub}[2]{\textcolor{blue}{#1\textsubscript{#2})}}
\newcommand\myitem[2]{\item[\sub{#1}{#2}]}

\begin{document}
\begin{itemize}
\myitem{A}{1} Αν οι συναρτήσεις $f$, $g$ είναι παραγωγίσιμες \dots

Αν οι συναρτήσεις $f$, $g$ είναι παραγωγίσιμες \dots
\myitem{B}{7} Αν οι συναρτήσεις $f$, $g$ είναι παραγωγίσιμες \dots
\item Αν οι συναρτήσεις $f$, $g$ είναι παραγωγίσιμες \dots
\myitem{\selectlanguage{english}CD}{89} Αν οι συναρτήσεις $f$, $g$ είναι παραγωγίσιμες \dots
\end{itemize}
\end{document}

答案2

使用来自的参数enumitem,特别是wide=0pt键。我必须更改字体(我的系统上未安装):

\documentclass[12pt, a4paper]{book}
    \usepackage{amsmath}
    \usepackage{amssymb}
    \usepackage[utf8]{inputenc}
   % \usepackage[iso-8859-7]{inputenc}
    \usepackage{tgbonum}
    %\usepackage{gfsartemisia}
    \usepackage[english, greek]{babel}
    \usepackage[shortlabels]{enumitem}
%    \usepackage{kmath}
    \usepackage{xcolor}

\newcommand{\sub}[2]{{\color{blue}{$\text{#1}_{#2}$)}}}

\begin{document}

\begin{enumerate}[label=A\textsubscript{\arabic*}), wide=0pt, font=\color{blue}]
\item  Αν οι συναρτήσεις $f, g$ είναι παραγωγίσιμες στο $x_0$ τότε να αποδείξετε ότι και η συνάρτηση $f+g$ είναι παραγωγίσιμη στο $x_0$ και ισχύει
\[ \left( f + g\right)'(x_0) = f'(x_0) + g'(x_0) \]
\end{enumerate}

\end{document}

在此处输入图片描述

答案3

尝试

\documentclass{article}

\usepackage{amsmath}
    \usepackage{amsfonts}
    \usepackage{amssymb}
    \usepackage[utf8]{inputenc}
    \usepackage[english, greek]{babel}
    %\usepackage[shortlabels]{enumitem}
    \usepackage{kmath}
    \usepackage{gfsartemisia}
    \usepackage{xcolor}


\newcounter{steps}
\newcommand\reset{\setcounter{steps}{0}}



\newenvironment{exercises}[1][]{\setcounter{steps}{0}\list{\bfseries\upshape\stepcounter{steps} $#1_\thesteps$}
{%
\setlength{\labelwidth}{2cm}\setlength{\leftmargin}{2.6cm}
\setlength{\labelsep}{0.5cm}\setlength{\rightmargin}{1cm}
\setlength{\parsep}{0.5ex plus0.2ex minus0.1ex}
\setlength{\itemsep}{0ex plus0.2ex minus0pt}\relax \slshape %
}}
{\endlist}

\begin{document}

\begin{exercises}[A]
\item Αν οι συναρτήσεις $f, g$ είναι παραγωγίσιμες στο $x_0$ τότε να 
 αποδείξετε ότι και η συνάρτηση $f+g$ είναι παραγωγίσιμη στο $x_0$ και ισχύει 
 \[ \left( f + g\right)'(x_0) = f'(x_0) + g'(x_0) \]


\item Αν οι συναρτήσεις $f, g$ είναι παραγωγίσιμες στο $x_0$ τότε να 
 αποδείξετε ότι και η συνάρτηση $f+g$ είναι παραγωγίσιμη στο $x_0$ και ισχύει 
 \[ \left( f + g\right)'(x_0) = f'(x_0) + g'(x_0) \]
\end{exercises}


\begin{exercises}[B]
\item Αν οι συναρτήσεις $f, g$ είναι παραγωγίσιμες στο $x_0$ τότε να 
 αποδείξετε ότι και η συνάρτηση $f+g$ είναι παραγωγίσιμη στο $x_0$ και ισχύει 
 \[ \left( f + g\right)'(x_0) = f'(x_0) + g'(x_0) \]


\item Αν οι συναρτήσεις $f, g$ είναι παραγωγίσιμες στο $x_0$ τότε να 
 αποδείξετε ότι και η συνάρτηση $f+g$ είναι παραγωγίσιμη στο $x_0$ και ισχύει 
 \[ \left( f + g\right)'(x_0) = f'(x_0) + g'(x_0) \]
\end{exercises}


\end{document}

\list命令是 LaTeX 提供的一种定义任何列表的强大方法。LaTeX 中的列表设置起来有点困难,因为在 LaTeX 内核中,列表是使用\parshape许多\everypar技巧定义的。但是,一旦定义,它们就会继续正常工作,即使在其他环境中也是如此。

在此处输入图片描述

如果您注意到,我提供了一个命令\reset。如果您希望列表具有连续编号,则从\setcounter{0}环境定义中删除。然后使用\reset将计数器归零到您需要的位置。

相关内容