<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def search_for_book_in_misc(citation, kbs):
 """Searches for books in the misc_txt field if the citation is not recognized as anything like a journal, book, etc. """

    citation_year = year_from_citation(citation)
    for citation_element in citation:
        LOGGER.debug(u"Searching for book title in: %s", citation_element['misc_txt'])
        for title in kbs['books']:
            startIndex = find_substring_ignore_special_chars(citation_element['misc_txt'], title)
            if startIndex != -1:
                line = kbs['books'][title.upper()]
                book_year = line[2].strip(';')
                book_authors = line[0]
                book_found = False
                if citation_year == book_year:
                    # For now consider the citation as valid, we are using
                    # an exact search, we don't need to check the authors
                    # However, the code below will be useful if we decide
                    # to introduce fuzzy matching.
                    book_found = True

                    for author in get_possible_author_names(citation):
                        if find_substring_ignore_special_chars(book_authors, author) != -1:
                            book_found = True

                    for author in re.findall('[a-zA-Z]{4,}', book_authors):
                        if find_substring_ignore_special_chars(citation_element['misc_txt'], author) != -1:
                            book_found = True

                    if book_found:
                        LOGGER.debug(u"Book found: %s", title)
                        book_element = {'type': 'BOOK',
                                        'misc_txt': '',
                                        'authors': book_authors,
                                        'title': line[1],
                                        'year': book_year}
                        citation.append(book_element)
                        citation_element['misc_txt'] = cut_substring_with_special_chars(citation_element['misc_txt'], title, startIndex)
                        # Remove year from misc txt
                        citation_element['misc_txt'] = remove_year(citation_element['misc_txt'], book_year)
                        return True

        LOGGER.debug("Book not found!")

    return False