LaTeX 逐字忽略制表符

LaTeX 逐字忽略制表符

我需要编写一大堆伪代码,但使用 \begin{tabbing} 命令时,我讨厌使用所有的“\ >\=”,因此我决定改用 \begin{verbatim}。这对我来说很好,直到我不得不连续缩进 4 次。当我连续缩进 4 次时,它会将“字符”>> 放在行首,然后当我生成 pdf 时,它根本不缩进。当我使用 verbatim 时,如何让 latex 停止重新格式化我的行?

\begin{verbatim}

makeClusters(nodes[n], k)
{
distances [n][n]
clusters[k]
seeds[k]
numseeds=0
maxd=0
node1
node2

if(k=0)
  return

if(k=1)
  Put all nodes in one cluster and return

for i=0 to  n-1
  for j=0 to n-1
    distances[i][j] = d(nodes[i],nodes[j])
    if(distances[i][j]>maxd)
      maxd=distances[i][j]
      node1=i
      node2=j

seeds[0]=node1
seeds[1]=node2
numseeds +=2

while(numseeds < k)
  minNode
  maxmin=0

  for i=0 to n-1
    for j=0 to numseeds-1
      mindis=maxd
      if(distances[i][seeds[j]]<mindis)
    mindis=distances[i][seeds[j]]

    if(mindis>maxmin)
      maxmin=mindis
      minNode=i

  seeds[numseeds]=minNode
  numseeds++

for i=0 to n-1
  mindis=maxd
  clust
  if(not inCluster(node[i]))
    for j=0 to n-1
      if(inCluster(node[j]) and distances[i][j]<mindis)
    mindis=distances[i][j]
    clust=cluster(node[j])
    add2cluster(clusters[clust],node[i]


}
\end{verbatim}

正如您在这个不必要的大示例中看到的,在我的 2 个 if 语句之后,这些行已取消缩进,这些是我使用 4 个制表符并将此部分直接从 Kile 复制粘贴的位置。

答案1

问题在于 Kile 的行为有些奇怪(对我来说):按下该[Tab]键时,它会在文档中插入两个空格而不是一个制表符。但它也会用制表符替换任何 8 个连续的空格。这显然会完全扰乱任何格式。

要修复此问题,请使用具有合理默认设置的编辑器,或转到“设置”>“编辑”>“常规”并选中“插入空格而不是制表符”(或摆弄“缩进”下的设置)。

注意:正如 Joseph 所说,listings包裹将为您提供更漂亮的代码列表。

相关内容