Как сделать мини-страницу нижним колонтитулом документа

Как сделать мини-страницу нижним колонтитулом документа

У меня есть документ, который выдает что-то вроде этого:

введите описание изображения здесь

Раздел, выделенный зеленым цветом, может менять свой размер в зависимости от количества элементов в списке.

Я хочу, чтобы разделы «Доставка по адресу» и «Дополнительная информация» всегда находились внизу страницы, независимо от размера зеленого раздела.

Я предполагаю, что мне нужно сделать это с помощью нижних колонтитулов? Я читал о нижних колонтитулах, но не уверен, как сделать нижний колонтитул мини-страницей, как эта:

\begin{minipage}[t]{.3\textwidth}
        {\bf SHIP TO:}\\

        \textit{[email protected]}
\end{minipage}
\hfill
\begin{minipage}[t]{0.4\textwidth}
        {\bf ADDITIONAL INFORMATION:}\\

        \textit{We accept payment by cash or cheque. Payment Is due upon receipt, and must be paid in full within {\bf 30 days}.}
\end{minipage}

ВЕСЬ ТЕКСТОВЫЙ ФАЙЛ:

\documentclass[letterpaper,currency=pound]{dapper-purchase_order}
\defaultfontfeatures{ Path = ./Fonts/ }
%\usepackage{fontawesome}                                                                                                                
\definecolor{Mblue}{RGB}{231,255,229}
%                                                                                                                                        
%%%%%%%%%%%%%%%%%% HEADING SECTION %%%%%%%%%%%%%%%%%%                                                                                    
\newcommand{\purchaseOrderNo}{31401} % Invoice Number                                                                                    
\newcommand{\Date}{01/01/2018} % Date                                                                                                    
\newcommand{\clientName}{CUSTOMER NAME LTD} % Client Name                                                                                
%----------------------------------------------------                                                                                    
%                                                                                                                                        
\begin{document}

\newfontface\mainLightItalic{OpenSans-LightItalic}
\makeheader{\purchaseOrderNo}

\addvspace{8ex}

{\Large DATE: \textit{\Date}}

\addvspace{2ex}

{\Large FOR: \textit{\clientName}}

\addvspace{4ex}

\hspace{-.9\marginparwidth}%                                                                                                             
\colorbox{Mblue}{\begin{minipage}{\paperwidth}%                                                                                          

\vspace{.3in}

\begin{hoursItemization}
%                                                                                                                                        
%%%%%%%%%%%%%%%%%% TABLE OF EXPENSES %%%%%%%%%%%%%%%%%%                                                                                  
%                                                                                                                                        
% Put your expenses here in this order: \lineitem{QTY}{PRICE}{ITEM}                                                                      
%                                                                                                                                        
    \lineitem{1}{3075}{550 Litre indirect Storage Vessel with Unvented Kit}
%                                                                                                                                        
    \lineitem{2}{214}{3 kW Aquarius Towel Rail Heating Element with Chrome Finish}
%                                                                                                                                        
    \lineitem{1}{225}{9 kW Stainless Steel Immersion Heater}
%------------------------------------------------------                                                                                  
%                                                                                                                                        
%%%%%%%%%%%%%%%%%%% SUMMARY SECTION %%%%%%%%%%%%%%%%%%%                                                                                  
%                                                                                                                                        
    \beginsummary
%                                                                                                                                        
    \summaryline{SUBTOTAL}{\InvoiceTotal}
%                                                                                                                                        
    \summaryline{V.A.T. @ 20\%}{\vat}
%                                                                                                                                        
    \summaryline{TOTAL}{\total}
%------------------------------------------------------                                                                                  
%                                                                                                                                        
\end{hoursItemization}

\vspace{.3in}

\end{minipage}}

\addvspace{10ex}

\begin{minipage}[t]{.3\textwidth}
        {\bf SHIP TO:}\\

        \textit{[email protected]}
\end{minipage}
\hfill
\begin{minipage}[t]{0.4\textwidth}
        {\bf ADDITIONAL INFORMATION:}\\

        \textit{We accept payment by cash or cheque. Payment Is due upon receipt, and must be paid in full within {\bf 30 days}.}
\end{minipage}

\end{document}

(Файл класса длинный, поэтому я не буду его публиковать, так как не считаю это необходимым для решения этой проблемы).

решение1

Есть много вариантов, самый простой из которых, вероятно \vfill, , который будет перемещать все на дно. Поскольку у меня нет вашего класса документа, я проиллюстрирую два варианта на общем примере. Другие варианты включают пакет tikzpagenode, который делает абсолютное позиционирование, которое идет с TiкZ-легче.

\documentclass{article}
\usepackage{eso-pic} % only needed for the second option
\pagestyle{empty}
\begin{document}
First option: \verb|\vfill|
\vfill
Bottom--line: \verb|\vfill| works
\clearpage
Another option: use \texttt{eso-pic}
\AddToShipoutPicture{%
     \AtTextUpperLeft{%
         \put(0,-500){\begin{minipage}{\textwidth}
         Bottom--line: also works. you may want to adjust the
         $y$ value \texttt{500} to your needs. This option is particularly useful if
         you want to write many pages with the same bottom--line.
         \end{minipage}}%
     }%
}
\end{document}

решение2

Простой способ достижения желаемого поведения без использования нижних колонтитулов — это добавление vspace в сочетании с коэффициентом прочности.

Добавляем \vspace*{\stretch{2}}перед вашими двумя мини-страницамиКорабльиДополнительная информация., сдвигает их в низ страницы. Команда отрегулирует вертикальное пространство в соответствии с контентом, добавленным выше.

решение3

Единственная проблема, которую я увидел в вашем футере, заключается в том, что он не принимает абзацы. В вашем случае это легко решить, \\[<length>]потому что у вас там фиксированный контент. Я использовал пакет fancyhdrв своем MWE, однако мне пришлось удалить ваши личные вещи, поскольку у нас нет к ним доступа. Смотрите ниже:

\documentclass[a4paper, 10pt]{article}

%% geometry package was used to build a page that was similar to yours
\usepackage[left=15mm,right=15mm]{geometry}

%% lipsum to create filler text 
\usepackage{lipsum} 

\usepackage{fancyhdr}
\pagestyle{fancy}

%% set the footer
\cfoot{
  % \begin{tabular}{p{\linewidth}}
  \begin{minipage}[t]{.3\textwidth}
    {\bf SHIP TO:}\\[1mm] %% <- changed here
    \textit{[email protected]}
  \end{minipage}
  \hfill
  \begin{minipage}[t]{0.4\textwidth}
    {\bf ADDITIONAL INFORMATION:}\\[1mm] %% <- changed here    
    \textit{We accept payment by cash or cheque. Payment Is due upon receipt, and must be paid in full within {\bf 30 days}.}
  \end{minipage}
}

%% remove the top line, which is default in fancyhdr
\renewcommand{\headrulewidth}{0pt}

\begin{document}
\lipsum[1-20]
\end{document}

введите описание изображения здесь

решение4

мве

Это также использует fancyhdr, но позволяет указать центральный номер страницы ниже. (Просто для развлечения, без tikz, табличных или мини-страниц).

Примечание: \bfустаревшая команда. Используйте {\bfseries ...}или\textbf{...}

\documentclass[a4paper]{article}
\usepackage{lipsum,parskip}
\usepackage[margin=2cm,bmargin=6cm,footskip=4cm]{geometry}
\usepackage{fancyhdr}
\renewcommand{\headrulewidth}{0pt}%
\lfoot{\leavevmode
\vbox to 20ex{\hsize.6\linewidth{\bfseries SHIP TO:}\\[1ex]\itshape
[email protected]}%
\vbox to 20ex{\hsize.4\linewidth {\bfseries 
ADDITIONAL INFORMATION:}\\[1ex]\normalfont\itshape
We accept payment by cash or cheque. Payment is due upon receipt, 
and must be paid in full within {\bfseries 30 days}.}}

\pagestyle{fancy}

\begin{document}
\lipsum[1-50]
\end{document}

Связанный контент