
Я хотел бы разделить свою страницу на 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 ключа:
- nbrows (4 по умолчанию)
- угол (0° по умолчанию)
с табличным массивом
комментарий hlines,vlines, если если не обозначено
colspec={*{2}{Q[l,m,wd=0.45\linewidth]}}, для ширины столбца
rows = {0.1\texttheight} для высоты строк
\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}