[Tex/LaTex] How to use \input and \include with biblatex (biber backend)

biblatexincludeinput

I have a document with external files. The only reason I am using external files is to make it easier to organize my large project. I have taken a small piece of the larger project and attempted to give a concise overview of the problem. I have found similar queries, but they have not adequately addressed the issue. The two that I found:

  1. BibTeX not working with \input or \include (closed)

  2. Including a .bib file with \input does not work

Normally I would create a nice single piece of code to add below. In this case, however, it would defeat the purpose of the question. I have included 3 pieces below—the main document, the included document (arbitrarily using \input or \include), and the bibliography file.

When typesetting with TeX Live 2012, I receive the following error message:

Argument of \language@active@arg" has an extra }.

^^I\input{"Argument of Expert Opinion.tex"}

UPDATE: There are two problems with the code below:

  1. quotes need to be preceded by \string e.g. \string"file name with spaces.tex\string" (huge thanks to David Carlisle below!)
  2. The slide with \parencite{Reed2007} did not have any text (besides the environments) see comments below.

Main Document:

\documentclass[handout]{beamer}
\usepackage{fontspec}


\usetheme{Berlin}
\usecolortheme{beaver}
\setbeamerfont*{frametitle}{size=\normalsize}
\setbeamertemplate{navigation symbols}{}

\newenvironment{conclusion}{\begin{block}<2->{Schluss}}{\end{block}}

% Bibliography Stuff
\usepackage{csquotes}%must be before babel
\usepackage[german]{babel}%the bibliography locale must be before biblatex
\usepackage[backend=biber,style=authoryear]{biblatex}
\DeclareLanguageMapping{german}{german-apa}%after biblatex, important
\addbibresource{./bibexport.bib}%needs .bib extension, location of bib file

\usepackage{xparse}
\NewDocumentEnvironment{premise}{O{}}{%
% Start code with optional #1
\begin{block}
<2->{Ansatz #1}
}{%
%  End code with optional #1
\end{block}
}

\begin{document}
        
\section{Schema der Argumenten}
    \input{"Argument of Expert Opinion.tex"}

\section{Bibliography}
    \begin{frame}
        \printbibliography
    \end{frame}
\end{document}

Slide for include: (Argument of Expert Opinion.tex)

\begin{frame}
\frametitle{Scheme for Argument from Expert Opinion}
    \begin{premise}[Major Premise]
        Quelle E ist ein Sachkenner in Fach F, der sich Aussage A befasst
    \end{premise}
    \begin{premise}[Minor Premise]
        E behauptet, dass Aussage A (in Fach F) wahr ist (oder nicht wahr)
    \end{premise}
    \begin{conclusion}
        A ist möglicherweise wahr (oder nicht wahr)
    \end{conclusion}
    \parencite{Reed2007}
\end{frame}

Bibliography: (bibexport.bib)

@article{Reed2007,
author = {Reed, Chris and Walton, Douglas},
title = {{Argumentation Schemes in Dialogue}},
year = {2007},
pages = {1--11},
month = oct
}

Best Answer

You are using a babel language that gives " a special shorthand meaning which is confusing \input. It is simplest not to use spaces in file names then you can just remove "

\input{"Bibliography.tex"}

should be simply

\input{Bibliography}

If you must use spaces in file names for some reason then you can probably do

\input{\string"Argument of Expert Opinion.tex\string"}