答案1
使用
\parbox[t]{\dimexpr\textwidth-2cm\relax}{\blindtext}
以减小的尺寸\parbox
。
笔记:
- 我还添加了尾随
%
以消除在之后添加的空格\makebox
。 - 该
showframe
包用于显示边距。实际使用中不需要它。
代码:
\documentclass{article}
\usepackage{blindtext}
\usepackage{showframe}
\setlength{\parindent}{0em}
\setlength{\parskip}{1em}
\begin{document}
\blindtext
\makebox[2cm][l]{Hello}% <--- Trailing % added
\parbox[t]{\dimexpr\textwidth-2cm\relax}{\blindtext}
\end{document}
答案2
\parbox
我建议不要使用\leftskip
基于环境的环境:
\documentclass{article}
\usepackage{blindtext,showframe}
\setlength{\parindent}{0em}
\setlength{\parskip}{1em}
\newenvironment{shiftright}[1]
{%
\par
\setlength{\leftskip}{2cm}
\makebox[0pt][r]{\makebox[2cm][l]{#1}}\ignorespaces
}
{\par}
\begin{document}
\blindtext
\begin{shiftright}{Hello}
\blindtext
\end{shiftright}
\end{document}
或者,list
基于以下环境:
\documentclass{article}
\usepackage{blindtext,showframe}
\setlength{\parindent}{0em}
\setlength{\parskip}{1em}
\newenvironment{shiftright}[1]
{%
\begin{list}{}{%
\setlength{\leftmargin}{2cm}%
\setlength{\topsep}{0pt}%
\setlength{\partopsep}{0pt}%
}%
\item\makebox[0pt][r]{\makebox[2cm][l]{#1}}\ignorespaces
}
{\end{list}}
\begin{document}
\blindtext
\begin{shiftright}{Hello}
\blindtext
\end{shiftright}
\end{document}