Makro variabel gestalten

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Makro variabel gestalten

von cgnieder » Fr 25. Mär 2016, 13:44

% definiert \inputpicture mit 3 Argumenten, dabei ist:
% #1: die Bilddatei
% #2: der Titel
% #3: die Beschriftung
\newcommand{\inputpicture}[3]{%
  % \begin{table}[] soll das wirklich gleiten? Wenn nicht -- {table}-Umgebung
  % weglassen
  \begin{tabular}{|l|}
    \hline
      \bfseries\textcolor{green}{#2}
      \cellcolor{brightgreen} \hspace{12cm} \\
    \hline
      \includegraphics[width=0.6\textwidth]{#1} \\
    \hline
      \bfseries\footnotesize\textcolor{gray}{#3}
      \cellcolor{brightgray} \\
    \hline
  \end{tabular}%
  % \end{table}
}

% Verwendung:
\inputpicture{bild1.png}{Titel von Bild 1}{Beschriftung von Bild1.}
Ob das ganze so sinnvoll ist oder ob eine andere Lösung nicht geschickter wäre, lässt sich ohne Minimalbeispiel nicht beurteilen.

Grüße

von Johannes_B » Mi 2. Dez 2015, 10:30

Folge doch einfach dem Link von Besserwisser, den hat er ja wohl nicht ohne Grund dahin gesetzt.

Lies eine Einführung. Was du hier momentan präsentierst ist quatsch.

von maxmuster » Mi 2. Dez 2015, 10:24

Hi

ja das mit den Argumenten scheint mir einleuchtend.

Also ist es dann möglich, so zusagen einen \inputpicture Befehl zu erstellen, bei welchem der User dann diese 3 Inputs eingeben muss also

\inputpicture{picture.png}{Titel}{Beschreibung}


So etwa hab ich mir das vorgestellt, nur komme ich mit den Argumenten noch nicht ganz draus, könntest du mir da helfen?

Wegen Minimalbeispiel:

Was ist denn noch erforderlich, ausser diesen Packages hab ich ja nichts eingefügt und ausserdem hat der Rest des Codes doch gar keinen Einfluss auf dies? Es gibt ja keine Fehler die mit dem Problem zu tun haben.


Edit: Das mit [table] hab ich versucht, nur gibt er mir dann keine Farbe aus sondern schreibt in die Zelle einfach nur "gray"...

BTW

von Besserwisser » Mi 2. Dez 2015, 10:18

Der Kommentar beim Laden von setspace ist falsch!

Statt xcolor und colortbl getrennt zu laden, sollte man lieber xcolor mit Option table laden.

Bevor du dich an an eine Vorlage machst, solltest du vielleicht die Grundlagen lernen und diese an einem Beispieldokument testen …

von Besserwisser » Mi 2. Dez 2015, 10:14

In permanenter Ermangelung eines Minimalbeispiel würde ich schlicht sagen: Warum definierst du nicht von vornherein einen Befehl mit drei Argumenten? Wobei ich ohnehin den starken Verdacht habe, dass du eigentlich etwas wie tcolorbox suchst.

Makro variabel gestalten

von maxmuster » Mi 2. Dez 2015, 10:07

Hallo zusammen

Um Grafiken nach einem bestellen Prinzip einzufügen, habe ich ein \newcommand erstellt. Dieser sieht folgendermassen aus:
\newcommand{\inputpictureone}{\begin{table}[]
\begin{tabular}{|l|}
\hline
\textbf{\textcolor{green}\pictureonetitle} \cellcolor{brightgreen} \hspace{12cm}    \\ \hline 
 \includegraphics[width=0.6\textwidth]{\pictureone}       \\ \hline
\footnotesize\textbf{\textcolor{gray}\pictureonecaption}\cellcolor{brightgray} \\ \hline
\end{tabular}
\end{table}}

Es geht mir bei meiner Frage aber nicht um den Code, denn grundsätzlich funktioniert alles. Nun möchte ich ein zweites Bild einfügen, und darum habe ich diesen Befehl nochmal einem \newcommand zugeordnet, in welchem dann einfach die Texte und das Bild anders sind, also sieht das dann etwa so aus:
\newcommand{\inputpicturetwo}{\begin{table}[]
\begin{tabular}{|l|}
\hline
\textbf{\textcolor{green}\pictureonetitle} \cellcolor{brightgreen} \hspace{12cm}    \\ \hline 
 \includegraphics[width=0.6\textwidth]{\picturetwo}       \\ \hline
\footnotesize\textbf{\textcolor{gray}\picturecaptiontwo}\cellcolor{brightgray} \\ \hline
\end{tabular}
\end{table}}
Sprich: Nur \inputpicturetwo, \pictureonetitle und \picturecaptiontwo sind neu ( da das Bild ja neu ist und die Beschriftungen anders ).

Auch dies funktioniert wunderbar, nur ist es mühsam, dies für sagen wir 15 Bilder immer zu wiederholen. Gibt es irgendeine Möglichkeit dies etwas variabler zu gestalten?

Zu meinem Code:

Classfile:
% CLASS - FILE

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{classfile}[27.11.2015 Vorlage]
\LoadClass[10pt,a4paper]{article}

\RequirePackage{sectsty}  				% loads the title package 
\RequirePackage{fontspec} 		    % loads the title package 
\RequirePackage{geometry} 			  % loads the geometry package 
\RequirePackage{marginnote} 			% loads the margin package 
\RequirePackage[doublespacing]{setspace} % loads the package to have a 1.5 line spacing
\RequirePackage{eso-pic}
\RequirePackage{xcolor,colortbl}


Das sind alle Packages die ich verwende; ich hoffe das genügt an Informationen.


Vielen Dank im Voraus[/code]

Nach oben