请帮我弄清楚如何使用它:
我有以下代码:
\begin{flushright}
\begin{minipage}{0.5\textwidth}
{\bfseries Допущен к защите: }\hrulefill \\
{\bfseries Заведующий кафедрой: }\\
Должность, что-то еще.\\
Дата.\\
{\bfseries Выполнил: }Студент группы 85-07\\
Калашников М. А.\\
Подпись.\\
{\bfseries Научный руководитель: }\\
Кандидат физико-математических наук, Чирков А. Ю.\\
Подпись.\\
\end{minipage}
\end{flushright}
这就是我需要的:
我只想在某些笔画中添加一些空格。我尝试过使用\hfill
,\indent
以及其他一些方法,但似乎它们在里面不起作用minipage
。应该有一些简单的方法可以做到这一点(我花了 3 个多小时却没有结果)。
更新:步骤 2。
请同时查看此步骤。如何将一些文本块向右对齐?我相信还应该引入\newcommand
,但我仍在弄清楚...
答案1
由于您的数据遵循明确定义的方案,因此存在以下可能性:
\documentclass{article}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
\newcommand{\specialpar}[1]{%
\par\hangindent=3em \hangafter=1
\textbf{#1: }\ignorespaces}
\begin{document}
\begin{flushright}
\begin{minipage}{0.6\textwidth}
\specialpar{Допущен к защите}\hrulefill
\specialpar{Заведующий кафедрой}\\
Должность, что-то еще.\\
Дата.
\specialpar{Выполнил} Студент группы 85-07\\
Калашников М. А.\\
Подпись.
\specialpar{Научный руководитель}\\
Кандидат физико-математических наук, Чирков А. Ю.\\
Подпись.
\end{minipage}
\end{flushright}
\end{document}
不要\\
在“特殊段落”的末尾添加;两个段落之间的空行是可选的。
\hangindent=3em
每个“特殊段落”都从第一行 ( ) 开始以 3em ( ) 的悬挂缩进进行排版\hangafter=1
。
论点\specialpar
是应该以粗体显示的部分。
出了什么问题minipage
?首先,\parindent
参数设置为零,因此使用\indent
是无用的。
这里我们使用了 LaTeX 并不真正支持的低级功能,但在某些情况下会很方便,因为它比使用自定义列表环境更容易实现。
我们的\specialpar
命令只是吸收了应该以粗体显示并后跟冒号的内容作为参数;然后,为了安全起见,它会开始一个新段落,并设置两个“段落形状”参数。其中\hangindent
一个参数指定左缩进量,另一个\hangafter
参数指定在缩进之前应该排版多少行。最后,排版并\ignorespaces
发出粗体文本(添加了冒号和空格),因此参数右括号后的空格将被忽略。
还有其他方法吗?有。例如,可以设置\leftskip
:
\newenvironment{dopuschchen}[1][.6\textwidth]
{\begin{flushright}\begin{minipage}{#1}\leftskip=3em }
{\end{minipage}\end{flushright}}
\newcommand{\specialpar}[1]{\par\hspace*{-3em}\textbf{#1: }\ignorespaces}
进而
\begin{dopuschchen}
\specialpar{Допущен к защите}\hrulefill
\specialpar{Заведующий кафедрой}\\
Должность, что-то еще.\\
Дата.
\specialpar{Выполнил} Студент группы 85-07\\
Калашников М. А.\\
Подпись.
\specialpar{Научный руководитель}\\
Кандидат физико-математических наук, Чирков А. Ю.\\
Подпись.
\end{dopuschchen}
会给出相同的结果。为 保留的宽度minipage
可以作为新环境的可选参数(默认.6\textwidth
):
\begin{dopuschchen}[.5\textwidth]
会使更窄minipage
除了创建一个可能也适用于原始解决方案的新环境之外,与上述内容有什么区别?区别在于,设置为 会\leftskip
一直持续下去(尊重组,因此它将以 结束minipage
),而\hangindent
和\hangafter
在每个段落结束时重置。
另一个不同的解决方案是使用enumitem
包。
\usepackage{enumitem}
\newenvironment{xdopuschchen}[1][.6\textwidth]
{\begin{flushright}\begin{minipage}{#1}
\begin{description}[
nosep,leftmargin=3em,itemindent=-3em,labelsep=0pt,
before=\let\makelabel\dopusmakelabel,
]}
{\end{description}\end{minipage}\end{flushright}}
\newcommand{\dopusmakelabel}[1]{\textbf{#1: }}
环境的语法是
\begin{xdopuschchen}
\item[Допущен к защите]\hrulefill
\item[Заведующий кафедрой]\mbox{}\\
Должность, что-то еще.\\
Дата.
\item[Выполнил] Студент группы 85-07\\
Калашников М. А.\\
Подпись.
\item[Научный руководитель]\mbox{}\\
Кандидат физико-математических наук, Чирков А. Ю.\\
Подпись.
\end{xdopuschchen}
请注意,\mbox{}
when 后面\item[...]
必须直接跟有换行符。
enumitem
有关最后一条建议的详细信息,请参阅文档。