【问题标题】:LaTeX adjusting space in toc itemsLaTeX 调整 toc 项目中的空间
【发布时间】:2023-03-16 13:25:01
【问题描述】:

我正在努力处理通过以下方式添加的自定义目录项:

\addcontentsline{toc}{section}{Some text here}

实际上我的问题是我需要添加一些包含按时间顺序排列的日期期间的项目,例如:

12/1/2005 - 3/3/2006 Some event.........................................1
10/10/2005 - 11/30/2005 Some other event................................2

这看起来不太好。我想做的是将事件描述调整到某个行位置,如下所示:

12/1/2005 - 3/3/2006     Some event.....................................1
10/10/2005 - 11/30/2005  Some other event...............................2

我尝试使用 \makebox 但它似乎不允许在 \addcontentsline{toc}{section}{...} 命令中使用。

还有人有其他建议吗?

【问题讨论】:

  • 嗯,具有固定宽度的合理日期格式可能会有所帮助,例如 ISO 8601 :-)
  • 感谢您的回答,但是我的TOC中没有固定宽度的字体,所以文字宽度还是会有一些差异。另一点是我需要一些灵活性。我可能只想说明事件描述的年份。
  • 不是固定的字体,而是固定的日期格式。请参阅en.wikipedia.org/wiki/ISO_8601 yyyy/mm/dd 之类的内容将有助于您的间距。另外,在日期范围之间使用破折号,在乳胶中,它将是--
  • 我很清楚什么是固定日期格式。但是当不使用固定宽度字体时,这种格式可能会导致不同的文本长度,因为在非固定宽度字体中 9 可能比 1 更宽。因此 2009/01/01 不会像 2009/09/09 那样宽,导致文本长度不同。

标签: text latex adjustment tableofcontents


【解决方案1】:

知道了……

\makebox 是一个脆弱的命令,所以我需要保护它:)

\addcontentsline{toc}{section}{\protect\makebox[2cm][l]{date here} Description here}

抱歉打扰了!

欧文

【讨论】:

  • 我没有检查你的代码,但最好使用{\protect\makebox[1cm][l]{date1}-\protect\makebox{date2} Descrioption} 或者在序言中更好:\newcommand{\mysection}[3]{\addcontentsline{toc}{section}{\protect\makebox[1cm][l]{#2} - \protect\makebox[2cm][l]{#3} #1}}?
  • 是的,这样会更好,但我想让这里的示例简单一些,因为 LaTeX 编译器不接受 \makebox,我确实知道如何解决这个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-07
  • 2011-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多