三个框架在一个大文件框架和重新命名乳胶的东西

时间:2009-04-08 02:45:42

标签: latex

我只是在学习乳胶,所以这对你们中的一些人来说可能是微不足道的。 我经历了一些教程,但它们似乎都涵盖了同样的事情。

我正在撰写一份大型报告 - 一路计算(而且必须整洁,因为它是文档的一部分)。它由一个围绕页面的框架(15mm边距)和内部的3列组成:左列(3cm宽)是等式来自的参考(例如“ABS 3-2-7”),中间是计算,右边是可接受的值(5厘米宽)。这是一种标准的做事方式,所以我没有选择布局。

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

第二,如何在文档类中重命名英语语言?例如,“文章”类,我有“参考”,我需要“Literatura”。 有没有办法在不触及.cls文件的情况下重命名它?

3 个答案:

答案 0 :(得分:2)

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

使用表格的问题是它不能按照你想要的方式工作。

就第二个问题而言,它将取决于环境和文档类型,但通常您必须续订命令。

例如,为文章类添加前导码\ renewcommand \ refname {Literatura}以执行您要求的操作。如果我没记错的话,它就是书的bibname。

答案 1 :(得分:1)

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

\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,也可以计算它:

\newlength{\specialwidth}
\setlength{\specialwidth}{\textwidth}
\addtolength{\specialwidth}{-10cm} % extra room for the seperators...

我无法帮助你解决国际化问题......

答案 2 :(得分:1)

LaTeX中的表设计并不容易。我会使用tabbing而不是tabular并手动绘制线条以保持简单。一个缺点是你没有得到任何表格单元格的自动调整,但由于你的格式是固定的,我认为这是一件好事(即,如果文字溢出,你会发现它并自己修复它,你的表不会意外地伸入边缘)。如果在文档中使用这样的多个表,请尝试使用\newenvironment打包命令。

\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}

如果您使用babel,要更改固定名称,请参阅this FAQthis one