解释:

解释:

大家早上好(UTC+2),

我需要为工作写几份文件。所有文件都采用相同的布局。他们给了我一个 MS Word 模板,但我想用 Latex 来写,因为我想练习一下。

他们的页脚布局很奇怪,一点也不美观,但我能做什么呢?必须这样。这是页脚的屏幕截图。 ms word 模板页脚

我设法在 latex 中创建了一个多行页脚(见下面的代码),其中包含所有必要的信息,但它必须是那个确切的页脚。我只是不知道如何在页脚中放置这样的表格。

\documentclass[a4paper,12pt]{article}
\usepackage[left=2cm, right=2cm]{geometry}
\usepackage{graphicx}
\usepackage[mongolian,english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage{fancyhdr}
\renewcommand{\familydefault}{\sfdefault}
\usepackage{blindtext}
\usepackage{tikz}
\usepackage{lipsum}
\usepackage{color}
\graphicspath{ {./images/} }
\setlength{\headheight}{40pt}
\pagestyle{fancy}
\fancyhf{} % clear all fields
\fancyfoot[L]{Document-Version: \\ XXXXXXX-YY \\ \ \\ CREATED: XX.YY.ZZZZ \\} 
\fancyfoot[R]{----- \\ VN \\ \  \\ Page \thepage}
\fancyfoot[C]{VN}
\begin{document}
....
\end{document}

我发现链接,但它并没有真正帮助我太多。至少我无法弄清楚如何操纵代码,以便它看起来像屏幕截图中那样。我对乳胶还很陌生,但我已经花了几个小时尝试了。所以如果有人有想法或提示想和我分享,请随时告诉我。非常感谢

答案1

如果您不需要fancyhdr任何标题,您也可以不要使用fancyhdr,而是重新定义\@oddfoot自己。

以下代码实现了这一点,并使用了tabularx全宽表格。前两个单元格被放大,其他单元格被缩小,以便能够容纳较长的“文档版本”和可能的日期。您可以调整这些放大率,只需确保之前使用的数字总数与\hsize列数相匹配(因此此处为 6)。没有数字算作 1。

\documentclass[a4paper,12pt]{article}
\usepackage[left=2cm, right=2cm]{geometry}

\usepackage{tabularx}
\usepackage{lastpage}
\month=11 % November has the longest name (dealing with edge cases for size)

\newcommand*\clineReveal
  {%
    \noalign{\vskip\arrayrulewidth}%
  }

\makeatletter
\def\@oddfoot
  {%
    \footnotesize
    \begin{tabularx}{\linewidth}
      {
        |*2{>{\hsize=1.3\hsize\linewidth=\hsize}X|}
        *4{>{\hsize=.85\hsize\linewidth=\hsize}X|}
      }
      \hline
      Document-Version & Date & \ldots & \ldots & \ldots & Page \thepage \\
      \cline{1-5}\clineReveal
      xxxxx-zz & \today & V.N. & V.N. & V.N. & of \pageref{LastPage}\\
      \hline
    \end{tabularx}%
  }
\let\@evenfoot\@oddfoot
\makeatother

\usepackage{duckuments}% for dummy content

\begin{document}
\duckument
\end{document}

在此处输入图片描述

解释:

\@oddfoot是标准类用于排版页脚(以及文档\@evenfoot中的twoside)的宏。

tabularx是一个类似表格的环境,它将表格设置为指定的宽度。X类型列是宽度灵活的列(它会变得足够大,使表格跨越请求的宽度,如果X指定了多个列,则空间会均匀分割)。

序言>{...}中的tabularx是要插入到该列每个单元格开头的代码。\hsize=1.3\hsize将列放大 30%。\linewidth=\hsize还设置\linewidth为指定的大小。总之,>{\hsize=<num>\hsize\linewidth=\hsize}X这是不均匀分割tabularx文档中可用空间的推荐方法。

我添加了,\clineReveal因为默认情况下 a\cline不占用垂直空间(这与普通的 不一致\hline),所以添加了 a所占用的\clineReveal垂直空间。\hline

我使用该lastpage包来获取在第二次运行中定义并可以打印的总页数\pageref{LastPage}

相关内容