너비가 다른 여러 열 - 복잡한 레이아웃

너비가 다른 여러 열 - 복잡한 레이아웃

너비가 서로 다르고 텍스트가 세로로 회전된 여러 열로 구성된 더 복잡한 레이아웃을 조판하는 데 문제가 있습니다.

레이아웃 이미지 여기에 이미지 설명을 입력하세요

나는 여러 패키지를 시도해 보았지만 \multicol \minipage \tabular그 중 어느 것도 솔루션에 적합한 것 같지 않았습니다.

질문

LaTex에서 이러한 유형의 레이아웃이 실제로 가능합니까? 그렇다면 접근 방식을 사용해야 합니까?

답변1

예, 가능합니다. 충분한 노력을 기울이면 LaTeX에서 거의 모든 출력을 생성할 수 있습니다. 저는 전문가는 아니지만 tabular아래에 예시로 시도한 내용을 포함시켰습니다. 이미 언급했듯이 이는 광범위한 질문이며 MWE는 달성하려는 목표와 사양을 정확하게 보여주는 데 매우 유용합니다.

\documentclass{article}
\usepackage[margin=2cm]{geometry} % prevent overfull hbox from wide table
\usepackage{graphicx} % for \rotatebox
\usepackage{colortbl} % for \cellcolor

\begin{document}

\begin{tabular}{|p{3cm}p{3cm}p{1cm}p{2cm}p{1cm}p{0.3cm}p{0.3cm}p{0.3cm}p{0.3cm}|}
\hline\multicolumn{9}{|l|}{}\\
\multicolumn{2}{|l}{\LARGE Longer longer heading line 1} & & \cellcolor[gray]{0.8}{} & & \multicolumn{4}{r|}{123-456-7}\\
\multicolumn{2}{|l}{\LARGE Longer longer heading line 2} & & \multicolumn{1}{c}{\cellcolor[gray]{0.8}{QR}} & & & & &\\[0.5cm]
28.2.2024 & Some venue & & & & & & &\\
20:00 & 100 USD & & & & & & &\\[1cm]
\multicolumn{5}{|l}{Basic ticket} & & & &\\[0.5cm]
\multicolumn{5}{|l}{Seat 24} & & & &\\
\multicolumn{5}{|l}{\tiny very tiny longer sentence. very tiny longer sentence.} & \rotatebox{90}{28.2.2024} & \rotatebox{90}{20:00} & \rotatebox{90}{Basic ticket} & \rotatebox{90}{Seat 24}\\[0.5cm]
\hline
\end{tabular}

\end{document}

여기에 이미지 설명을 입력하세요

답변2

나는 tikz이것을 신청할 것이다. minipages 또는 \parboxes 만 사용하여 완료할 수도 있지만 tikz위치 지정 및 정렬에 대해 좀 더 제어할 수 있는 기능이 추가됩니다.

텍스트 줄 사이의 간격을 조정하려면 를 사용하세요 setspace. 그런 다음 선택적 설정 중 하나를 추가합니다: [doublespacing], [onehaldspacing]스위치 매크로 삽입, sa \onehalfspacing또는 \doublespacing. 미세 조정이 필요한 경우에는 표준 간격 \setstretch{<factor>}으로 사용하십시오. 1.0또는 \vspace{}일회성 추가 수직 간격을 추가하기만 하면 됩니다.

그 티켓의 크기가 있는지 모르겠습니다. 따라서 아래 예에서는 너비와 높이에 임의의 값을 사용합니다.

\documentclass[margin=1cm]{standalone}
\usepackage[doublespacing]{setspace}
\usepackage{graphicx}
\usepackage{tikz}
\usetikzlibrary{positioning}

\newlength\ticketheight
\setlength\ticketheight{6cm}


\begin{document}
\begin{tikzpicture}[
        node distance = 1cm,
        every node/.style = {
            inner sep=0pt,
            outer sep=0pt,
        },
    ]
    \node (A) {%
        \parbox[t][\ticketheight][s]{7cm}{
            {\LARGE\setstretch{1}%
                Longer longer heading line 1
         
                Longer longer heading line 2
            \par}

            \vspace{\fill}%
            \begin{tabular}{@{}p{4cm} l@{}}
                28.2.2024 & Some venue \\
                20:00     & 100 USD
            \end{tabular}
         
            \vspace{\fill}%
            Basic ticket
         
            Seat 24
         
            \vspace{\fill}%
            {\tiny\setstretch{1}%
               Much much longer sentence. Much much longer sentence.
               
               Description at the bottom.
            \par}}
    };
    \node [right=of A] (B) {
        \parbox[t][\ticketheight]{3cm}{%
            \includegraphics[width=\linewidth]{example-image}}
    };
    \node [right=of B] (C) {
        \parbox[t][\ticketheight][s]{2cm}{
            {\centering
                123-456-7
            \par}

            \vspace{\fill}%
            \raggedleft\onehalfspacing\small
            \rotatebox{90}{%
                \begin{tabular}[b]{@{}l@{}}
                    28.2.2024 \\
                    20:00 \\
                    Basic ticket \\
                    Seat 24
                \end{tabular}}}
    };
\end{tikzpicture}
\end{document}

여기에 이미지 설명을 입력하세요

관련 정보