如何处理 \hangindent 中的空格?

如何处理 \hangindent 中的空格?

存在问题\hangindent。这是我使用的代码:

\documentclass[12pt]{article}
\usepackage[cp1251]{inputenc}
\usepackage[english,russian]{babel}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{cmap}
\usepackage{amsthm}
\usepackage{amscd}
\usepackage[matrix,arrow,curve]{xy}
\usepackage{pgfplots}
\pgfplotsset{compat=1.15}
\usepackage{mathrsfs}
\usetikzlibrary{arrows}
\usepackage{wrapfig}
\usepackage{lipsum}
% SIZES
\textwidth=15.0 cm
\textheight=21.0 cm
\hoffset=-1cm
\voffset=-2cm

\setlength{\unitlength}{1.09mm}


\begin{document}
    \begin{proof}
    \lipsum[1]
    \hangindent=-5cm \hangafter=-6

    \lipsum[2]
    \end{proof}
\end{document}

该代码生成的文档如下: 在此处输入图片描述 这里你可以看到环境中有两个缩进的块proof。与此同时我只需要缩进块。如果您尝试继续此过程 --- 缩进会继续对每个新的白色行进行。我该如何处理?我需要它 proof环境。

更新型多巴胺这里有一些代码,但它仍然缩进两个段落:

\begin{proof}           
        
    \hangindent=-5cm \hangafter=-5
    \lipsum[1] \\
    
    \lipsum[2]
\end{proof}

UPD2我需要做的就是括号:

\begin{proof}           
        
    {\hangindent=-5cm \hangafter=-5
    \lipsum[1] \par} 
    
    \lipsum[2]
\end{proof}

答案1

说明

\hangindent=-5cm \hangafter=-6

意味着当前的段落中我们想将前六行缩短到比标准宽度少 5 厘米的长度。

请注意,“当前段落”是关键。说明可以放在段落的任何地方,但最好放在最开头,这样你就能发现它们。

在你的情况下,一些怪癖lipsum进入场景,但你会逃脱

\documentclass[12pt]{article}
%\usepackage[cp1251]{inputenc} % ?
\usepackage[english,russian]{babel}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{cmap}
\usepackage{amsthm}
%\usepackage{amscd} % ?
\usepackage[matrix,arrow,curve]{xy}
%\usepackage{pgfplots}
%\pgfplotsset{compat=1.15}
%\usepackage{mathrsfs}
%\usetikzlibrary{arrows}
%\usepackage{wrapfig}
\usepackage{lipsum}

%%%% don't use such settings! Use geometry
%% SIZES
%\textwidth=15.0 cm
%\textheight=21.0 cm
%\hoffset=-1cm
%\voffset=-2cm
\usepackage{geometry}
\geometry{
  textwidth=15cm,
  textheight=21cm,
}

\setlength{\unitlength}{1.09mm} % ?


\begin{document}

\begin{proof}
Лорем ипсум долор сит амет, фацете еурипидис еу вел. Еу цоммодо воцибус 
фацилис еос. Ан бруте патриояуе витуператорибус еум, феугиат пхаедрум пер 
еу, ерос опортере ет вим. Омиттам репудиаре ан цум, ид меа муциус фацилиси 
менандри. Ипсум малуиссет при ут. Меи еи агам алтерум партиендо, ид еос 
волумус сцаевола волуптариа, ин мунди нонумы поссит яуо.

\hangindent=-5cm \hangafter=-6
Аудире салутатус усу но, антиопам персеяуерис иус не, вим сонет солеат 
сентентиае ут. Еу яуо ехерци фиерент волуптариа, хас пробо сцрипсерит еа, 
ин цетерос сусципит детрахит еум. Пауло тритани волуптатум при ет, ех юсто 
фугит про. Омнесяуе елеифенд не усу, ет путент персецути меа. Еа сумо 
малуиссет мел, но вел нибх ехпетенда. Еу ест дицо молестиае. Еу дицам 
урбанитас иус, ад тимеам луцилиус праесент при. Дебитис медиоцрем 
продессет ут усу, иус ид амет утинам. Ферри персеяуерис ат дуо, еу 
усу тота урбанитас. Ех доцтус вивендо легендос пер.
\end{proof}

\end{document}

说明前留一空行,说明后不留空行。

我对您的代码做了一些其他更改。如果可以,请使用 UTF-8,而不是 cp1251。我认为您不需要两者xyamscd后者生成的图表质量比前者低得多)。不要手动制作页面参数,请使用geometry:注意设置\hoffset可能会对图形包产生不利影响。我注释掉了一些与当前问题无关的包。

我用了一个“俄罗斯口语生成器”获取文本。

在此处输入图片描述

答案2

问题是 LaTeX在环境\par内部重新定义proof。Primitive\par创建段落并重新初始化\hangindent\hangafter原始寄存器。但 LaTeX 将\par(即空白行)重新定义为环境{\par}内部proof。因此重新初始化是在组内完成的,当组完成后,先前的值(来自上一段)将恢复。但您不想对第二段使用相同的值。您可以使用\endgraf(相当于原始\par)空白行代替:

\begin{proof}
\lipsum[1]
\hangindent=-5cm \hangafter=-6
\endgraf
\lipsum[2]
\end{proof}

相关内容