将 TikZ 图像设置为整个纸张的宽度,而不改变页眉和页脚的位置和宽度

将 TikZ 图像设置为整个纸张的宽度,而不改变页眉和页脚的位置和宽度

我试图将 TikZ 图像放入页面上,并希望使图像尽可能大,而不会扭曲其尺寸。但是,同时我还希望能够在同一页面的页眉中显示我的名字,而不会通过其他操作以任何方式移动页眉。这就是事情变得复杂的地方,因为我能够通过实际删除左边距将图像移动到从页面左边缘开始,但这也会移动该页面上的页眉和页脚,如下图所示。

SWOT分析

该页面的源代码在这里:

\documentclass[12pt,a4paper]{article}

\usepackage[showframe]{geometry}

\usepackage{fancyhdr}
    \pagestyle{fancy}
    \makeatletter
    \let\runchapter\@chapter
    \let\runsection\@thesection
    \makeatother
    \lhead{Full name here}
    \rhead{Course name here}

\usepackage{pgfplots}
  \usetikzlibrary{matrix}
  \colorlet{helpful}{lime!70}
  \colorlet{harmful}{red!30}
  \colorlet{internal}{yellow!20}
  \colorlet{external}{cyan!30}
  \colorlet{S}{helpful!50!internal}
  \colorlet{W}{harmful!50!internal}
  \colorlet{O}{helpful!50!external}
  \colorlet{T}{harmful!50!external}

\begin{document}

\vfill

\newgeometry{left=0cm,right=0cm}

\thispagestyle{fancy}

\begin{figure}[p]


    \centering
    \begin{tikzpicture}[
    any/.style={minimum width=0.475\paperwidth,minimum height=0.475\paperwidth,%
                 text width=7cm,align=center,outer sep=0pt},
    header/.style={any,minimum height=0.05\paperwidth,fill=black!10},
        leftcol/.style={header,rotate=90},
        mycolor/.style={fill=#1, text=#1!60!black}
        ]

        \matrix (SWOT) [matrix of nodes,nodes={any,anchor=center},%
                    column sep=-\pgflinewidth,%
                    row sep=-\pgflinewidth,%
                    row 1/.style={nodes=header},%
                    column 1/.style={nodes=leftcol},
                    inner sep=0pt,
                    outer sep=5em]
        {
            &|[fill=helpful]| {Helpful} & |[fill=harmful]| {Harmful} \\
            |[fill=internal]| {Internal Origin} & |[mycolor=S]| { \fontsize{60}{70}\selectfont S} & |[mycolor=W]| { \fontsize{60}{70}\selectfont W} \\
            |[fill=external]| {External Origin} & |[mycolor=O]| { \fontsize{60}{70}\selectfont O} & |[mycolor=T]| { \fontsize{60}{70}\selectfont T} \\
        };

        \node[any, anchor=center] at (SWOT-2-2) {};
        \node[any, anchor=center] at (SWOT-2-3) {};
        \node[any, anchor=center] at (SWOT-3-2) {};
        \node[any, anchor=center] at (SWOT-3-3) {};

    \end{tikzpicture}
\end{figure}
\vfill

\restoregeometry

\end{document}

页面看起来相当丑陋,因为页眉和页脚从页面的左侧开始。我希望通过移动左右边距来改变页眉和页脚的宽度和位置。如何实现这一点,因为该geometry包似乎没有区分页眉/页脚和正文边距?

答案1

添加线条

  \fancyhfoffset[L]{-0.1\paperwidth}
  \fancyhfoffset[R]{-0.1\paperwidth}

\usepackage{fancydr}问题解决后。

相关内容