So machen Sie eine Miniseite zur Fußzeile eines Dokuments

So machen Sie eine Miniseite zur Fußzeile eines Dokuments

Ich habe ein Dokument, das ungefähr folgende Ausgabe erzeugt:

Bildbeschreibung hier eingeben

Der grüne Abschnitt kann seine Größe ändern, je nachdem, wie viele Elemente in der Liste sind.

Ich möchte, dass die Abschnitte „Versand an:“ und „Zusätzliche Informationen“ immer unten auf der Seite angezeigt werden, unabhängig davon, wie groß der grüne Abschnitt ist.

Ich nehme an, dass ich dies mithilfe von Fußzeilen erreichen muss. Ich habe über Fußzeilen gelesen, bin mir aber nicht sicher, wie ich die Fußzeile zu einer Miniseite wie dieser machen kann:

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

DIE GESAMTE TEX-DATEI:

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

(Die Klassendatei ist lang, deshalb werde ich sie nicht veröffentlichen, da ich nicht glaube, dass es für die Lösung des Problems notwendig ist).

Antwort1

Es gibt viele Optionen, die wahrscheinlich einfachste ist \vfill, wodurch die Inhalte nach unten verschoben werden. Da ich Ihre Dokumentklasse nicht habe, zeige ich zwei Optionen in einem allgemeinen Beispiel. Weitere Optionen sind das tikzpagenodePaket, das die absolute Positionierung vornimmt, die mit Ti geliefert wird.kZ einfacher.

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

Antwort2

Das gewünschte Verhalten lässt sich auf einfache Weise ohne Verwendung von Fußzeilen erreichen, indem ein vspace in Kombination mit einem Strecth-Faktor hinzugefügt wird.

Hinzufügen \vspace*{\stretch{2}}vor Ihren beiden Miniseiten mitAusliefernUndZusätzliche Information., verschiebt sie an das Ende der Seite. Der Befehl passt den vertikalen Abstand entsprechend dem oben hinzugefügten Inhalt an.

Antwort3

Das einzige Problem, das ich in Ihrer Fußzeile gesehen habe, ist, dass sie keine Absätze akzeptiert. In Ihrem Fall lässt sich das leicht lösen, \\[<length>]da Sie dort festen Inhalt haben. Ich habe das fancyhdrPaket in meinem MWE verwendet, musste jedoch Ihre privaten Dinge entfernen, da wir keinen Zugriff darauf haben. Siehe unten:

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

Bildbeschreibung hier eingeben

Antwort4

mwe

Dies verwendet auch fancyhdr, erlaubt aber eine zentrale Seitenzahl unten. (Nur zum Spaß, ohne Tikz, Tabellen oder Miniseiten).

Hinweis: \bfist ein veralteter Befehl. Verwenden Sie {\bfseries ...}oder\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}

verwandte Informationen