1

I want to set my document pages size to 16cm x 24cm. I did it as follow, but after running the following command

pdflatex myDocument.tex

the output of the document is not affected by what I have specified in the code. Output is still normal as a A4 size page.

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

%%%%%%%%%%%%%%%% New example is as follow after Zarko answer.enter image description here

\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 Answer 1

2

Edit:

Regarding paper size, remove a4paper from document class option.

Off-topic:

  • You use \tabularnewline inside cell. By this you terminated row and other text in this row push into the first column, which is type l, consequently it appear in one line. Remove all \tabularnewline and instead them use \newline or insert empty line.

  • Your table is quite large and cannot be fit on page with prescribed size by geometry package. For better exploiting available space on page, I suggest you to use tabularx table environment, write the first column header in two lines (by help of makecell package and reduce interline spaces by use of the linespread command:

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

enter image description here

3
  • After Zarko answer, I have remove a4paper from document class option. But document page size setting to 16cm x 24cm is still not working at all. After running the following command > pdflatex myDocument.tex output is still normal as a A4 size page. See attached picture.
    – cProg
    May 15, 2020 at 16:39
  • @cProg, well, than you declare somewhere (hiden from us), that page of your document has A4 size. Running my MWE the resulted page size is as declared by options for geometry package: width=160mm, height = 240mm.
    – Zarko
    May 15, 2020 at 18:16
  • you are right. Thank you.
    – cProg
    May 15, 2020 at 18:43

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .