我试图将文本作为“项目符号”,但它太长了,超出了页面的左侧。我该怎么做才能阻止它这样做?
\begin{itemize}
\item[\textsc{Contact Information}]
Address: Address \\
Telephone: Telephone \\
E-mail: Email
\item[\textsc{Education}]
Etc
\end{itemize}
答案1
借用 Gonzalo 的页面LaTeX Beamer:全局定义 \itemsep,可以通过修补 的定义来重新定义缩进参数,如\leftmargin
和。 \itemindent
\itemize
编辑:我还展示了使用堆栈的另一种方法。
\documentclass{article}
\usepackage{xpatch,lipsum}
\usepackage[usestackEOL]{stackengine}
\def\defaultitemindent{0pt}
\def\defaultleftmargin{\the\leftmargin}
\xpatchcmd{\itemize}
{\def\makelabel}
{\setlength{\itemindent}{\defaultitemindent}%
\setlength{\leftmargin}{\defaultleftmargin}%
\setlength{\topsep}{0pt}\def\makelabel}
{}
{}
\begin{document}
\parindent 0pt
DEFAULT:
\begin{itemize}
\item[Really Long Text] \lipsum[4]
\item[Short] text
\end{itemize}
STACK:
\begin{itemize}
\item[\smash{\Longunderstack[l]{Really\\ Long\\ Text}}] \lipsum[4]
\item[Short] text
\end{itemize}
CHANGE ITEMINDENT
\def\defaultitemindent{15ex}
\begin{itemize}
\item[Really Long Text] \lipsum[4]
\item[Short] text
\end{itemize}
CHANGE LEFTMARGIN
\def\defaultleftmargin{20ex}
\def\defaultitemindent{0ex}
\begin{itemize}
\item[Really Long Text] \lipsum[4]
\item[Short] text
\end{itemize}
\lipsum[4]
\end{document}
答案2
您可以使用align=left
选项包裹enumitem
或description
环境:
笔记:
- 包裹
showframe
仅用于显示页边距。实际使用中不需要它。
代码:
\documentclass{article}
\usepackage{enumitem}
\usepackage{showframe}
\begin{document}
\begin{itemize}
\item[Really Long Label] Text
\end{itemize}
\medskip
\begin{itemize}[align=left]
\item[Really Long Label] Using \verb|align=left| option
\end{itemize}
\medskip
\begin{description}
\item[Really Long Label] Using \verb|description|
\end{description}
\end{document}