用於在 2 列水平共享頁面中旋轉和右對齊文字的模板

用於在 2 列水平共享頁面中旋轉和右對齊文字的模板

我想在 4 個區域分享我的頁面:A、B、C、D 頁面水平共享一半,每個區域垂直共享一半。

A 位於左上角,文字旋轉180°,並在右側邊距上對齊B 位於右上角,文字旋轉180°,並在右側邊距上對齊C 位於左下角,其中文字正常,並在右側邊距上對齊左邊距 C 位於右下角,其中文字正常且與左邊距對齊

我想製作一個模板,使我的文字在 A、B、C、D 區域「流動」。

我寧願避免使用表格,但如果這是更簡單的方法,我不反對。

這是我編寫的程式碼,它旋轉文本,但文本左對齊並且無法生成 2 列

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

這是一張照片來展示我想要的。共享線可以選擇顯示或隱藏。而A部分和B部分可以是製表符而不是2列,如果A部分不能包含所有製表符,它將在B部分繼續(A部分仍然反轉,B部分正常。 在此輸入影像描述

在此輸入影像描述

答案1

像這樣?

對於 expl3,有 2 個鍵:

  1. nbrows(預設為 4)
  2. 角度(預設為 0°)

與 tabularray

  1. 如果沒有劃定,請註 hlines、vlines

  2. colspec={*{2}{Q[l,m,wd=0.45\linewidth]}},為列的寬度

  3. rows = {0.1\textheight} 表示行的高度

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

相關內容