首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一个大文档中的三列框架和latex中的重命名

一个大文档中的三列框架和latex中的重命名
EN

Stack Overflow用户
提问于 2009-04-08 02:45:42
回答 3查看 1.4K关注 0票数 1

我只是在学习latex,所以这对你们中的一些人来说可能是微不足道的。我看了一些教程,但它们似乎都涵盖了相同的内容。

我一直在写一个很大的报告--计算(它必须整洁,因为它是文档的一部分)。它由页面周围的一个框架(页边距15 of )和其中的3列组成:在左列(3 3cm宽)中是公式来源的引用(例如"ABS 3-2-7"),中间是计算值,右边是可接受的值(5厘米宽)。这是一种标准的操作方式,所以我没有选择布局的权利。

现在,我不明白,我该如何创建这样的布局呢?有列的框架必须出现在每一页上。如何做到这一点呢?我从来没有见过这样的文档,所以我不确定如何简化创建。

第二,如何在文档类中重命名英语中的内容?例如,“文章”类,我有“引用”,我需要有“文学”。有没有办法在不接触.cls文件的情况下重命名它?

EN

回答 3

Stack Overflow用户

发布于 2009-04-08 03:00:36

对于您的第一个问题,请查看longtable包(如果您尚未安装,可从ctan.org获得)

使用表格的问题是它不能像你想要的那样跨页面工作。

至于第二个问题,它将取决于环境和文档类型,但通常您必须更新命令。

例如,将文章类的preamble \renewcommand\refname{Literatura}添加到其中,即可执行您所要求的操作。如果我没记错的话,它是书的bibname。

票数 2
EN

Stack Overflow用户

发布于 2009-04-08 02:51:02

在这种情况下,您可能希望使用tabular环境来生成这三列(如果报表内容运行的时间超过一页,则使用as simon notes longtable )。类似于:

代码语言:javascript
复制
\framebox{
  \centering
  \begin{tabular}{p{3cm}|p{\specialwidth}|p{5cm}}
  Ref 1-0-0 & 1.2345 & 1.2346 \\
  Ref 1-0-1 & 2.3456 & 2.3454 \\
  ...
  \end{tabular}
}

您会注意到,我使用了段落格式的列( p{<length>}格式说明符),并用\framebox在它周围加上了一个框架。

您可以手动计算\specialwidth,也可以计算它:

代码语言:javascript
复制
\newlength{\specialwidth}
\setlength{\specialwidth}{\textwidth}
\addtolength{\specialwidth}{-10cm} % extra room for the seperators...

在国际化的问题上我帮不了你。

票数 1
EN

Stack Overflow用户

发布于 2009-04-08 06:47:00

在LaTeX中设计表格并不是很容易。为了简单起见,我会使用tabbing而不是tabular,并手动绘制线条。缺点是你不能自动调整表格单元格的大小,但是因为你的格式是固定的,所以我认为这是一件好事(即,如果文本溢出,你会注意到它并自己修复它,你的表格不会意外地伸展到页边距中)。如果您在文档中使用了多个这样的表,请尝试使用\newenvironment打包命令。

代码语言:javascript
复制
\documentclass{article}
\usepackage[margin=15mm]{geometry}
\usepackage{amsmath}
\usepackage{calc}

\newlength{\tableheight}
\setlength{\tableheight}{20cm}  % how high to draw the lines of the table
\newlength{\rulethickness}
\setlength{\rulethickness}{1pt} % how thick lines to draw
\newcommand{\verticalline}{\smash{\rule[-\tableheight]{\rulethickness}{\tableheight}}}
\newlength{\myindent}
\setlength{\myindent}{3mm}      % how much to indent each column
\newlength{\leftcolumn}
\setlength{\leftcolumn}{3cm-\myindent}
\newlength{\midcolumn}
\setlength{\midcolumn}{\textwidth-3cm-5cm-\myindent-\rulethickness}
\newlength{\rightcolumn}
\setlength{\rightcolumn}{5cm-\myindent}

\begin{document}
\begin{tabbing}
  % first set the tab stops
  \hspace*{\myindent}\=\hspace{\leftcolumn}\=%
  \hspace{\myindent}\=\hspace{\midcolumn}\=%
  \hspace{\myindent}\=\hspace{\rightcolumn}\=\kill
  % then draw the lines
  \rule{\textwidth}{\rulethickness}\\[-\baselineskip]
  \smash{\rule[-\tableheight]{\textwidth}{\rulethickness}}\\[-\baselineskip]
  \verticalline\>\>\verticalline\>\>\verticalline\>\>\verticalline\\
  % Now start the table: indent the first column with \>
  \>ABS 3--2--7 
  % ... and each additional column with \>\>
  \>\> $\iint_{-\infty,-\infty}^{\infty,\infty} e^{-x^2-y^2}\, dx\,dy$ 
  \>\> 2.507 
  % End each line with \\, add e.g. [2pt] to get 2pt extra space if required
  \\[2pt]
  % here's another line:
  \>ABS 3--2--8 \>\> $\displaystyle\sum_{k=0}^n k^2$ \>\> $\frac12 n(n+1)$ \\
  % etc. Be careful not to overflow the table - there's no automatic check for that.
\end{tabbing}

\newpage % also remember to start a new page after the table

\end{document}

若要更改固定名称,请参见this FAQ,如果使用的是babel,则可能是this one

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/728323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档