缩进参考书目的第二行

缩进参考书目的第二行

我正在写一份书目:

\begin{thebibliography}{9}
\bibitem{Lorem}\textsc{Lorem ipsum dolor sit}
\texttt{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras vitae purus mi. Fusce quam urna, elementum at ullamcorper in, tempus sed quam.}
\end{thebibliography}

结果 :

在此处输入图片描述

我想要获得的是:

在此处输入图片描述

我想缩进的第二行和第三行\texttt。我必须重新定义\texttt还是有其他解决方案?

感谢您的帮助。

编辑:

通过使用 egreg 的解决方案,我得到了一个奇怪的结果:

在此处输入图片描述

答案1

可以修改 LaTeX 内部结构来实现这一点。我们修改:

  • \@biblabel打印标签时,新标签包含长度为\bibindent

  • \bibitem打印整个标题,删除第一行的多余空格

  • 您应该添加到\kern\bibindent的参数中,\begin{thebibliography}以确保缩进

  • 该行\def\bibindent定义缩进量,我将其设置为1em

代码:

\documentclass{article}
\begin{document}

\def\bibindent{1em}
\begin{thebibliography}{99\kern\bibindent}
\makeatletter
\let\old@biblabel\@biblabel
\def\@biblabel#1{\old@biblabel{#1}\kern\bibindent}
\let\old@bibitem\bibitem
\def\bibitem#1{\old@bibitem{#1}\leavevmode\kern-\bibindent}
\makeatother

\bibitem{Lorem}\textsc{Lorem ipsum dolor sit}
\texttt{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras vitae purus mi. Fusce quam urna, elementum at ullamcorper in, tempus sed quam.}
\end{thebibliography}

\end{document}

答案2

您可以使用该enumitem包来重新定义环境:

\documentclass[a4paper]{article}
\usepackage{enumitem}
\makeatletter
\renewenvironment{thebibliography}[1]
     {\section*{\refname}%
      \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}%
      \begin{enumerate}[label={[\arabic{enumi}]},itemindent=*,leftmargin=4em]
      \@openbib@code
      \sloppy
      \clubpenalty4000
      \@clubpenalty \clubpenalty
      \widowpenalty4000
      \sfcode`\.\@m}
     {\def\@noitemerr
       {\@latex@warning{Empty `thebibliography' environment}}%
      \end{enumerate}}
\makeatother

\begin{document}

\begin{thebibliography}{99}

\bibitem{Lorem}\textsc{Lorem ipsum dolor sit} \texttt{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras
vitae purus mi. Fusce quam urna, elementum at ullamcorper in, tempus sed quam.}

\bibitem{Lorem2}\textsc{Lorem ipsum dolor sit} \texttt{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras
vitae purus mi. Fusce quam urna, elementum at ullamcorper in, tempus sed quam.}

\end{thebibliography}

\end{document}

调整 的值以leftmargin适合您。请注意,thebibliography即使 不执行任何操作, 参数 仍然是必需的。这样,如果您改变主意,就无需修改输入。

在此处输入图片描述

警告

此代码适用于标准类article。对于report或 ,book请将其更改\section\chapter,而对于 KoMa-script 类或memoir某些其他 hack 则可能需要。

相关内容