向使用 pdfpages 创建的图形矩阵添加图形标题和 x 轴标签

向使用 pdfpages 创建的图形矩阵添加图形标题和 x 轴标签

背景

我之前问过:我可以将 16 页的 pdf 转换为 LaTeX 中的 8x2 矩阵吗?

我最终通过编译文档“foo.tex”从 15 页的 pdf 中创建了一个 3x5 的图像矩阵:

\documentclass{article}                                                                          
\usepackage{pdfpages}                                                                            
\begin{document}                                                                                 
\includepdf[landscape = false,                                                                   
pages={1-15},                                                                                    
nup=3x8,                                                                                         
delta={10 10}]{myplots.pdf}                                                          
\end{document}        

得到文档 foo.pdf:

在此处输入图片描述

我已使用该caption包将标题放在单独的页面上,如回答另一个问题把这句话放在序言里:

\usepackage{caption}
\usepackage{letltxmacro}% http://ctan.org/pkg/letltxmacro
\captionsetup{labelsep=none}
\DeclareCaptionTextFormat{none}{} \captionsetup{labelsep=none,textformat=none}

然后使用以下命令将 foo.pdf 作为图表包含在我的稿件中:

\begin{figure}[p]
  \caption{This is my caption that will end up on another page}
  \begin{center}
    \includegraphics[width=0.9\textwidth]{foo.pdf}
  \end{center}
  \label{fig:foo}
\end{figure}
\end{document}

问题

现在,我需要为整个图形(而不是单个图)添加标题和 x 轴标签,我该怎么做?

我已经看过页面文档,但找不到任何这样的功能。

更新/我尝试过的

使用,正如相关问题@percusse 建议的在添加ofset=10mm,10mmpdfpages命令后会起作用,只是不清楚如何将文本旋转 90 度。我想出了一个临时的“足够好”的解决方案,将此作为答案发布

答案1

具有(和)pagecommand选项的解决方案:\includepdfpicture

\documentclass{article}
\usepackage{pdfpages}
\begin{document}
\includepdf[landscape = false,
pages={1-15},
offset=-5mm -15mm,
nup=3x8,
delta={10 10},
pagecommand={
\begin{picture}(0,0)
  \put (100,100) {\normalsize{\sffamily{This is my manually-centered title}}}
\end{picture}
},
]{myplots.pdf}
\end{document}

使用相同的解决方案tikz来居中和旋转节点:

\documentclass{article}
\usepackage{tikz}
\usepackage{pdfpages}
\begin{document}
\includepdf[landscape = false,
pages={1-15},
offset=-5mm -15mm,
nup=3x8,
delta={10 10},
pagecommand={
  \thispagestyle{empty}
  \begin{tikzpicture}[overlay,remember picture]
    \node[font=\large\bfseries]
    at ([yshift=-8mm]current page.north)
    {This is my centered title};
    \node[font=\large\bfseries,rotate=90]
    at ([xshift=1in]current page.west)
    {Y Label...};
    \node[font=\large\bfseries]
    at ([yshift=-6cm]current page.center)
    {X Label...};
  \end{tikzpicture}
},
]{myplots.pdf}

\end{document}

结果如下(使用 beamer 文档而不是myplots.pdf):

在此处输入图片描述

答案2

这是我想到的一个老套答案,但它需要先生成图形(foo.pdf),然后生成带有标题的图形(foo_title.pdf);foo_title.pdf 是最终要合并到手稿中的图形。

  1. 生成 foo.pdfpdfpages[offset=-5mm -15mm]

    \documentclass{article}                                                                          
    \usepackage{pdfpages}                                                                            
    \begin{document}                                                                                 
    \includepdf[landscape = false,                                                                   
    pages={1-15},
    offset=-5mm -15mm,                                                                                    
    nup=3x8,                                                                                         
    delta={10 10}]{myplots.pdf}                                                          
    \end{document}
    
  2. 使用生成 foo_title包装和删除边距的包:

    \documentclass{article}
    \usepackage[percent]{overpic}
    \usepackage{geometry}
    \geometry{verbose,a4paper,tmargin=0cm,bmargin=0cm,lmargin=0cm,rmargin=0cm}
    
    \begin{document}
    \begin{overpic}{foo.pdf}
     \put (18,98) {\normalsize{\sffamily{This is my manually-centered title}}}
    \end{overpic}
    \end{document}
    

    以下是结果 foo_title.pdf:

    在此处输入图片描述

  3. 在手稿中包含 foo_title.pdf

该解决方案缺少以下理想特性:

  • 在一个文件中执行此操作,而不是三个单独的 tex (和四个 pdf)文件
  • 带有旋转文本的 x 轴标签
  • 自动居中标题和 x 轴标签

相关内容