书籍类别:设置页面大小

书籍类别:设置页面大小

我想将文档页面大小设置为 16cm x 24cm。我按照以下步骤操作,但在运行以下命令后

pdflatex myDocument.tex

文档的输出不受我在代码中指定的内容的影响。输出仍然正常,为 A4 大小的页面。

\documentclass[a4paper, 12pt]{book}
\usepackage[paperwidth=16cm, paperheight=24cm]{geometry}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage{array}
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}

\newcommand\code[1]{\texttt{#1}}

\begin{document}
  \begin{tabular}{|l|C{4cm}|}
   \hline
    Classe de caractère & Signification\\
   \hline
   \verb+[abc$^]+      & Un unique caractère qui peut être \code{a}, \code{b} ou \code{c} \\
   \hline
\verb+[^abc]+       & Le $^\wedge$ exprime la négation: cette classe représente un unique caractère, \tabularnewline qui peut prendre toutes les valeurs, sauf \code{a}, \code{b} et \code{c}.\\
   \hline\verb+[a-zA-Z]+ & Le - signifie que tous les caractères entre ses bornes sont valides. Cette classe représente un unique caractère alphabétique, minuscule ou majuscule.\\
   \hline
   \verb+[a-gmn]+ & Autre exemple d'union: cette classe \tabularnewline est constituée de tous les caractères compris entre \code{a} et \code{g}, du caractère \code{m} et du caractère \code{n}.\\
   \hline
   \verb+[a-g[A-G]]+ & On peut inclure des classes les unes dans les autres. Cette classe représente un unique caractère, compris entre \code{a} et \code{g}, en minuscule ou en majuscule. Elle est équivalente à \verb+[a-gA-G]+.\\
   \hline
   \verb+[a-g\&\&[c-k]]+ & Le signe $\&\&$ représente l'intersection. On fait donc là l'intersection entre la classe \verb+[a-g]+ et la classe \verb+[c-k]+. Il s'agit donc de la classe \verb+[c-g]+.\\
   \hline
   \verb+[a-g\&\&[^cd]]+ & Ici on réalise l'intersection entre la classe qui représente tous les caractères de \code{a} à \code{g}, et celle qui représente tous les caractères, sauf \code{c} et \code{d}. Il reste donc \code{a}, \code{b}, \code{e}, \code{f} et \code{g}, que l'on peut aussi écrire \verb+[abefg]+ ou \verb+[abe-g]+.\\
   \hline
   \verb+[a-z\&\&[^m-p]]+ & Autre exemple: \tabularnewline ici on réalise l'intersection de tous les caractères compris entre \code{a} et \code{z}, et de tous les caractères sauf ceux compris entre \code{m} et \code{p}. Il nous reste donc \verb+[a-lq-z]+.\\
    \hline
    \end{tabular}
\end{document}

%%%%%%%%%%%%%%%%%%% 新示例如下:Zarko 回答。在此处输入图片描述

\documentclass[12pt]{book}
\usepackage[paperwidth=16cm, paperheight=24cm]{geometry}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}

\usepackage{qtree}
\usepackage{adjustbox}
\usepackage[activate={true,nocompatibility},final,tracking=true,kerning=true,spacing=true,factor=1100,stretch=10,shrink=10]{microtype}
\usepackage{multicol}

\usepackage{ragged2e}
\usepackage{makecell, tabularx}

\newcolumntype{L}[1]{>{\RaggedRight}X}
\newcommand\code[1]{\texttt{#1}}
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}

\begin{document}

foo

\end{document}

答案1

编辑:

关于纸张尺寸,a4paper从文档类别选项中删除。

无关

  • 您使用\tabularnewline内部单元格。这样,您终止了行,并将此行中的其他文本推入第一列,即类型l,因此它们出现在一行中。删除所有内容\tabularnewline并使用它们代替\newline或插入空行。

  • 您的表格太大,无法按照geometry软件包规定的大小放入页面中。为了更好地利用页面上的可用空间,我建议您使用tabularx表格环境,将第一列标题写成两行(借助makecell软件包,并使用以下命令减少行间空格linespread

\documentclass[12pt]{book}
\usepackage[paperwidth=16cm, paperheight=24cm]{geometry}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage{ragged2e}                  % new
\usepackage{makecell,                  % new
            tabularx}
\newcolumntype{L}[1]{>{\RaggedRight}X} % new
\newcommand\code[1]{\texttt{#1}}
%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%

\begin{document}
\begin{table}[ht]                   % new
\small\linespread{0.84}\selectfont  % new
\setlength\tabcolsep{4pt}           % new
\setcellgapes{2pt}                  % new
\makegapedcells                     % new
  \begin{tabularx}{\linewidth}{|l|L{4cm}|} % new
   \hline
   \makecell{Classe de\\ caractère} 
                        & Signification\\
   \hline
   \verb+[abc$^]+       & Un unique caractère qui peut être \code{a}, \code{b} ou \code{c} \\
   \hline
   \verb+[^abc]+        & Le $^\wedge$ exprime la négation:

                          cette classe représente un unique caractère, qui peut prendre toutes les valeurs, sauf \code{a}, \code{b} et \code{c}.\\
   \hline
    \verb+[a-zA-Z]+      & Le - signifie que tous les caractères entre ses bornes sont valides. Cette classe représente un unique caractère alphabétique, minuscule ou majuscule.\\
  \hline
   \verb+[a-gmn]+       & Autre exemple d'union: 

                          cette classe est constituée de tous les caractères compris entre \code{a} et \code{g}, du caractère \code{m} et du caractère \code{n}.\\
   \hline
   \verb+[a-g[A-G]]+    & On peut inclure des classes les unes dans les autres. Cette classe représente un unique caractère, compris entre \code{a} et \code{g}, en minuscule ou en majuscule. Elle est équivalente à \verb+[a-gA-G]+.\\
   \hline
   \verb+[a-g\&\&[c-k]]+    & Le signe $\&\&$ représente l'intersection. On fait donc là l'intersection entre la classe \verb+[a-g]+ et la classe \verb+[c-k]+. Il s'agit donc de la classe \verb+[c-g]+.\\
   \hline
   \verb+[a-g\&\&[^cd]]+    & Ici on réalise l'intersection entre la classe qui représente tous les caractères de \code{a} à \code{g}, et celle qui représente tous les caractères, sauf \code{c} et \code{d}. Il reste donc \code{a}, \code{b}, \code{e}, \code{f} et \code{g}, que l'on peut aussi écrire \verb+[abefg]+ ou \verb+[abe-g]+.\\
   \hline
   \verb+[a-z\&\&[^m-p]]+   & Autre exemple: 

                              ici on réalise l'intersection de tous les caractères compris entre \code{a} et \code{z}, et de tous les caractères sauf ceux compris entre \code{m} et \code{p}. Il nous reste donc \verb+[a-lq-z]+.\\
   \hline
  \end{tabularx}
  \end{table}
\end{document}

在此处输入图片描述

相关内容