Seite 1 von 1

Nutzung von Variablen im Dokument bzw. zwischen Dokumenten

Verfasst: Do 17. Sep 2015, 12:56
von matze
Ich habe mir in einem Dokument einen neuen Befehl angelegt und diesen mit verschiedenen Bausteinen (Text, Tabellen usw.) und Variablen "gefüllt".
Im selben Dokument rufe ich dann den Befehl auf und übergebe den Inhalt für die entsprechenden Variablen.

Hier mal ein MWE:
\documentclass[12pt,parskip=full]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\newcommand{\neuesbeispiel}[3]{
\section{Verschieden formatierte Texte}
Hier wird \textbf{fett}, {\Large groß} bzw. \textit{kursiv} formatierter Text eingefügt:

\textbf{#1}

{\Large #2}

\textit{#3}
} 
 
\begin{document}
\neuesbeispiel
{Ich bin fett.}
{Ich bin groß.}
{Ich bin kursiv.}
\end{document}
Erste Frage: Ist es überhaupt legitim, dass ich \newcommand so "umfangreich" (oder auch noch umfangreicher) nutze oder gibt es da bessere Lösungen?

Zweite Frage: Sind irgendwo die Grenzen des Befehls beschrieben (denn dazu habe ich bisher nichts gefunden)? Bspw. funktioniert die hier gezeigte \section, \chapter hingegen führt zu Fehlern; das reine Einbinden von Grafiken funktioniert, bei Angabe zusätzlicher Parameter (Breite, Höhe) gibt es Fehler.

Dritte Frage: Funktioniert sowas auch Datei-übergreifend bzw. können beim Aufruf/Einbinden von tex-Dateien Variablen mit übergeben werden?
Beispiel: Ich lege mir eine Datei namens Standard.tex mit einem Teil des o. g. Inhalts an:
\section{Verschieden formatierte Texte}
Hier wird \textbf{fett}, {\Large groß} bzw. \textit{kursiv} formatierter Text eingefügt:

\textbf{#1}

{\Large #2}

\textit{#3}
Diese binde ich nun in MeinDokument.tex ein:
\documentclass[12pt,parskip=full]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\begin{document}
\input{Standard.tex}{Ich bin fett.}{Ich bin groß.}{Ich bin kursiv.}
\end{document}

Re: Nutzung von Variablen im Dokument bzw. zwischen Dokument

Verfasst: Do 17. Sep 2015, 13:18
von Besserwisser
matze hat geschrieben:Sind irgendwo die Grenzen des Befehls beschrieben (denn dazu habe ich bisher nichts gefunden)? Bspw. funktioniert die hier gezeigte \section, \chapter hingegen führt zu Fehlern; das reine Einbinden von Grafiken funktioniert, bei Angabe zusätzlicher Parameter (Breite, Höhe) gibt es Fehler.
Hättest du mal lieber für jede Frage (wobei auch das hier schon min zwei sind) ein Thema eröffnet und dann jeweils ein Beispiel gegeben, könnte man dir sagen, was du falsch gemacht hast. \chapter in einem eigenen Befehl funktioniert jedenfalls, solange die Klasse \chapter auch unterstützt, was bei [d]scrartcl[/d] nicht der Fall ist. Was du bei den Grafiken falsch gemacht hast, kann ich nicht einmal erahnen das schon Grafik bei LaTeX ein weites Feld von picture bis pstricks ist.

Ansonsten: Dateien haben keine Argumente. Man kann aber natürlich Befehle mit Argumenten in Dateien schreiben, diese Dateien in vielen anderen Dateien einlesen und dann verwenden. Macht jedes Paket so.

Verfasst: Do 17. Sep 2015, 13:42
von matze
Ich hatte die Fragen zusammen gestellt, da sie m. M. n. aufeinander aufbauen bzw. das gleiche Beispiel teilen.

Die Frage zum chapter hast du mir beantwortet - danke. Mir war nicht bewusst, dass diese Klasse den Befehl nicht "unterstützt".

Für die restlichen Probleme/Fragen öffne ich neue Themen. Dieses hier kann also meinetwegen gelöscht werden.

Verfasst: Do 17. Sep 2015, 14:28
von Besserwisser
matze hat geschrieben:Die Frage zum chapter hast du mir beantwortet - danke. Mir war nicht bewusst, dass diese Klasse den Befehl nicht "unterstützt".
Vielleicht solltest du mal eine ausführliche LaTeX-Einführung lesen. Die Gliederung (unterhalb der Teile-Ebene) mit Abschnitten statt mit Kapiteln zu beginnen, ist einer der wesentlichen, wenn nicht sogar der wesentlichste Unterschied zwischen Artikel-Klassen wie article oder scrartcl und Bericht-Klassen wie report oder scrreprt. Aber tröste dich: Das ist offenbar vielen Leute nicht bewusst, weshalb sie gerne \newpage vor jedes \section schreiben, statt einfach die Klasse zu wechseln und \chapter zu verwenden. Genauso kennen viele Leute nicht den Unterschied zwischen report und book.

Verfasst: Do 17. Sep 2015, 18:09
von Johannes_B

Verfasst: Fr 18. Sep 2015, 12:23
von cgnieder
Kann man den Titel des Threads von -bitte löschen, wird aufgeteilt- in was sinnvolleres ändern? So hat er mit dem Thread nichts zu tun…

Verfasst: Fr 18. Sep 2015, 12:39
von matze
Ich hatte den Titel entsprechend editiert, damit das Thema gelöscht wird (da ich die Fragen einzeln stelle/n werde und dieser Thread somit überflüssig ist).

Ich habe nun den alten Titel wieder eingefügt.

Verfasst: Fr 18. Sep 2015, 17:53
von Johannes_B
Es sind trotzdem für andere nützliche Informationen enthalten. Allerdings habe ich vergessen das Thema zu ändern.