Zweispaltiger Text mit unterschiedlichen Spaltenbreiten

Layout von Seiten, Rändern, Fusszeilen, usw, modifizieren


letdef
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Sa 24. Nov 2012, 13:46

Zweispaltiger Text mit unterschiedlichen Spaltenbreiten

Beitrag von letdef »

Hallo.


Ich möchte ein Dokument setzen und brauche soetwas wie das multicol-Paket, nur muss ich (immer) die rechte Spalte der Seite breiter setzen können, als die linke. (Ich arbeite nur mit zweispaltigem Satz).

Gibt es da irgendeine Möglichkeit?


Mit freundlichen Grüßen euer Detlef \let\def

Gast

Beitrag von Gast »

Warum?

letdef
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Sa 24. Nov 2012, 13:46

Beitrag von letdef »

Ich bin gerade dabei einige japanische Rezepte in XeLaTeX zu setzen.

Auf der linken (bisherigen) Hälfte der Seite stehen immer die Zutaten (europäische Standardschreibweise) und rechts die Zubereitungsschritte(klassisch vertikal) . Da diese mehr Platz brauchen als die Zutatenliste, wäre es super, wenn die linke Spalte wirklich nur so breit ist, wie die Zutatenliste braucht.

Hier ein Codeauszug:
\newcommand*\CJKmovesymbol[1]{\raise0.5em\hbox{#1}}
\newcommand*\CJKmove{\punctstyle{plain}% do not modify the spacing between punctuations
  \let\CJKsymbol\CJKmovesymbol
  \let\CJKpunctsymbol\CJKsymbol}
% … dann mittem im Dokument
  \par\noindent
  \begin{multicols}{2}
  \begin{tabu}{
  p{.4\columnwidth}p{1em}X}
   \toprule\everyrow{\midrule}
   %Hier folgen die Zutaten gespeichert in einer Liste mit der Form #1&&#2\\
   \everyrow{}\\
   \bottomrule%
  \end{tabu}
  \columnbreak%
  \seclength{\columnwidth}{\value{1.8\columnwidth}}
  \vspace*{-4.23ex}%Um die Vertikalen Zeichen auf eine Höhe mit der \toprule zu bringen
  \begin{minipage}{.8\columnwidth}\hfill% Um rechtsbündig zu schreiben
  	\rotatebox{-90}%Alles um 90° drehen
  	{%
  	\parbox{.85\textheight}{% Damit möglichst weit nach unten geschrieben werden kann
  		\CJKfamily{vertIcalB}
  		\nobreak{調理方法}\\[1em]\CJKfamily{vertIcal}%Kanji für Zubereitung, dann ein em Abstand
  		\CJKmove%
  		#1% Die Zubereitungsanweisungen in Fließtext
  		}
 	}%
   \end{minipage}
  \end{multicols}
Aussehen tut ein Rezept bisher wie [s]im Anhang[/s] hier zu sehen.[/url]

Speravir
Forum-Anfänger
Forum-Anfänger
Beiträge: 15
Registriert: Di 4. Sep 2012, 22:00
Wohnort: Potsdam
Kontaktdaten:

Beitrag von Speravir »

Multicols kannst Du auf jeden Fall nicht nehmen.

Wenn Du garantieren kannst, dass jedes Rezept auf eine eigene Seite passt, dann ist eine Tabellenumgebung das Richtige, und da Du sowieso schon tabu einsetzt, solltest Du auch dabei bleiben. Wichtiger Tip: Du kannst in eine Tabellenzelle auch eine weitere Tabelle hineinpacken. Wenn Du dann immer wieder dieselbe Tabellendefinition benötigst, kannst Du die Möglichkeiten „\savetabu … \usetabu / \preamble“ bzw. die Definition einer eigenen Umgebung nutzen (siehe auch im tabu-Manual unter „Differences between tabu, tabular, tabularx and longtable … Custom environments“). Konstruiere dir eine Tabelle mit zwei Zellen und passe die Breiten an. In die linke Zelle kommt die zweite Tabelle mit den Zutaten, rechts die Rotatebox hinein.

Solltest Du möglicherweise auch mehr als eine Seite pro Rezept benötigen, siehe dir die Pakete parcolumns (im „sauerj“-bundle) – wobei Du besser pdfcolparcolumns (aus dem „oberdiek“-bundle) laden solltest – oder flowfram an.
Steffen „Speravir“
-----
Spiro, ergo sum.

Besserwisser

Beitrag von Besserwisser »

Ansonsten könnte man mit einem Layout mit breitem linkem Rand arbeiten und die Zutaten schlicht in diesen Rand schreiben. Das hätte außerdem den Vorteil, das man das wie in einigen Koch-/Backbüchern machen könnte, bei denen die Zutaten schlicht dort stehen, wo sie gebraucht werden. Selbst gebastelt ginge das beispielsweise so:
\documentclass[twoside=semi,parskip=half]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\AfterCalculatingTypearea{%
  \addtolength{\oddsidemargin}{.333\textwidth}%
  \addtolength{\evensidemargin}{.333\textwidth}%
  \setlength{\marginparwidth}{.333\textwidth}%
  \addtolength{\textwidth}{-.333\textwidth}%
}
\recalctypearea% Damit die eben vorgenommenen Änderungen aktiv werden.
\reversemarginpar% Randnotizen links statt rechts
\csname @mparswitchfalse\endcsname% auch bei doppelseitigen Dokumenten
\usepackage{ragged2e}

\newcommand*{\Zutat}[1]{\marginpar{\RaggedLeft #1}}

\begin{document}
\section{Schokopudding}
Man gebe\Zutat{500\,ml Milch} 
ca. 5~Esslöffel Milch in ein kleines
Schälchen. Die restliche Milch bringe man mit auf dem Herd zum Kochen.

In der Zwischenzeit verrühre man\Zutat{1 Päckchen Schokopuddingpulver}
ein Päckchen Schokopuddingpulver mit der
abgenommenen Milch.

Sobald die Milch kocht rühre man das angerührte Schokopuddingpulver zusammen
mit \Zutat{2 Messerspitzen Steviaextrakt}zwei Messerspitzen Steviaextrakt
ein. Einmal unter Rühren aufkochen.

In Dessertschalen oder Förmchen füllen und kalt stellen.
\end{document}
Es gibt aber auch verschiedene fertige Rezept-Pakete.

Antworten