Vorlage zum Drehen und rechtsbündigen Ausrichten von Text auf einer Seite mit zwei horizontalen Spalten

Vorlage zum Drehen und rechtsbündigen Ausrichten von Text auf einer Seite mit zwei horizontalen Spalten

Ich möchte meine Seite in vier Bereichen teilen: Seite A, B, C, D wird horizontal zur Hälfte geteilt und jeder dieser Bereiche wird vertikal zur Hälfte geteilt.

A oben links, wo der Text um 180° gedreht und am rechten Rand ausgerichtet ist. B oben rechts, wo der Text um 180° gedreht und am rechten Rand ausgerichtet ist. C unten links, wo der Text normal ist und am linken Rand ausgerichtet ist. C unten rechts, wo der Text normal ist und am linken Rand ausgerichtet ist.

Ich möchte eine Vorlage erstellen, die meinen Text in den Bereichen A, B, C und D „fließen“ lässt.

Ich würde die Verwendung einer Tabelle lieber vermeiden, aber wenn es der einfachere Weg ist, habe ich nichts dagegen.

hier ist der Code, den ich gemacht habe, er dreht den Text, aber der Text ist linksbündig und es gelingt ihm nicht, zwei Spalten zu erstellen

\documentclass{article}

% preambule
\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{graphicx}
\usepackage[french]{babel}


\usepackage{graphicx}

\begin{document}


\begin{multicols}{2}
\rotatebox{180}{coffe}
\newline
\rotatebox{180}{beer}
\newline
\rotatebox{180}{water} 
\newline
\rotatebox{180}{soda}
\newline
\rotatebox{180}{tea}
\newline
\rotatebox{180}{gin}
\end{multicols}
\end{document}

hier ein Bild, das zeigt, was ich will. Freigabezeilen können wahlweise angezeigt oder ausgeblendet werden. Und Teil A und B können Registerkarten statt 2 Spalten sein, und wenn Teil A nicht alle Registerkarten aufnehmen kann, wird es in Teil B fortgesetzt (Teil A immer noch umgekehrt und Teil B normal). Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

Antwort1

So was?

Mit expl3, 2 Schlüssel:

  1. nbrows (standardmäßig 4)
  2. Winkel (0° standardmäßig)

mit tabularray

  1. Kommentar hlines,vlines, wenn nicht abgegrenzt

  2. colspec={*{2}{Q[l,m,wd=0.45\linewidth]}}, für die Breite der Spalte

  3. rows = {0.1\textheight} für die Höhe der Zeilen

    \documentclass{article}
    \usepackage{showframe}
    \usepackage{tikz}
    \usepackage{tabularray}
    \parindent=0pt
    \ExplSyntaxOn
    \seq_new:N \l__nameyourmodule_elem_seq
    \tl_new:N \l__nameyourmodule_table_tl
    \tl_new:N \l__nameyourmodule_nbrows_tl
    \tl_new:N \l__nameyourmodule_angle_tl
    \tl_new:N \l__nameyourmodule_rowHeight_tl
    \keys_define:nn { yourtable }
        { 
            nbrows .tl_set:N = \l__nameyourmodule_nbrows_tl,
            angle .tl_set:N = \l__nameyourmodule_angle_tl,
            %%% default values 
            nbrows .initial:n = { 4 },
            angle .initial:n = { 0 },
        }
    \NewDocumentCommand{\mytable}{O{} m }
    {
        \keys_set:nn { yourtable } { #1 }
        \seq_set_from_clist:Nn \l__nameyourmodule_elem_seq {#2}
        \tl_clear:N \l__nameyourmodule_table_tl
        \int_step_inline:nn {\l__nameyourmodule_nbrows_tl}
        % \seq_map_inline:Nn \l__nameyourmodule_elem_seq  
        {  
        \tl_put_right:Nn \l__nameyourmodule_table_tl 
            {
            \seq_item:Nn \l__nameyourmodule_elem_seq {##1} & 
            \seq_item:Nn \l__nameyourmodule_elem_seq {\l__nameyourmodule_nbrows_tl+##1}\\
            }
        }
    
        \begin{tikzpicture}
        \node[rotate=\l__nameyourmodule_angle_tl]
            {
            \use:x% code of frougon  https://tex.stackexchange.com/questions/648904/misplaced-alignment-tab-character-with-tabularray-and-expl3
                {
                \exp_not:n {\begin{tblr}
                                {
                                hlines,vlines,
                                colspec={*{2}{Q[l,m,wd=0.45\linewidth]}},
                                rows = {0.1\textheight}
                                }}
                \exp_not:V {\l__nameyourmodule_table_tl}
                \exp_not:n {\end{tblr}}
                }
            };
        \end{tikzpicture}
    }
    \ExplSyntaxOff
    \begin{document}
    \mytable{Neqe,porro,quisquam,est,lg5}
    
    \mytable[angle=180]{Neqe,porro,quisquam,est,lg5}
    
    \mytable[nbrows=3]{lg1,lg2,lg3,lg4,lg5}
    
    \mytable[nbrows=3,angle=90]{lg1,lg2,lg3,lg4,lg5}
    \end{document}
    

verwandte Informationen